{"id":45652,"date":"2026-11-12T09:06:00","date_gmt":"2026-11-12T06:06:00","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/dribbble-gorsel-urlleri-imgproxy-secenekleri-vary-accept-ve-yeniden-boyutlandirmayi-es-gecen-shotlar\/"},"modified":"2026-11-12T09:06:23","modified_gmt":"2026-11-12T06:06:23","slug":"dribbble-gorsel-urlleri-imgproxy-secenekleri-vary-accept-ve-yeniden-boyutlandirmayi-es-gecen-shotlar","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/dribbble-gorsel-urlleri-imgproxy-secenekleri-vary-accept-ve-yeniden-boyutlandirmayi-es-gecen-shotlar\/","title":{"rendered":"Dribbble G\u00f6rsel URL&#8217;leri: imgproxy Se\u00e7enekleri, Vary: Accept ve Yeniden Boyutland\u0131rmay\u0131 Es Ge\u00e7en Shot&#8217;lar"},"content":{"rendered":"<h2>Dribbble G\u00f6rsel URL&#8217;leri: imgproxy Se\u00e7enekleri, Vary: Accept ve Yeniden Boyutland\u0131rmay\u0131 Es Ge\u00e7en Shot&#8217;lar<\/h2>\n<p>G\u00f6rsel optimizasyonu, web performans\u0131n\u0131n temel ta\u015flar\u0131ndan biridir. Peki, Dribbble gibi pop\u00fcler platformlarda g\u00f6rsellerin nas\u0131l sunuldu\u011funu ve bu sunumun arkas\u0131nda yatan teknikleri ne kadar biliyoruz? \u00d6zellikle <code>imgproxy<\/code> gibi ara\u00e7lar\u0131n kullan\u0131m\u0131, <code>Vary: Accept<\/code> ba\u015fl\u0131\u011f\u0131n\u0131n \u00f6nemi ve baz\u0131 <code>shot<\/code>&#8216;lar\u0131n yeniden boyutland\u0131rmay\u0131 neden es ge\u00e7ti\u011fi gibi detaylar, g\u00f6rsellerin web sitelerindeki etkisini anlamak i\u00e7in kritik \u00f6neme sahiptir. Bu makalede, Dribbble&#8217;\u0131n g\u00f6rsel URL yap\u0131s\u0131n\u0131 derinlemesine inceleyerek, bu karma\u015f\u0131k g\u00f6r\u00fcnen sistemin perde arkas\u0131n\u0131 ayd\u0131nlataca\u011f\u0131z.<\/p>\n<p>Web sitelerinin h\u0131zl\u0131 y\u00fcklenmesi, kullan\u0131c\u0131 deneyimi ve arama motoru s\u0131ralamalar\u0131 \u00fczerinde do\u011frudan bir etkiye sahiptir. Bu ba\u011flamda, g\u00f6rsellerin boyutu, format\u0131 ve sunulma \u015fekli b\u00fcy\u00fck \u00f6nem ta\u015f\u0131r. Dribbble, yarat\u0131c\u0131 profesyonellerin portf\u00f6ylerini sergiledi\u011fi bir platform olarak, her g\u00fcn milyonlarca g\u00f6rseli kullan\u0131c\u0131lar\u0131na ula\u015ft\u0131rmaktad\u0131r. Bu kadar yo\u011fun bir g\u00f6rsel trafi\u011fini y\u00f6netirken, performans ve esneklikten \u00f6d\u00fcn vermemek i\u00e7in \u00f6zel teknikler kullan\u0131l\u0131r. \u0130\u015fte bu noktada, Dribbble&#8217;\u0131n kulland\u0131\u011f\u0131 g\u00f6rsel URL yap\u0131s\u0131 ve arkas\u0131ndaki imgproxy gibi ara\u00e7lar devreye girer. Bu yap\u0131y\u0131 anlamak, sadece Dribbble&#8217;\u0131n nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 de\u011fil, ayn\u0131 zamanda kendi projelerinizde g\u00f6rsel optimizasyonunu nas\u0131l daha etkili hale getirebilece\u011finizi de \u00f6\u011frenmenizi sa\u011flayacakt\u0131r.<\/p>\n<p>Bu makale, Dribbble&#8217;\u0131n g\u00f6rsel URL&#8217;lerinin ard\u0131ndaki s\u0131rlar\u0131, <code>imgproxy<\/code>&#8216;nin sundu\u011fu esneklik ve yetenekleri, <code>Vary: Accept<\/code> ba\u015fl\u0131\u011f\u0131n\u0131n neden kritik oldu\u011funu ve bazen neden g\u00f6rsel boyutland\u0131rman\u0131n yap\u0131lmad\u0131\u011f\u0131n\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayacakt\u0131r. Konuya s\u0131f\u0131rdan ba\u015flayanlar i\u00e7in temel kavramlardan ba\u015flay\u0131p, daha deneyimli geli\u015ftiriciler i\u00e7in ileri d\u00fczey ipu\u00e7lar\u0131na kadar geni\u015f bir yelpazede bilgi sunmay\u0131 hedefliyoruz. Amac\u0131m\u0131z, bu teknikleri samimi ama profesyonel bir dille anlatarak, okuyucunun konuyu tam olarak kavramas\u0131n\u0131 sa\u011flamakt\u0131r.<\/p>\n<h2>Dribbble G\u00f6rsel URL Yap\u0131s\u0131n\u0131 Anlamak: Temeller<\/h2>\n<p>Dribbble&#8217;da bir g\u00f6rseli inceledi\u011finizde, URL&#8217;nin olduk\u00e7a karma\u015f\u0131k ve parametrelerle dolu oldu\u011funu fark edersiniz. Bu karma\u015f\u0131kl\u0131k, rastgelelikten de\u011fil, belirli bir amaca hizmet eden bir sistemden kaynaklanmaktad\u0131r. Dribbble&#8217;\u0131n g\u00f6rsel URL&#8217;leri, temel olarak bir <code>imgproxy<\/code> (veya benzeri bir g\u00f6rsel i\u015fleme proxy&#8217;si) arac\u0131l\u0131\u011f\u0131yla dinamik olarak olu\u015fturulan ve \u00f6zelle\u015ftirilen g\u00f6rsellere i\u015faret eder. Bu yakla\u015f\u0131m\u0131n arkas\u0131ndaki ana fikir, her g\u00f6rselin farkl\u0131 ihtiya\u00e7lara g\u00f6re farkl\u0131 boyutlarda, formatlarda ve kalitelerde sunulabilmesidir. \u00d6rne\u011fin, bir g\u00f6rselin k\u00fc\u00e7\u00fck bir \u00f6nizlemesi, tam ekran bir g\u00f6r\u00fcn\u00fcm\u00fc veya farkl\u0131 ekran boyutlar\u0131na uyarlanm\u0131\u015f bir versiyonu gerekebilir. T\u00fcm bu varyasyonlar\u0131 \u00f6nceden olu\u015fturup depolamak yerine, <code>imgproxy<\/code> sayesinde istenildi\u011finde ger\u00e7ek zamanl\u0131 olarak \u00fcretilirler. Bu, hem depolama alan\u0131ndan tasarruf sa\u011flar hem de g\u00fcncellemelerin daha kolay y\u00f6netilmesini m\u00fcmk\u00fcn k\u0131lar.<\/p>\n<p>Temel bir Dribbble g\u00f6rsel URL&#8217;si genellikle \u015fu yap\u0131ya benzer: <code>https:\/\/cdn.dribbble.com\/users\/<code>[kullan\u0131c\u0131_id]<\/code>\/screenshots\/<code>[shot_id]<\/code>\/<code>[g\u00f6rsel_ad\u0131]<\/code>.<code>[format]<\/code><\/code>. Ancak, bu temel yap\u0131ya eklenen parametreler, i\u015fin as\u0131l ilgin\u00e7le\u015fti\u011fi yerdir. Bu parametreler, g\u00f6rselin nas\u0131l i\u015flenece\u011fini belirleyen komutlar gibidir. \u00d6rne\u011fin, belirli bir geni\u015flik ve y\u00fckseklik belirtilebilir, kalite ayarlanabilir, hatta g\u00f6rsel \u00fczerine metin veya filigran eklenebilir. Bu esneklik, Dribbble&#8217;\u0131n farkl\u0131 cihazlar ve kullan\u0131m senaryolar\u0131 i\u00e7in en uygun g\u00f6rseli sunmas\u0131na olanak tan\u0131r. Ayr\u0131ca, farkl\u0131 taray\u0131c\u0131lar\u0131n ve istemcilerin destekledi\u011fi formatlar\u0131 (\u00f6rne\u011fin, WebP, JPEG, PNG) dinamik olarak se\u00e7me yetene\u011fi de bu sistemin bir par\u00e7as\u0131d\u0131r. Bu, performans\u0131 art\u0131rmak ve bant geni\u015fli\u011fini optimize etmek i\u00e7in \u00e7ok \u00f6nemlidir.<\/p>\n<p>Dribbble&#8217;\u0131n bu yakla\u015f\u0131m\u0131, modern web geli\u015ftirme pratikleriyle de uyumludur. CDN (Content Delivery Network &#8211; \u0130\u00e7erik Da\u011f\u0131t\u0131m A\u011f\u0131) kullan\u0131m\u0131, g\u00f6rsellerin kullan\u0131c\u0131lara co\u011frafi olarak en yak\u0131n sunucudan servis edilmesini sa\u011flayarak y\u00fckleme s\u00fcrelerini k\u0131salt\u0131r. <code>imgproxy<\/code> gibi ara\u00e7lar ise, bu CDN \u00fczerinde dinamik g\u00f6rsel i\u015fleme yetenekleri sunar. Bu, geli\u015ftiricilere b\u00fcy\u00fck bir kontrol imkan\u0131 verirken, ayn\u0131 zamanda son kullan\u0131c\u0131lara da en optimize edilmi\u015f deneyimi sunmay\u0131 hedefler. K\u0131sacas\u0131, Dribbble&#8217;\u0131n g\u00f6rsel URL yap\u0131s\u0131, performans\u0131, esnekli\u011fi ve kullan\u0131c\u0131 deneyimini en \u00fcst d\u00fczeye \u00e7\u0131karmak i\u00e7in tasarlanm\u0131\u015f ak\u0131ll\u0131 bir sistemin sonucudur.<\/p>\n<h3>imgproxy Nedir ve Dribbble G\u00f6rselleri \u0130\u00e7in Neden \u00d6nemlidir?<\/h3>\n<p><code>imgproxy<\/code>, temel olarak bir g\u00f6rsel i\u015fleme (image processing) proxy&#8217;sidir. Ad\u0131ndan da anla\u015f\u0131laca\u011f\u0131 gibi, gelen g\u00f6rsel isteklerini al\u0131r, bunlar\u0131 belirtilen parametrelere g\u00f6re i\u015fler ve sonu\u00e7 olarak i\u015flenmi\u015f g\u00f6rseli d\u00f6nd\u00fcr\u00fcr. Dribbble ba\u011flam\u0131nda, bu, bir g\u00f6rselin orijinal dosyas\u0131n\u0131 al\u0131p, istenen boyutlara g\u00f6re yeniden boyutland\u0131rabilece\u011fi, kalitesini ayarlayabilece\u011fi, format\u0131n\u0131 de\u011fi\u015ftirebilece\u011fi (\u00f6rne\u011fin, JPEG&#8217;den WebP&#8217;ye d\u00f6n\u00fc\u015ft\u00fcrebilece\u011fi) veya hatta \u00fczerine filigran ekleyebilece\u011fi anlam\u0131na gelir. Bu s\u00fcre\u00e7, sunucu taraf\u0131nda ger\u00e7ekle\u015fir ve istemciye (taray\u0131c\u0131ya) sadece istenen sonucu sunar. Bu, hem geli\u015ftiriciler i\u00e7in b\u00fcy\u00fck bir kolayl\u0131k sa\u011flar hem de son kullan\u0131c\u0131lar\u0131n daha h\u0131zl\u0131 y\u00fcklenen ve daha optimize edilmi\u015f g\u00f6rseller g\u00f6rmesini sa\u011flar.<\/p>\n<p><code>imgproxy<\/code>&#8216;nin sundu\u011fu ba\u015fl\u0131ca avantajlardan biri, &#8220;on-the-fly&#8221; (an\u0131nda veya o anda) g\u00f6rsel i\u015fleme yetene\u011fidir. Yani, t\u00fcm olas\u0131 g\u00f6rsel varyasyonlar\u0131n\u0131 \u00f6nceden olu\u015fturup depolamak yerine, bir istek geldi\u011finde bu i\u015fleme yap\u0131l\u0131r. Bu, \u00f6zellikle \u00e7ok say\u0131da farkl\u0131 boyut ve formatta g\u00f6rsel gerektiren projeler i\u00e7in inan\u0131lmaz derecede verimlidir. \u00d6rne\u011fin, bir web sitesinde bir g\u00f6rsel hem ana sayfada k\u00fc\u00e7\u00fck bir \u00f6nizleme olarak, hem \u00fcr\u00fcn detay sayfas\u0131nda orta boyutta, hem de tam ekran galeri g\u00f6r\u00fcn\u00fcm\u00fcnde b\u00fcy\u00fck olarak kullan\u0131labilir. <code>imgproxy<\/code> ile bu \u00fc\u00e7 farkl\u0131 versiyon, orijinal tek bir g\u00f6rsel dosyas\u0131ndan dinamik olarak \u00fcretilebilir. Bu yakla\u015f\u0131m, depolama maliyetlerini d\u00fc\u015f\u00fcr\u00fcr ve i\u00e7erik y\u00f6netimini basitle\u015ftirir. Dribbble gibi b\u00fcy\u00fck bir platformda, bu \u00f6l\u00e7eklenebilirlik ve verimlilik hayati \u00f6nem ta\u015f\u0131r.<\/p>\n<p>Dribbble&#8217;\u0131n <code>imgproxy<\/code>&#8216;yi kullanmas\u0131n\u0131n bir di\u011fer \u00f6nemli nedeni de performans optimizasyonudur. Modern web siteleri, farkl\u0131 ekran boyutlar\u0131na ve \u00e7\u00f6z\u00fcn\u00fcrl\u00fcklere sahip cihazlarda kusursuz g\u00f6r\u00fcnmelidir. <code>imgproxy<\/code>, duyarl\u0131 g\u00f6rseller (responsive images) olu\u015fturmak i\u00e7in m\u00fckemmel bir ara\u00e7t\u0131r. Belirli bir cihaz\u0131n ekran geni\u015fli\u011fine g\u00f6re g\u00f6rselin boyutunu otomatik olarak ayarlayabilir. Ayr\u0131ca, taray\u0131c\u0131n\u0131n destekledi\u011fi en verimli format\u0131 (\u00f6rne\u011fin, WebP) otomatik olarak se\u00e7ebilir. WebP, JPEG ve PNG&#8217;ye k\u0131yasla genellikle daha k\u00fc\u00e7\u00fck dosya boyutlar\u0131 sunarken ayn\u0131 veya daha iyi g\u00f6rsel kalite sa\u011flar. Bu da sayfa y\u00fckleme s\u00fcrelerini \u00f6nemli \u00f6l\u00e7\u00fcde k\u0131salt\u0131r ve mobil kullan\u0131c\u0131lar i\u00e7in veri kullan\u0131m\u0131n\u0131 azalt\u0131r. K\u0131sacas\u0131, <code>imgproxy<\/code>, Dribbble&#8217;\u0131n g\u00f6rsellerini hem performansl\u0131 hem de esnek bir \u015fekilde sunmas\u0131n\u0131 sa\u011flayan temel bir teknolojidir.<\/p>\n<h3>imgproxy Parametreleri: URL&#8217;ler Nas\u0131l \u00d6zelle\u015ftirilir?<\/h3>\n<p>Dribbble g\u00f6rsel URL&#8217;lerindeki gizem, asl\u0131nda <code>imgproxy<\/code>&#8216;ye g\u00f6nderilen parametrelerde yatar. Bu parametreler, g\u00f6rselin nas\u0131l i\u015flenece\u011fine dair komutlar\u0131 i\u00e7erir ve genellikle URL&#8217;nin belirli bir b\u00f6l\u00fcm\u00fcnde yer al\u0131rlar. Bu parametreler, g\u00f6rselin boyutunu, kalitesini, k\u0131rpma (cropping) stilini, format\u0131n\u0131 ve hatta baz\u0131 durumlarda efektlerini belirleyebilir. Bu, geli\u015ftiricilere ve tasar\u0131mc\u0131lara, tam olarak ihtiya\u00e7 duyduklar\u0131 g\u00f6rseli elde etme konusunda inan\u0131lmaz bir esneklik sa\u011flar. \u00d6rne\u011fin, bir g\u00f6rselin belirli bir geni\u015fli\u011fe ve y\u00fcksekli\u011fe \u00f6l\u00e7eklenmesi istenebilir. Bu durumda, URL&#8217;ye <code>width=X&height=Y<\/code> gibi parametreler eklenebilir. Ancak, bu \u00f6l\u00e7ekleme s\u0131ras\u0131nda g\u00f6rselin en boy oran\u0131n\u0131n korunup korunmayaca\u011f\u0131 veya g\u00f6rselin nas\u0131l k\u0131rp\u0131laca\u011f\u0131 gibi detaylar da ayr\u0131ca belirtilebilir.<\/p>\n<p>Dribbble&#8217;\u0131n URL yap\u0131s\u0131nda, bu parametreler genellikle belirli bir d\u00fczende veya bir ay\u0131r\u0131c\u0131 karakterle ayr\u0131lm\u0131\u015f \u015fekilde bulunabilir. \u00d6rne\u011fin, bir g\u00f6rselin <code>800px<\/code> geni\u015fli\u011finde ve <code>600px<\/code> y\u00fcksekli\u011finde olmas\u0131n\u0131 istedi\u011fimizi varsayal\u0131m. Parametreler bu \u015fekilde g\u00f6r\u00fcnebilir: <code>\/filters:format(webp)\/rs:fit:800:600\/plain\/<\/code>. Buradaki <code>rs:fit:800:600<\/code> k\u0131sm\u0131, g\u00f6rselin 800&#215;600 boyutlar\u0131na s\u0131\u011fd\u0131r\u0131laca\u011f\u0131n\u0131 belirtir. <code>filters:format(webp)<\/code> ise g\u00f6rselin WebP format\u0131nda olmas\u0131n\u0131 istedi\u011fimizi g\u00f6sterir. Bu t\u00fcr parametreler, <code>imgproxy<\/code>&#8216;nin kendisi ve hangi yap\u0131land\u0131rman\u0131n kullan\u0131ld\u0131\u011f\u0131na ba\u011fl\u0131 olarak de\u011fi\u015fiklik g\u00f6sterebilir. Ancak temel mant\u0131k ayn\u0131d\u0131r: URL&#8217;ye eklenen talimatlar, g\u00f6rselin nas\u0131l sunulaca\u011f\u0131n\u0131 belirler.<\/p>\n<p>Bu parametrelerin g\u00fcc\u00fc, sadece boyutland\u0131rma ile s\u0131n\u0131rl\u0131 de\u011fildir. <code>imgproxy<\/code>, g\u00f6rsel kalitesini ayarlamak i\u00e7in de kullan\u0131labilir. \u00d6rne\u011fin, <code>quality=80<\/code> gibi bir parametre, g\u00f6rselin kalitesini %80 olarak ayarlayabilir. Bu, \u00f6zellikle mobil cihazlar veya d\u00fc\u015f\u00fck bant geni\u015fli\u011fine sahip kullan\u0131c\u0131lar i\u00e7in dosya boyutunu k\u00fc\u00e7\u00fcltmeye yard\u0131mc\u0131 olurken, g\u00f6rsel kalitesinden \u00e7ok fazla \u00f6d\u00fcn vermemeyi sa\u011flar. Ayr\u0131ca, <code>imgproxy<\/code>, g\u00f6rseli belirli bir merkezden veya k\u00f6\u015feden k\u0131rpmak (crop) i\u00e7in de se\u00e7enekler sunabilir. Bu, g\u00f6rselin belirli bir k\u0131sm\u0131n\u0131n \u00f6ne \u00e7\u0131kar\u0131lmas\u0131n\u0131 sa\u011flamak i\u00e7in olduk\u00e7a kullan\u0131\u015fl\u0131d\u0131r. K\u0131sacas\u0131, <code>imgproxy<\/code> parametreleri, Dribbble&#8217;\u0131n her bir g\u00f6rseli i\u00e7in sonsuz say\u0131da \u00f6zelle\u015ftirme imkan\u0131 sunan g\u00fc\u00e7l\u00fc bir ara\u00e7 setidir.<\/p>\n<p><strong>Vaka Analizi:<\/strong> Bir tasar\u0131mc\u0131, Dribbble&#8217;da bir ill\u00fcstrasyon payla\u015ft\u0131. Bu ill\u00fcstrasyonun hem ana sayfada k\u00fc\u00e7\u00fck bir \u00f6nizleme olarak, hem de kendi portf\u00f6y sayfas\u0131nda daha b\u00fcy\u00fck bir versiyon olarak g\u00f6sterilmesi gerekiyor. Geli\u015ftirici, bu iki farkl\u0131 boyut i\u00e7in tek bir g\u00f6rsel URL&#8217;si kullanabilir. \u00d6rne\u011fin, ana sayfa i\u00e7in <code>?w=200&h=150<\/code> gibi bir parametre ile k\u00fc\u00e7\u00fck bir versiyon, portf\u00f6y sayfas\u0131 i\u00e7in ise <code>?w=800&h=600<\/code> gibi bir parametre ile daha b\u00fcy\u00fck bir versiyon talep edilebilir. Bu, <code>imgproxy<\/code> taraf\u0131ndan dinamik olarak i\u015flenir ve tasar\u0131mc\u0131 her iki yerde de en uygun g\u00f6rseli g\u00f6r\u00fcr.<\/p>\n<h2>Vary: Accept Ba\u015fl\u0131\u011f\u0131 ve \u00d6nemli Rol\u00fc<\/h2>\n<p>Web sunucular\u0131n\u0131n ve proxy&#8217;lerinin, istemcilere do\u011fru i\u00e7eri\u011fi sunabilmesi i\u00e7in kulland\u0131\u011f\u0131 en \u00f6nemli mekanizmalardan biri <code>Vary<\/code> HTTP ba\u015fl\u0131\u011f\u0131d\u0131r. \u00d6zellikle <code>Vary: Accept<\/code> ba\u015fl\u0131\u011f\u0131, taray\u0131c\u0131n\u0131n veya arac\u0131 bir \u00f6nbelle\u011fin (cache), ayn\u0131 URL&#8217;ye yap\u0131lan farkl\u0131 istekleri, <code>Accept<\/code> ba\u015fl\u0131\u011f\u0131ndaki de\u011ferlere g\u00f6re farkl\u0131 \u015fekilde ele almas\u0131n\u0131 sa\u011flar. <code>Accept<\/code> ba\u015fl\u0131\u011f\u0131, istemcinin hangi medya t\u00fcrlerini (\u00f6rne\u011fin, <code>image\/webp<\/code>, <code>image\/jpeg<\/code>, <code>text\/html<\/code>) kabul edebilece\u011fini belirtir. <code>Vary: Accept<\/code> ba\u015fl\u0131\u011f\u0131, bir sunucunun veya proxy&#8217;nin, ayn\u0131 URL&#8217;ye yap\u0131lan bir iste\u011fin <code>Accept<\/code> ba\u015fl\u0131\u011f\u0131nda <code>image\/webp<\/code> belirtilmi\u015fse WebP format\u0131nda, <code>image\/jpeg<\/code> belirtilmi\u015fse JPEG format\u0131nda bir yan\u0131t d\u00f6nd\u00fcrece\u011fini ve bu farkl\u0131 yan\u0131tlar\u0131 ayr\u0131 ayr\u0131 \u00f6nbelle\u011fe alaca\u011f\u0131n\u0131 ifade eder.<\/p>\n<p>Bu ba\u015fl\u0131\u011f\u0131n Dribbble gibi g\u00f6rsel odakl\u0131 platformlar i\u00e7in \u00f6nemi b\u00fcy\u00fckt\u00fcr. G\u00fcn\u00fcm\u00fczde taray\u0131c\u0131lar, WebP gibi daha modern ve verimli g\u00f6rsel formatlar\u0131n\u0131 desteklemektedir. Ancak t\u00fcm taray\u0131c\u0131lar veya t\u00fcm kullan\u0131c\u0131lar\u0131n cihazlar\u0131 bu formatlar\u0131 desteklemeyebilir. <code>Vary: Accept<\/code> ba\u015fl\u0131\u011f\u0131 sayesinde, bir taray\u0131c\u0131 <code>Accept: image\/webp<\/code> ile istek yapt\u0131\u011f\u0131nda, <code>imgproxy<\/code> (veya arkas\u0131ndaki sistem) g\u00f6rseli WebP olarak sunar ve bu yan\u0131t \u00f6nbelle\u011fe al\u0131n\u0131r. Ba\u015fka bir taray\u0131c\u0131 <code>Accept: image\/jpeg<\/code> ile istek yapt\u0131\u011f\u0131nda ise, ayn\u0131 g\u00f6rsel JPEG olarak sunulur ve bu da ayr\u0131 bir \u00f6nbellek girdisi olu\u015fturur. Bu, her kullan\u0131c\u0131n\u0131n kendi taray\u0131c\u0131s\u0131n\u0131n destekledi\u011fi en iyi format\u0131 almas\u0131n\u0131 sa\u011flarken, \u00f6nbelle\u011fin de verimli kullan\u0131lmas\u0131n\u0131 sa\u011flar. E\u011fer <code>Vary: Accept<\/code> ba\u015fl\u0131\u011f\u0131 do\u011fru \u015fekilde ayarlanmam\u0131\u015f olsayd\u0131, bir taray\u0131c\u0131 i\u00e7in \u00f6nbelle\u011fe al\u0131nan JPEG g\u00f6rseli, WebP&#8217;yi destekleyen ba\u015fka bir taray\u0131c\u0131ya da ayn\u0131 \u015fekilde sunulabilir ve bu da performans kayb\u0131na yol a\u00e7abilirdi.<\/p>\n<p><code>Vary: Accept<\/code> ba\u015fl\u0131\u011f\u0131n\u0131n do\u011fru kullan\u0131m\u0131, \u00f6nbellek isabet oran\u0131n\u0131 (cache hit rate) art\u0131rmak i\u00e7in de kritiktir. E\u011fer sunucu, farkl\u0131 <code>Accept<\/code> ba\u015fl\u0131klar\u0131na sahip istekleri ayn\u0131 \u00f6nbellek girdisiyle e\u015fle\u015ftirirse, bu durum istenmeyen sonu\u00e7lara yol a\u00e7abilir. \u00d6rne\u011fin, WebP&#8217;yi desteklemeyen bir kullan\u0131c\u0131ya, WebP format\u0131nda \u00f6nbelle\u011fe al\u0131nm\u0131\u015f bir g\u00f6rsel sunulabilir, bu da taray\u0131c\u0131n\u0131n g\u00f6rseli g\u00f6sterememesine neden olur. <code>Vary: Accept<\/code> ba\u015fl\u0131\u011f\u0131, bu t\u00fcr uyumluluk sorunlar\u0131n\u0131 \u00f6nleyerek, her iste\u011fin do\u011fru \u00f6nbellek girdisiyle e\u015fle\u015fmesini sa\u011flar. Bu, \u00f6zellikle CDN (Content Delivery Network) gibi da\u011f\u0131t\u0131k \u00f6nbellekleme sistemlerinde daha da \u00f6nemlidir, \u00e7\u00fcnk\u00fc bu sistemler, farkl\u0131 co\u011frafi konumlardaki ve farkl\u0131 yap\u0131land\u0131rmalardaki istemcilere hizmet verir.<\/p>\n<p>Sonu\u00e7 olarak, <code>Vary: Accept<\/code> ba\u015fl\u0131\u011f\u0131, modern web&#8217;de i\u00e7erik sunumunun inceliklerinden biridir. Dribbble gibi platformlar, bu ba\u015fl\u0131\u011f\u0131 ak\u0131ll\u0131ca kullanarak, her kullan\u0131c\u0131n\u0131n cihaz\u0131na ve taray\u0131c\u0131s\u0131na en uygun g\u00f6rsel format\u0131n\u0131 sunmay\u0131 ba\u015far\u0131r. Bu da hem kullan\u0131c\u0131 deneyimini iyile\u015ftirir hem de sunucu kaynaklar\u0131n\u0131n daha verimli kullan\u0131lmas\u0131n\u0131 sa\u011flar. Bu ba\u015fl\u0131\u011f\u0131n do\u011fru yap\u0131land\u0131r\u0131lmas\u0131, web performans\u0131n\u0131 optimize etmek isteyen her geli\u015ftirici i\u00e7in temel bir bilgidir.<\/p>\n<h3>Farkl\u0131 Formatlar\u0131n \u00d6nemi ve Taray\u0131c\u0131 Uyumlulu\u011fu<\/h3>\n<p>Web&#8217;de g\u00f6rsel formatlar\u0131n\u0131n \u00e7e\u015fitlili\u011fi, kullan\u0131c\u0131lara en iyi deneyimi sunmak i\u00e7in \u00f6nemli bir fakt\u00f6rd\u00fcr. Tarihsel olarak JPEG ve PNG, web g\u00f6rselleri i\u00e7in standart formatlar olmu\u015ftur. JPEG, \u00f6zellikle foto\u011fraflar gibi renk ge\u00e7i\u015flerinin yo\u011fun oldu\u011fu g\u00f6rseller i\u00e7in idealdir ve kay\u0131pl\u0131 s\u0131k\u0131\u015ft\u0131rma (lossy compression) uygulayarak dosya boyutunu k\u00fc\u00e7\u00fclt\u00fcr. PNG ise, \u015feffafl\u0131k (transparency) gerektiren grafikler, logolar veya metin i\u00e7eren g\u00f6rseller i\u00e7in daha uygundur ve genellikle kay\u0131ps\u0131z s\u0131k\u0131\u015ft\u0131rma (lossless compression) kullan\u0131r, bu da daha y\u00fcksek dosya boyutlar\u0131 anlam\u0131na gelebilir. Ancak teknoloji ilerledik\u00e7e, daha verimli formatlar ortaya \u00e7\u0131km\u0131\u015ft\u0131r.<\/p>\n<p>WebP, Google taraf\u0131ndan geli\u015ftirilen ve hem kay\u0131pl\u0131 hem de kay\u0131ps\u0131z s\u0131k\u0131\u015ft\u0131rma sunan bir formatt\u0131r. WebP, ayn\u0131 g\u00f6rsel kaliteyi JPEG ve PNG&#8217;ye k\u0131yasla daha k\u00fc\u00e7\u00fck dosya boyutlar\u0131nda sunabilir. Bu, \u00f6zellikle mobil cihazlarda ve d\u00fc\u015f\u00fck bant geni\u015fli\u011fine sahip ba\u011flant\u0131larda web sitelerinin \u00e7ok daha h\u0131zl\u0131 y\u00fcklenmesini sa\u011flar. Ayr\u0131ca, WebP \u015feffafl\u0131\u011f\u0131 da destekler, bu da onu PNG&#8217;nin yerini alabilecek g\u00fc\u00e7l\u00fc bir alternatif haline getirir. AVIF (AV1 Image File Format) gibi daha yeni formatlar da, WebP&#8217;den bile daha iyi s\u0131k\u0131\u015ft\u0131rma oranlar\u0131 sunarak g\u00f6rsel performans\u0131n\u0131 daha da ileriye ta\u015f\u0131maktad\u0131r.<\/p>\n<p>Dribbble&#8217;\u0131n <code>imgproxy<\/code> ve <code>Vary: Accept<\/code> ba\u015fl\u0131\u011f\u0131n\u0131 kullanmas\u0131n\u0131n temel nedenlerinden biri de bu format \u00e7e\u015fitlili\u011fini y\u00f6netmektir. Bir taray\u0131c\u0131 <code>Accept: image\/webp<\/code> ba\u015fl\u0131\u011f\u0131yla istek yapt\u0131\u011f\u0131nda, <code>imgproxy<\/code> g\u00f6rseli WebP olarak i\u015fleyip sunar. E\u011fer taray\u0131c\u0131 sadece <code>Accept: image\/jpeg<\/code> veya <code>Accept: image\/*<\/code> gibi daha genel bir ba\u015fl\u0131kla istek yaparsa, sistem g\u00f6rseli daha yayg\u0131n olarak desteklenen bir formatta (\u00f6rne\u011fin JPEG) sunabilir. Bu, kullan\u0131c\u0131n\u0131n taray\u0131c\u0131s\u0131n\u0131n yeteneklerine g\u00f6re en uygun format\u0131n otomatik olarak se\u00e7ilmesini sa\u011flar. Bu dinamik format se\u00e7imi, hem performans optimizasyonu hem de geni\u015f taray\u0131c\u0131 uyumlulu\u011fu a\u00e7\u0131s\u0131ndan kritik \u00f6neme sahiptir.<\/p>\n<p>Taray\u0131c\u0131 uyumlulu\u011fu konusu, web geli\u015ftiricileri i\u00e7in her zaman \u00f6nemli bir konudur. Yeni formatlar piyasaya s\u00fcr\u00fcld\u00fck\u00e7e, t\u00fcm taray\u0131c\u0131lar\u0131n bunlar\u0131 desteklemesi zaman alabilir. Bu nedenle, <code>picture<\/code> etiketi veya <code>srcset<\/code> ve <code>sizes<\/code> \u00f6znitelikleri gibi HTML5 \u00f6zellikleri, farkl\u0131 formatlardaki ve boyutlardaki g\u00f6rselleri farkl\u0131 cihazlar ve taray\u0131c\u0131lar i\u00e7in sunmak amac\u0131yla kullan\u0131l\u0131r. Dribbble&#8217;\u0131n g\u00f6rsel URL yap\u0131s\u0131 ve arkas\u0131ndaki <code>imgproxy<\/code> sistemi, bu s\u00fcreci sunucu taraf\u0131nda daha verimli bir \u015fekilde y\u00f6netir. Yani, taray\u0131c\u0131ya sadece bir URL g\u00f6nderilir ve bu URL, arkada hangi format\u0131n en uygun olaca\u011f\u0131n\u0131 belirler. Bu, geli\u015ftiricilerin i\u015fini kolayla\u015ft\u0131r\u0131r ve kullan\u0131c\u0131lar\u0131n her zaman en optimize edilmi\u015f g\u00f6rseli g\u00f6rmesini sa\u011flar.<\/p>\n<p><strong>Vaka Analizi:<\/strong> Bir e-ticaret sitesi, \u00fcr\u00fcn g\u00f6rsellerini hem y\u00fcksek kalitede hem de h\u0131zl\u0131 y\u00fcklenir \u015fekilde sunmak istiyor. <code>imgproxy<\/code> kullanarak, her \u00fcr\u00fcn g\u00f6rseli i\u00e7in bir ana URL olu\u015fturulur. Bu URL, taray\u0131c\u0131n\u0131n <code>Accept<\/code> ba\u015fl\u0131\u011f\u0131na g\u00f6re WebP veya JPEG format\u0131nda g\u00f6rsel d\u00f6nd\u00fcrebilir. Ayr\u0131ca, farkl\u0131 ekran boyutlar\u0131 i\u00e7in de <code>width<\/code> ve <code>height<\/code> parametreleri ile \u00f6l\u00e7eklendirme yap\u0131l\u0131r. Bu sayede, masa\u00fcst\u00fc kullan\u0131c\u0131lar\u0131 y\u00fcksek \u00e7\u00f6z\u00fcn\u00fcrl\u00fckl\u00fc JPEG&#8217;ler al\u0131rken, mobil kullan\u0131c\u0131lar daha k\u00fc\u00e7\u00fck boyutlu ve WebP format\u0131nda g\u00f6rseller al\u0131rlar. Bu, hem veri kullan\u0131m\u0131n\u0131 azalt\u0131r hem de sayfa y\u00fckleme s\u00fcrelerini \u00f6nemli \u00f6l\u00e7\u00fcde iyile\u015ftirir.<\/p>\n<h2>Neden Baz\u0131 Shot&#8217;lar Yeniden Boyutland\u0131rmay\u0131 Es Ge\u00e7er?<\/h2>\n<p>Genellikle Dribbble&#8217;daki g\u00f6rseller, <code>imgproxy<\/code> taraf\u0131ndan sunulan boyutland\u0131rma ve optimizasyon \u00f6zelliklerinden yararlan\u0131r. Ancak, bazen belirli <code>shot<\/code>&#8216;lar\u0131n (Dribbble&#8217;daki proje payla\u015f\u0131mlar\u0131) orijinal boyutlar\u0131nda veya yeniden boyutland\u0131r\u0131lmadan sunuldu\u011fu durumlarla kar\u015f\u0131la\u015f\u0131labilir. Bunun birka\u00e7 temel nedeni olabilir. \u0130lk olarak, baz\u0131 g\u00f6rsellerin zaten optimize edilmi\u015f olmas\u0131 veya tasar\u0131mc\u0131n\u0131n g\u00f6rselin orijinal boyutunda sunulmas\u0131n\u0131 tercih etmesi s\u00f6z konusu olabilir. Belirli bir sanat eserinin veya detayl\u0131 bir ill\u00fcstrasyonun, orijinal boyutunda sunulmas\u0131, tasar\u0131mc\u0131n\u0131n vizyonunu tam olarak yans\u0131tmak a\u00e7\u0131s\u0131ndan \u00f6nemli olabilir. Yeniden boyutland\u0131rma, bazen g\u00f6rsel kalitesini d\u00fc\u015f\u00fcrebilir veya detaylar\u0131 kaybettirebilir.<\/p>\n<p>\u0130kinci olarak, performans optimizasyonu her zaman tek \u00f6ncelik olmayabilir. \u00d6zellikle Dribbble gibi yarat\u0131c\u0131 platformlarda, g\u00f6rselin estetik b\u00fct\u00fcnl\u00fc\u011f\u00fc ve sanat\u00e7\u0131n\u0131n amac\u0131 \u00f6n planda olabilir. E\u011fer bir g\u00f6rsel, orijinal boyutunda bile \u00e7ok b\u00fcy\u00fck de\u011filse veya belirli bir etkile\u015fim (\u00f6rne\u011fin, yak\u0131nla\u015ft\u0131rma) i\u00e7in orijinal boyutunda kalmas\u0131 gerekiyorsa, yeniden boyutland\u0131rma yap\u0131lmayabilir. Ayr\u0131ca, <code>imgproxy<\/code>&#8216;nin yap\u0131land\u0131rmas\u0131 veya belirli bir g\u00f6rsel i\u00e7in uygulanan kurallar da bu duruma etki edebilir. Belki de baz\u0131 g\u00f6rsel t\u00fcrleri i\u00e7in (\u00f6rne\u011fin, arka plan resimleri veya tam ekran tasar\u0131mlar) yeniden boyutland\u0131rma i\u015flemi uygulanm\u0131yordur.<\/p>\n<p>\u00dc\u00e7\u00fcnc\u00fc bir neden ise, bazen <code>imgproxy<\/code>&#8216;nin varsay\u0131lan ayarlar\u0131na veya g\u00fcvenlik protokollerine ba\u011fl\u0131 olarak baz\u0131 g\u00f6rsellerin do\u011frudan orijinal dosyalar\u0131 \u00fczerinden servis edilmesidir. Bu, \u00f6zellikle g\u00f6rselin i\u00e7eri\u011finin veya boyutunun hassas oldu\u011fu durumlarda veya <code>imgproxy<\/code>&#8216;nin i\u015fleme yeteneklerinin belirli bir format veya boyut i\u00e7in s\u0131n\u0131rl\u0131 oldu\u011fu durumlarda g\u00f6r\u00fclebilir. Ayr\u0131ca, geli\u015ftiricilerin veya platform y\u00f6neticilerinin, belirli durumlar i\u00e7in yeniden boyutland\u0131rma i\u015flemini manuel olarak devre d\u0131\u015f\u0131 b\u0131rakm\u0131\u015f olmalar\u0131 da m\u00fcmk\u00fcnd\u00fcr. Bu t\u00fcr durumlar, genellikle belirli bir amaca hizmet eder ve platformun genel i\u015fleyi\u015fini optimize etmek i\u00e7in al\u0131nm\u0131\u015f bilin\u00e7li kararlar\u0131n bir sonucudur.<\/p>\n<p>Son olarak, bazen URL&#8217;deki parametrelerin eksikli\u011fi veya yanl\u0131\u015f yap\u0131land\u0131r\u0131lmas\u0131 da g\u00f6rsellerin yeniden boyutland\u0131r\u0131lmadan sunulmas\u0131na neden olabilir. E\u011fer bir g\u00f6rselin URL&#8217;sinde boyutland\u0131rma veya format de\u011fi\u015fikli\u011fi ile ilgili herhangi bir parametre yoksa, <code>imgproxy<\/code> g\u00f6rseli orijinal haliyle d\u00f6nd\u00fcrebilir. Bu durum, \u00f6zellikle manuel olarak olu\u015fturulan veya otomatik sistemlerin bazen g\u00f6zden ka\u00e7\u0131rd\u0131\u011f\u0131 durumlarda ortaya \u00e7\u0131kabilir. Dribbble gibi b\u00fcy\u00fck platformlarda bu t\u00fcr hatalar\u0131n olas\u0131l\u0131\u011f\u0131 d\u00fc\u015f\u00fckt\u00fcr, ancak teknik sistemlerin karma\u015f\u0131kl\u0131\u011f\u0131 g\u00f6z \u00f6n\u00fcne al\u0131nd\u0131\u011f\u0131nda tamamen g\u00f6z ard\u0131 edilemez. \u00d6zetle, baz\u0131 g\u00f6rsellerin yeniden boyutland\u0131r\u0131lmadan sunulmas\u0131, genellikle estetik tercihler, performans dengeleri, teknik yap\u0131land\u0131rmalar veya g\u00fcvenlik \u00f6nlemleri gibi \u00e7e\u015fitli fakt\u00f6rlerin birle\u015fiminden kaynaklan\u0131r.<\/p>\n<h3>G\u00f6rsel Optimizasyonunda S\u00fcreklilik ve \u0130stisnalar<\/h3>\n<p>Web sitelerinde g\u00f6rsel optimizasyonu, s\u00fcrekli bir iyile\u015ftirme s\u00fcreci gerektirir. Kullan\u0131c\u0131lar\u0131n farkl\u0131 cihazlarda ve a\u011f ko\u015fullar\u0131nda en iyi deneyimi almas\u0131n\u0131 sa\u011flamak i\u00e7in g\u00f6rsellerin boyutland\u0131r\u0131lmas\u0131, s\u0131k\u0131\u015ft\u0131r\u0131lmas\u0131 ve do\u011fru formatta sunulmas\u0131 hayati \u00f6nem ta\u015f\u0131r. Dribbble&#8217;\u0131n <code>imgproxy<\/code> ve <code>Vary: Accept<\/code> ba\u015fl\u0131\u011f\u0131 gibi ara\u00e7lar\u0131 kullanarak bu optimizasyonu dinamik olarak yapmas\u0131, modern web geli\u015ftirmenin bir \u00f6rne\u011fidir. Ancak, bu optimizasyon s\u00fcrecinin her zaman kat\u0131 kurallara tabi olmad\u0131\u011f\u0131n\u0131 da belirtmek gerekir. Baz\u0131 durumlarda, g\u00f6rselin orijinal kalitesini korumak, sanat\u00e7\u0131n\u0131n niyetini yans\u0131tmak veya belirli bir etkile\u015fim \u00f6zelli\u011fini desteklemek i\u00e7in yeniden boyutland\u0131rma veya s\u0131k\u0131\u015ft\u0131rma i\u015flemleri atlanabilir.<\/p>\n<p>Bu istisnalar\u0131n anla\u015f\u0131lmas\u0131, web&#8217;deki g\u00f6rsel sunumunun sadece teknik bir konu olmad\u0131\u011f\u0131n\u0131, ayn\u0131 zamanda tasar\u0131m ve kullan\u0131c\u0131 deneyimi hedefleriyle de yak\u0131ndan ili\u015fkili oldu\u011funu g\u00f6sterir. \u00d6rne\u011fin, bir sanat galerisi web sitesinde, bir tablonun her pikselinin orijinal haliyle g\u00f6sterilmesi istenecek bir durum olabilir. Bu durumda, dosya boyutunun b\u00fcy\u00fckl\u00fc\u011f\u00fc ikinci planda kal\u0131r \u00e7\u00fcnk\u00fc g\u00f6rselin sanatsal de\u011feri \u00f6nceliklidir. Benzer \u015fekilde, Dribbble&#8217;da baz\u0131 tasar\u0131mlar, \u00f6zellikle detayl\u0131 \u00e7izimler veya karma\u015f\u0131k grafikler, yeniden boyutland\u0131r\u0131ld\u0131\u011f\u0131nda okunabilirli\u011fini veya estetik etkisini kaybedebilir. Bu gibi durumlarda, tasar\u0131mc\u0131lar\u0131n ve platformun, yeniden boyutland\u0131rmay\u0131 atlama veya daha az agresif s\u0131k\u0131\u015ft\u0131rma uygulama gibi se\u00e7enekleri de\u011ferlendirmesi mant\u0131kl\u0131d\u0131r.<\/p>\n<p><code>imgproxy<\/code> gibi ara\u00e7lar\u0131n esnekli\u011fi, bu t\u00fcr istisnalar\u0131 y\u00f6netmeyi kolayla\u015ft\u0131r\u0131r. Geli\u015ftiriciler, belirli URL desenleri veya g\u00f6rsel t\u00fcrleri i\u00e7in yeniden boyutland\u0131rma veya s\u0131k\u0131\u015ft\u0131rma kurallar\u0131n\u0131 atlayacak \u015fekilde <code>imgproxy<\/code>&#8216;yi yap\u0131land\u0131rabilirler. Bu, platformun genel optimizasyon stratejisinden sapmadan, \u00f6zel ihtiya\u00e7lar\u0131 kar\u015f\u0131lamaya olanak tan\u0131r. \u00d6rne\u011fin, <code>imgproxy<\/code>&#8216;ye g\u00f6nderilen bir istekte belirli bir boyut parametresi belirtilmezse veya belirli bir &#8220;kalite&#8221; parametresi yerine &#8220;orijinal kaliteyi koru&#8221; gibi bir komut kullan\u0131l\u0131rsa, g\u00f6rsel yeniden boyutland\u0131r\u0131lmadan sunulabilir. Bu t\u00fcr ince ayarlar, Dribbble&#8217;\u0131n hem performansl\u0131 hem de sanatsal a\u00e7\u0131dan zengin bir platform olmas\u0131n\u0131 sa\u011flar.<\/p>\n<p>Sonu\u00e7 olarak, Dribbble&#8217;daki g\u00f6rsellerin bazen yeniden boyutland\u0131rma i\u015flemini es ge\u00e7mesi, bir hata veya eksiklikten ziyade, bilin\u00e7li bir tasar\u0131m ve performans dengesi karar\u0131d\u0131r. Bu, platformun, farkl\u0131 kullan\u0131c\u0131 ihtiya\u00e7lar\u0131na ve g\u00f6rsel t\u00fcrlerine uyum sa\u011flama yetene\u011fini g\u00f6sterir. Bu t\u00fcr istisnalar\u0131n anla\u015f\u0131lmas\u0131, web&#8217;de g\u00f6rsel optimizasyonunun ne kadar \u00e7ok y\u00f6nl\u00fc bir konu oldu\u011funu ve sadece teknik kurallardan ibaret olmad\u0131\u011f\u0131n\u0131 bizlere hat\u0131rlat\u0131r. Her g\u00f6rselin kendine \u00f6zg\u00fc ihtiya\u00e7lar\u0131 vard\u0131r ve en iyi sonu\u00e7, bu ihtiya\u00e7lar\u0131 anlayarak ve do\u011fru ara\u00e7lar\u0131 kullanarak elde edilir.<\/p>\n<h2>\u0130leri D\u00fczey: Dribbble G\u00f6rsel URL&#8217;lerini Kendi Projelerinizde Kullanma<\/h2>\n<p>Dribbble&#8217;\u0131n g\u00f6rsel URL yap\u0131s\u0131n\u0131 ve arkas\u0131ndaki <code>imgproxy<\/code> mant\u0131\u011f\u0131n\u0131 anlamak, kendi web projelerinizde de benzer optimizasyon tekniklerini uygulaman\u0131za olanak tan\u0131r. Kendi sunucunuzda veya bir bulut hizmeti (\u00f6rne\u011fin, AWS S3 ile birlikte CloudFront veya \u00f6zel bir g\u00f6rsel i\u015fleme servisi) \u00fczerinde bir <code>imgproxy<\/code> benzeri ara\u00e7 kurarak, g\u00f6rsellerinizi dinamik olarak i\u015fleyebilir ve sunabilirsiniz. Bu, \u00f6zellikle duyarl\u0131 g\u00f6rseller (responsive images) olu\u015fturmak, farkl\u0131 cihazlar i\u00e7in optimize edilmi\u015f formatlar sunmak ve sayfa y\u00fckleme s\u00fcrelerini iyile\u015ftirmek istedi\u011finizde b\u00fcy\u00fck fayda sa\u011flar.<\/p>\n<p>\u00d6rne\u011fin, kendi projenizde <code>imgproxy<\/code>&#8216;yi veya benzer bir arac\u0131 (\u00f6rne\u011fin, ImageKit.io, Cloudinary gibi servisler de benzer i\u015flevler sunar) kullanmaya ba\u015flad\u0131\u011f\u0131n\u0131zda, URL&#8217;lere ekleyece\u011finiz parametrelerle g\u00f6rsellerin boyutunu, kalitesini ve format\u0131n\u0131 kontrol edebilirsiniz. Kendi <code>imgproxy<\/code> sunucunuzu kurmak yerine, bu t\u00fcr hizmetleri kullanmak genellikle daha kolayd\u0131r \u00e7\u00fcnk\u00fc altyap\u0131 y\u00f6netimiyle u\u011fra\u015fman\u0131z gerekmez. Bu hizmetler, genellikle Dribbble&#8217;\u0131n kulland\u0131\u011f\u0131na benzer URL tabanl\u0131 API&#8217;ler sunar. \u00d6rne\u011fin, bir g\u00f6rseli 500 piksel geni\u015fli\u011finde ve WebP format\u0131nda almak i\u00e7in URL&#8217;niz \u015f\u00f6yle g\u00f6r\u00fcnebilir: <code>https:\/\/your-image-service.com\/your-image.jpg?width=500&format=webp<\/code>. Bu, orijinal g\u00f6rsel dosyas\u0131n\u0131 al\u0131p, belirtilen parametrelere g\u00f6re i\u015fleyip size d\u00f6nd\u00fcrecektir.<\/p>\n<p>Duyarl\u0131 g\u00f6rseller (responsive images) olu\u015ftururken, bu dinamik URL&#8217;leri HTML&#8217;deki <code>&lt;picture&gt;<\/code> etiketi veya <code>srcset<\/code> \u00f6zniteli\u011fi ile birlikte kullanabilirsiniz. \u00d6rne\u011fin:<\/p>\n<div class=\"code-container\">\n<pre><code>&lt;picture&gt;\n      &lt;source srcset=\"https:\/\/your-image-service.com\/your-image.jpg?width=800&format=webp 800w,\n                      https:\/\/your-image-service.com\/your-image.jpg?width=1200&format=webp 1200w\"\n              type=\"image\/webp\"&gt;\n      &lt;source srcset=\"https:\/\/your-image-service.com\/your-image.jpg?width=800&format=jpeg 800w,\n                      https:\/\/your-image-service.com\/your-image.jpg?width=1200&format=jpeg 1200w\"\n              type=\"image\/jpeg\"&gt;\n      &lt;img src=\"https:\/\/your-image-service.com\/your-image.jpg?width=800\" alt=\"A\u00e7\u0131klama\"&gt;\n    &lt;\/picture&gt;<\/code><\/pre>\n<\/p><\/div>\n<p>Bu \u00f6rnekte, taray\u0131c\u0131 \u00f6ncelikle WebP format\u0131n\u0131 destekliyorsa, belirtilen geni\u015fliklerdeki WebP g\u00f6rsellerini deneyecektir. Desteklemiyorsa veya daha d\u00fc\u015f\u00fck \u00e7\u00f6z\u00fcn\u00fcrl\u00fckl\u00fc bir cihazdaysa, JPEG versiyonlar\u0131na veya varsay\u0131lan <code>img<\/code> etiketindeki g\u00f6rsele d\u00f6necektir. Bu, hem performans\u0131 art\u0131r\u0131r hem de t\u00fcm cihazlarda en iyi g\u00f6rsel deneyimi sunar.<\/p>\n<p>Ayr\u0131ca, <code>Vary: Accept<\/code> ba\u015fl\u0131\u011f\u0131n\u0131 sunucu taraf\u0131nda do\u011fru \u015fekilde yap\u0131land\u0131rd\u0131\u011f\u0131n\u0131zdan emin olun. E\u011fer bir CDN veya ters proxy (reverse proxy) kullan\u0131yorsan\u0131z, bu ba\u015fl\u0131\u011f\u0131n do\u011fru \u015fekilde iletildi\u011finden veya \u00f6nbellek anahtarlar\u0131n\u0131n buna g\u00f6re ayarland\u0131\u011f\u0131ndan emin olmal\u0131s\u0131n\u0131z. Bu, farkl\u0131 formatlardaki g\u00f6rsellerin ayr\u0131 ayr\u0131 \u00f6nbelle\u011fe al\u0131nmas\u0131n\u0131 ve her kullan\u0131c\u0131n\u0131n kendi taray\u0131c\u0131s\u0131n\u0131n destekledi\u011fi en uygun format\u0131 almas\u0131n\u0131 sa\u011flar. Kendi g\u00f6rsel i\u015fleme sisteminizi kurarken, bu t\u00fcr detaylara dikkat etmek, Dribbble&#8217;\u0131n sundu\u011fu gibi verimli ve \u00f6l\u00e7eklenebilir bir \u00e7\u00f6z\u00fcm olu\u015fturman\u0131za yard\u0131mc\u0131 olacakt\u0131r.<\/p>\n<h3>Performans ve Maliyet Dengesi<\/h3>\n<p>Dinamik g\u00f6rsel i\u015fleme ve sunumu, performans a\u00e7\u0131s\u0131ndan b\u00fcy\u00fck avantajlar sunarken, maliyetleri de g\u00f6z \u00f6n\u00fcnde bulundurmak \u00f6nemlidir. Kendi <code>imgproxy<\/code> sunucunuzu kurmak, ba\u015flang\u0131\u00e7ta yat\u0131r\u0131m gerektirebilir ve sunucu bak\u0131m\u0131, \u00f6l\u00e7eklendirme ve bant geni\u015fli\u011fi gibi operasyonel maliyetleri beraberinde getirir. Ancak, bu yakla\u015f\u0131m size tam kontrol sa\u011flar ve uzun vadede daha maliyet etkin olabilir, \u00f6zellikle de \u00e7ok y\u00fcksek trafik hacmi olan projeler i\u00e7in.<\/p>\n<p>Alternatif olarak, Cloudinary veya ImageKit.io gibi \u00fc\u00e7\u00fcnc\u00fc taraf g\u00f6rsel i\u015fleme servislerini kullanmak, altyap\u0131 y\u00f6netimi y\u00fck\u00fcn\u00fc ortadan kald\u0131r\u0131r. Bu servisler genellikle abonelik tabanl\u0131d\u0131r ve kullan\u0131m\u0131n\u0131za (i\u015flenen g\u00f6rsel say\u0131s\u0131, depolama alan\u0131, bant geni\u015fli\u011fi) g\u00f6re \u00fccretlendirilir. Ba\u015flang\u0131\u00e7ta daha uygun maliyetli olabilirler ve h\u0131zl\u0131 bir \u015fekilde entegre edilebilirler. Ancak, proje b\u00fcy\u00fcd\u00fck\u00e7e ve g\u00f6rsel kullan\u0131m\u0131n\u0131z artt\u0131k\u00e7a, maliyetler de artacakt\u0131r. Bu nedenle, projenizin \u00f6l\u00e7e\u011fini, b\u00fct\u00e7enizi ve teknik ekibinizin yeteneklerini g\u00f6z \u00f6n\u00fcnde bulundurarak en uygun \u00e7\u00f6z\u00fcm\u00fc se\u00e7mek \u00f6nemlidir.<\/p>\n<p>G\u00f6rsel optimizasyonunda maliyet ve performans dengesi, projenin \u00f6nceliklerine g\u00f6re de\u011fi\u015fir. E\u011fer ana hedef, sayfa y\u00fckleme s\u00fcrelerini minimuma indirmek ve kullan\u0131c\u0131 deneyimini en \u00fcst d\u00fczeye \u00e7\u0131karmaksa, dinamik g\u00f6rsel i\u015fleme ve do\u011fru format se\u00e7imi vazge\u00e7ilmezdir. Ancak, bu optimizasyonun maliyetini de y\u00f6netmek gerekir. \u00d6rne\u011fin, \u00e7ok s\u0131k de\u011fi\u015fmeyen veya \u00f6nbellekten verimli bir \u015fekilde sunulabilen g\u00f6rseller i\u00e7in daha basit optimizasyon y\u00f6ntemleri yeterli olabilir. \u00d6te yandan, s\u00fcrekli g\u00fcncellenen ve farkl\u0131 ba\u011flamlarda kullan\u0131lan g\u00f6rseller i\u00e7in dinamik i\u015fleme sistemleri ka\u00e7\u0131n\u0131lmazd\u0131r.<\/p>\n<p>Sonu\u00e7 olarak, Dribbble&#8217;\u0131n g\u00f6rsel sunum stratejisi, performans ve esnekli\u011fi \u00f6n planda tutar. Bu prensipleri kendi projelerinize uyarlarken, sundu\u011fu tekniklerin avantajlar\u0131n\u0131 ve olas\u0131 maliyetlerini dikkatlice de\u011ferlendirmek, ba\u015far\u0131l\u0131 bir web uygulamas\u0131 geli\u015ftirmek i\u00e7in kritik \u00f6neme sahiptir. Dinamik URL&#8217;ler, <code>imgproxy<\/code> benzeri ara\u00e7lar ve <code>Vary: Accept<\/code> ba\u015fl\u0131\u011f\u0131n\u0131n ak\u0131ll\u0131ca kullan\u0131m\u0131, g\u00f6rsellerinizi optimize etmek i\u00e7in g\u00fc\u00e7l\u00fc bir temel olu\u015fturur.<\/p>\n<h2>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h2>\n<ul>\n<li>\n<h3>Dribbble&#8217;\u0131n g\u00f6rsel URL&#8217;lerindeki parametreler ne anlama geliyor?<\/h3>\n<p>Bu parametreler, g\u00f6rsellerin nas\u0131l i\u015flenece\u011fini belirleyen komutlard\u0131r. \u00d6rne\u011fin, geni\u015flik, y\u00fckseklik, kalite, format (JPEG, WebP vb.) ve k\u0131rpma (crop) ayarlar\u0131 gibi detaylar\u0131 kontrol ederler. Bu sayede, g\u00f6rseller farkl\u0131 ekran boyutlar\u0131 ve kullan\u0131m senaryolar\u0131 i\u00e7in optimize edilir.<\/p>\n<\/li>\n<li>\n<h3>Vary: Accept ba\u015fl\u0131\u011f\u0131 neden \u00f6nemlidir?<\/h3>\n<p><code>Vary: Accept<\/code> ba\u015fl\u0131\u011f\u0131, sunucunun veya \u00f6nbelle\u011fin, taray\u0131c\u0131n\u0131n destekledi\u011fi farkl\u0131 medya t\u00fcrlerine (\u00f6rne\u011fin, WebP veya JPEG) g\u00f6re ayn\u0131 URL i\u00e7in farkl\u0131 yan\u0131tlar sunmas\u0131n\u0131 ve bunlar\u0131 ayr\u0131 ayr\u0131 \u00f6nbelle\u011fe almas\u0131n\u0131 sa\u011flar. Bu, her kullan\u0131c\u0131n\u0131n kendi taray\u0131c\u0131s\u0131n\u0131n destekledi\u011fi en verimli g\u00f6rsel format\u0131n\u0131 almas\u0131n\u0131 garantiler.<\/p>\n<\/li>\n<li>\n<h3>Her Dribbble g\u00f6rseli neden yeniden boyutland\u0131r\u0131lm\u0131yor?<\/h3>\n<p>Baz\u0131 g\u00f6rseller, tasar\u0131mc\u0131n\u0131n orijinal boyutunda sunulmas\u0131n\u0131 tercih etmesi, estetik b\u00fct\u00fcnl\u00fc\u011f\u00fcn korunmas\u0131 veya belirli etkile\u015fim \u00f6zellikleri nedeniyle yeniden boyutland\u0131rma i\u015fleminden muaf tutulabilir. Bu, bilin\u00e7li bir tasar\u0131m ve performans dengesi karar\u0131d\u0131r.<\/p>\n<\/li>\n<li>\n<h3>Kendi projelerimde Dribbble&#8217;\u0131n g\u00f6rsel URL yap\u0131s\u0131n\u0131 nas\u0131l kullanabilirim?<\/h3>\n<p>Kendi g\u00f6rsel i\u015fleme proxy&#8217;nizi kurarak veya Cloudinary, ImageKit.io gibi \u00fc\u00e7\u00fcnc\u00fc taraf servisleri kullanarak benzer bir sistem olu\u015fturabilirsiniz. Dinamik URL&#8217;ler arac\u0131l\u0131\u011f\u0131yla g\u00f6rsellerinizi boyutland\u0131rabilir, format\u0131n\u0131 de\u011fi\u015ftirebilir ve optimize edebilirsiniz.<\/p>\n<\/li>\n<li>\n<h3>WebP format\u0131 neden bu kadar pop\u00fcler hale geldi?<\/h3>\n<p>WebP, JPEG ve PNG&#8217;ye k\u0131yasla daha iyi s\u0131k\u0131\u015ft\u0131rma oranlar\u0131 sunarak ayn\u0131 g\u00f6rsel kalitesini daha k\u00fc\u00e7\u00fck dosya boyutlar\u0131nda elde etmeyi sa\u011flar. Bu, web sitesi performans\u0131n\u0131 art\u0131r\u0131r ve veri kullan\u0131m\u0131n\u0131 azalt\u0131r. Ayr\u0131ca \u015feffafl\u0131\u011f\u0131 da destekler.<\/p>\n<\/li>\n<\/ul>\n<p>#Teknoloji #WebGeli\u015ftirme #G\u00f6rselOptimizasyonu #imgproxy #HTTP<\/p>\n<div class=\"github-example-link\"><strong>\u00d6rnek kod:<\/strong> <a href=\"https:\/\/github.com\/fatihsoysalcom\/dribbble-image-url-imgproxy-explained\" target=\"_blank\" rel=\"noopener noreferrer\">github.com\/fatihsoysalcom\/dribbble-image-url-imgproxy-explained<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"G\u00f6rsel optimizasyonu, web performans\u0131n\u0131n temel ta\u015flar\u0131ndan biridir. Peki, Dribbble gibi pop\u00fcler platformlarda g\u00f6rsellerin nas\u0131l sunuldu\u011funu ve bu sunumun arkas\u0131nda yatan teknikleri ne kadar biliyoruz?","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-45652","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Dribbble G\u00f6rsel URL&#039;leri: imgproxy Se\u00e7enekleri, Vary: Accept ve Yeniden Boyutland\u0131rmay\u0131 Es Ge\u00e7en Shot&#039;lar - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/dribbble-gorsel-urlleri-imgproxy-secenekleri-vary-accept-ve-yeniden-boyutlandirmayi-es-gecen-shotlar\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Dribbble G\u00f6rsel URL&#039;leri: imgproxy Se\u00e7enekleri, Vary: Accept ve Yeniden Boyutland\u0131rmay\u0131 Es Ge\u00e7en Shot&#039;lar\" \/>\n<meta property=\"og:description\" content=\"G\u00f6rsel optimizasyonu, web performans\u0131n\u0131n temel ta\u015flar\u0131ndan biridir. Peki, Dribbble gibi pop\u00fcler platformlarda g\u00f6rsellerin nas\u0131l sunuldu\u011funu ve bu sunumun arkas\u0131nda yatan teknikleri ne kadar biliyoruz?\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/dribbble-gorsel-urlleri-imgproxy-secenekleri-vary-accept-ve-yeniden-boyutlandirmayi-es-gecen-shotlar\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-11-12T06:06:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-11-12T06:06:23+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"25 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/dribbble-gorsel-urlleri-imgproxy-secenekleri-vary-accept-ve-yeniden-boyutlandirmayi-es-gecen-shotlar\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/dribbble-gorsel-urlleri-imgproxy-secenekleri-vary-accept-ve-yeniden-boyutlandirmayi-es-gecen-shotlar\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Dribbble G\u00f6rsel URL&#8217;leri: imgproxy Se\u00e7enekleri, Vary: Accept ve Yeniden Boyutland\u0131rmay\u0131 Es Ge\u00e7en Shot&#8217;lar\",\"datePublished\":\"2026-11-12T06:06:00+00:00\",\"dateModified\":\"2026-11-12T06:06:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/dribbble-gorsel-urlleri-imgproxy-secenekleri-vary-accept-ve-yeniden-boyutlandirmayi-es-gecen-shotlar\/\"},\"wordCount\":4908,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/dribbble-gorsel-urlleri-imgproxy-secenekleri-vary-accept-ve-yeniden-boyutlandirmayi-es-gecen-shotlar\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/dribbble-gorsel-urlleri-imgproxy-secenekleri-vary-accept-ve-yeniden-boyutlandirmayi-es-gecen-shotlar\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/dribbble-gorsel-urlleri-imgproxy-secenekleri-vary-accept-ve-yeniden-boyutlandirmayi-es-gecen-shotlar\/\",\"name\":\"Dribbble G\u00f6rsel URL'leri: imgproxy Se\u00e7enekleri, Vary: Accept ve Yeniden Boyutland\u0131rmay\u0131 Es Ge\u00e7en Shot'lar - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-11-12T06:06:00+00:00\",\"dateModified\":\"2026-11-12T06:06:23+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/dribbble-gorsel-urlleri-imgproxy-secenekleri-vary-accept-ve-yeniden-boyutlandirmayi-es-gecen-shotlar\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/dribbble-gorsel-urlleri-imgproxy-secenekleri-vary-accept-ve-yeniden-boyutlandirmayi-es-gecen-shotlar\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/dribbble-gorsel-urlleri-imgproxy-secenekleri-vary-accept-ve-yeniden-boyutlandirmayi-es-gecen-shotlar\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Dribbble G\u00f6rsel URL&#8217;leri: imgproxy Se\u00e7enekleri, Vary: Accept ve Yeniden Boyutland\u0131rmay\u0131 Es Ge\u00e7en Shot&#8217;lar\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Dribbble G\u00f6rsel URL'leri: imgproxy Se\u00e7enekleri, Vary: Accept ve Yeniden Boyutland\u0131rmay\u0131 Es Ge\u00e7en Shot'lar - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/dribbble-gorsel-urlleri-imgproxy-secenekleri-vary-accept-ve-yeniden-boyutlandirmayi-es-gecen-shotlar\/","og_locale":"tr_TR","og_type":"article","og_title":"Dribbble G\u00f6rsel URL'leri: imgproxy Se\u00e7enekleri, Vary: Accept ve Yeniden Boyutland\u0131rmay\u0131 Es Ge\u00e7en Shot'lar","og_description":"G\u00f6rsel optimizasyonu, web performans\u0131n\u0131n temel ta\u015flar\u0131ndan biridir. Peki, Dribbble gibi pop\u00fcler platformlarda g\u00f6rsellerin nas\u0131l sunuldu\u011funu ve bu sunumun arkas\u0131nda yatan teknikleri ne kadar biliyoruz?","og_url":"https:\/\/fatihsoysal.com\/blog\/dribbble-gorsel-urlleri-imgproxy-secenekleri-vary-accept-ve-yeniden-boyutlandirmayi-es-gecen-shotlar\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-11-12T06:06:00+00:00","article_modified_time":"2026-11-12T06:06:23+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"25 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/dribbble-gorsel-urlleri-imgproxy-secenekleri-vary-accept-ve-yeniden-boyutlandirmayi-es-gecen-shotlar\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/dribbble-gorsel-urlleri-imgproxy-secenekleri-vary-accept-ve-yeniden-boyutlandirmayi-es-gecen-shotlar\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Dribbble G\u00f6rsel URL&#8217;leri: imgproxy Se\u00e7enekleri, Vary: Accept ve Yeniden Boyutland\u0131rmay\u0131 Es Ge\u00e7en Shot&#8217;lar","datePublished":"2026-11-12T06:06:00+00:00","dateModified":"2026-11-12T06:06:23+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/dribbble-gorsel-urlleri-imgproxy-secenekleri-vary-accept-ve-yeniden-boyutlandirmayi-es-gecen-shotlar\/"},"wordCount":4908,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/dribbble-gorsel-urlleri-imgproxy-secenekleri-vary-accept-ve-yeniden-boyutlandirmayi-es-gecen-shotlar\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/dribbble-gorsel-urlleri-imgproxy-secenekleri-vary-accept-ve-yeniden-boyutlandirmayi-es-gecen-shotlar\/","url":"https:\/\/fatihsoysal.com\/blog\/dribbble-gorsel-urlleri-imgproxy-secenekleri-vary-accept-ve-yeniden-boyutlandirmayi-es-gecen-shotlar\/","name":"Dribbble G\u00f6rsel URL'leri: imgproxy Se\u00e7enekleri, Vary: Accept ve Yeniden Boyutland\u0131rmay\u0131 Es Ge\u00e7en Shot'lar - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-11-12T06:06:00+00:00","dateModified":"2026-11-12T06:06:23+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/dribbble-gorsel-urlleri-imgproxy-secenekleri-vary-accept-ve-yeniden-boyutlandirmayi-es-gecen-shotlar\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/dribbble-gorsel-urlleri-imgproxy-secenekleri-vary-accept-ve-yeniden-boyutlandirmayi-es-gecen-shotlar\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/dribbble-gorsel-urlleri-imgproxy-secenekleri-vary-accept-ve-yeniden-boyutlandirmayi-es-gecen-shotlar\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Dribbble G\u00f6rsel URL&#8217;leri: imgproxy Se\u00e7enekleri, Vary: Accept ve Yeniden Boyutland\u0131rmay\u0131 Es Ge\u00e7en Shot&#8217;lar"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/45652","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=45652"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/45652\/revisions"}],"predecessor-version":[{"id":45653,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/45652\/revisions\/45653"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=45652"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=45652"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=45652"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}