Bir Günlük Girişini Okumak Uzak Görselini Tekrar Yükler mi?
Genellikle, bir görsel URL'si içeren bir günlük girişi, uygulama veya tarayıcının girişi görüntülerken bu görseli talep etmesine neden olabilir. Ancak bu, görselin uzak sunucudan her seferinde indirildiği anlamına gelmez: geçerli bir tarayıcı önbelleği bunu sağlayabilir veya uygulama görselleri başka bir şekilde işleyebilir. Pratikteki ilk kontrol, girişin bir web URL'sine mi yoksa günlükle birlikte kaydedilmiş bir görsele mi işaret ettiğidir. Çevrimdışı bir test bazı ipuçları sunabilir ancak hiçbir ağ isteğinin gerçekleşmediğini kanıtlayamaz.
Markdown'daki bir görsel bağlantısı ne anlama gelir?
Standart Markdown'da, `` gibi bir görsel sözdizimi, bir görseli URL'siyle tanımlar. [CommonMark görsel eğitimi](https://commonmark.org/help/tutorial/08-images.html), eksiksiz web URL'lerini geçerli görsel hedefleri olarak açıkça gösterir. Sözdiziminin kendisi, görselin günlüğe kopyalandığını veya yerel olarak depolandığını söylemez.
Bir okuyucu bu girişi görüntülediğinde, yazılım URL'yi bir görsel kaynağı olarak işleyebilir. Bir web sayfasında, tarayıcının `<img>` öğesi görseli belgeye gömer ve `src` özniteliği, [MDN'in `<img>` referansında](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img) açıklandığı gibi görüntülenecek kaynağı tanımlar. Bir isteğin uzak sunucuya ulaşıp ulaşmaması önbelleğe almaya, kullanılan uygulamaya, tarayıcıya ve ağ yoluna bağlıdır.
Tarayıcı her okumada sunucuyla iletişim kurar mı?
Her görseli yeniden getirmesi gerektiğini belirten kesin bir kural yoktur. Tarayıcılar istek yaparken HTTP önbelleklerini kontrol eder; eşleşen, geçerli bir önbelleğe alınmış yanıt varsa, tarayıcı o görsel için kaynak sunucuyla iletişim kurmadan bu yanıtı kullanabilir. [web.dev'in HTTP önbellek kılavuzu](https://web.dev/articles/http-cache), tazeliğin yanıt önbelleğe alma bilgilerine bağlı olduğunu ve önbelleğe alınmış bir yanıtın taze kaldığı sürece yeniden kullanılabileceğini açıklar.
Önbelleğe alınmış bir yanıt eskiyse veya doğrulama gerektiriyorsa, tarayıcı saklanan kopyanın hâlâ güncel olup olmadığını kontrol etmek için sunucuyla iletişim kurabilir. Sunucu kopyanın geçerliliğini koruduğunu onaylayabilir, bu nedenle bu kontrol görselin tamamının tekrar indirildiği anlamına gelmek zorunda değildir. [MDN'in HTTP önbelleğe alma kılavuzu](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Caching) tazeliği, doğrulamayı ve yanıtların önbelleğe alınmaması gereken durumları kapsar. Önbelleğin temizlenmesi, sürenin dolması, değişen URL'ler, uygulama davranışı veya önbellek ayarları, daha sonraki bir okumada ne olacağını değiştirebilir.
Dolayısıyla dikkatli yanıt şudur: Uzak bir görselin görüntülenmesi bir ağ isteğine yol açabilir, ancak bu her seferinde görsel baytlarının aktarıldığı—veya her görüntülemede kaynak sunucuyla iletişim kurulduğu—anlamına gelmez. Önbelleğe alınmış bir gösterim ile yeni bir getirme işlemi ekranda tamamen aynı görünebilir.
Bir URL ile kayıtlı bir ek arasındaki farkı nasıl anlarsınız?
Görsel referansını veya sunuyorsa uygulamanın ek bilgilerini inceleyin. `https://` veya `http://` ile başlayan bir hedef, uzak bir web adresini işaret eder. Göreli bir yol veya uygulamaya özgü bir ek adı daha fazla kontrol gerektirir. Bir web sayfasında göreli bir yol başka bir web adresine çözümlenebilir; bu, bir dosyanın cihazınızda yerel olduğunu kanıtlamaz. Hedefi, günlük uygulamasının depolama ve işleme kuralları belirler. Markdown tek başına, yerel görünen bir referansın taşınabilir olduğunu veya dosyanın girişin içinde saklandığını garanti etmez.
Kullanışlı bir ayrım, neyin erişilebilir kalması gerektiğidir: uzak bir URL, uzak kaynağın var olmaya devam etmesine ve erişilebilir olmasına bağlıdır; yerel bir ek ise ilgili dosyanın uygulamanın beklediği yerde bulunmasına bağlıdır. Günlük fotoğraf dosyalarını korumak için uygulamanın kendi dışa aktarma veya yedekleme talimatlarını izleyin. Bu makalenin odak noktası, herhangi bir uygulamanın depolama biçimine dair bir garanti vermek değil, uzak yüklemeye ilişkin bağımsız sorudur.
Çevrimdışı bir karşılaştırma ne gösterebilir?
Zararsız bir kontrol için, tek kullanımlık bir test girişinde hassas olmayan bir görsel URL'si kullanın. Çevrimiçiyken görüntüleyin, ardından cihazın ağ bağlantısını kesin ve girişi tekrar açın. Görsel çevrimdışıyken görünüyorsa, bu durum önbelleğe alınmış bir kopyanın veya başka bir yerel kopyanın mevcut olmasıyla tutarlıdır. Görünmüyorsa, uygulama o noktada uzak kaynağa ihtiyaç duyuyor olabilir—ancak sonuç tek başına bunun tam nedenini belirleyemez.
Bu karşılaştırma, normal çevrimiçi okumanın hiçbir ağ isteği yapmadığını kanıtlayamaz. Tarayıcı bağlantı kesilmeden önce bir istek yapmış, bir service-worker'ı veya uygulama önbelleğini kontrol etmiş ya da zaten yerel olarak depolanmış bir görseli görüntülemiş olabilir. Benzer şekilde, görseli çevrimdışıyken görmek, girişin Markdown'ının bir ek içerdiğini kanıtlamaz: uygulama uzak yanıtı önbelleğe almış olabilir. Tarayıcı tabanlı bir günlük için, çevrimiçiyken tarayıcının ağ geliştirici araçlarını kullanarak istek davranışını gözlemleyin ve görsel isteğini ve önbellek durumunu inceleyin; sonuçlar her sonraki okumayı veya cihazı değil, o test kurulumunu açıklar.
Pratik kontrol listesi
Öngörülebilir şekilde görüntülenmesi gereken bir giriş için görsel referansını inceleyin, ardından yerel olması amaçlanıyorsa ilgili yerel ekin mevcut olup olmadığını kontrol edin. Eğer bu uzak bir URL ise, erişilebilirliğin ve güncelleme davranışının barındırıcıya ve önbelleğe almaya bağlı olmasını bekleyin. İstekleri gözlemlemek için çevrimiçi bir ağ panelini ve sınırlı bir karşılaştırma olarak çevrimdışı yeniden açmayı kullanın. Her sonucu evrensel bir garanti olarak değil, test edilen uygulama, tarayıcı ve önbellek durumu hakkında bir kanıt olarak değerlendirin.
