{"id":25331,"date":"2024-12-09T00:00:00","date_gmt":"2024-12-09T00:00:00","guid":{"rendered":"https:\/\/alienroad.com\/google-bilgi-bankasi\/crawling-december-http-caching\/"},"modified":"2024-12-09T00:00:00","modified_gmt":"2024-12-09T00:00:00","slug":"crawling-december-http-caching","status":"publish","type":"ar_kb","link":"https:\/\/alienroad.com\/google-bilgi-bankasi\/crawling-december-http-caching\/","title":{"rendered":"Aral\u0131k Ay\u0131 Tarama: HTTP \u00f6nbellekleme"},"content":{"rendered":"<p class=\"gargardate\">9 Aral\u0131k 2024 Pazartesi<\/p>\n<p>\nL\u00fctfen \u00f6nbelle\u011fe almam\u0131za izin verin.\n<\/p>\n<p>\n  \u0130nternet y\u0131llar i\u00e7inde b\u00fcy\u00fcd\u00fck\u00e7e, Google&#8217;\u0131n tarama hacmi de artt\u0131. Google&#8217;\u0131n tarama altyap\u0131s\u0131 bulu\u015fsal \u00f6nbellekleme mekanizmalar\u0131n\u0131 desteklese de (asl\u0131nda her zaman desteklemi\u015ftir), yerel \u00f6nbelleklerden d\u00f6nd\u00fcr\u00fclebilen isteklerin say\u0131s\u0131 azalm\u0131\u015ft\u0131r: 10 y\u0131l \u00f6nce toplam getirilen verilerin yakla\u015f\u0131k %0,026&#8217;s\u0131 \u00f6nbelle\u011fe al\u0131nabilirdi ki bu zaten \u00e7ok etkileyici bir oran de\u011fildi; bug\u00fcn bu say\u0131 %0,017&#8217;dir.\n<\/p>\n<h2 id=\"why-is-caching-important\" tabindex=\"-1\">\u00d6nbellekleme neden \u00f6nemlidir?<\/h2>\n<p>\n  \u00d6nbellekleme, internet denilen b\u00fcy\u00fck yapbozun kritik bir par\u00e7as\u0131d\u0131r. \u00d6nbellekleme, sayfalar\u0131n tekrar ziyaret edildi\u011finde \u0131\u015f\u0131k h\u0131z\u0131nda y\u00fcklenmesini sa\u011flar, bilgi i\u015flem kaynaklar\u0131ndan ve dolay\u0131s\u0131yla do\u011fal kaynaklardan tasarruf sa\u011flar ve hem istemciler hem de sunucular i\u00e7in muazzam miktarda pahal\u0131 bant geni\u015fli\u011fi tasarrufu sa\u011flar.\n<\/p>\n<p>\n  \u00d6zellikle bireysel URL&#8217;ler alt\u0131nda nadiren de\u011fi\u015fen i\u00e7eri\u011fe sahip b\u00fcy\u00fck bir siteniz varsa, yerel olarak \u00f6nbelle\u011fe almaya izin vermek sitenizin daha verimli taranmas\u0131na yard\u0131mc\u0131 olabilir. Google&#8217;\u0131n tarama altyap\u0131s\u0131, a\u015fa\u011f\u0131da tan\u0131mlanan bulu\u015fsal HTTP \u00f6nbelleklemesini destekler:<br \/>\n  <a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc9111.html\" class=\"external-link\">HTTP \u00f6nbellekleme standard\u0131<\/a>, \u00f6zellikle <code>ETag<\/code> yan\u0131t ve <code>If-None-Match<\/code> istek ba\u015fl\u0131\u011f\u0131 ile <code>Last-Modified<\/code> yan\u0131t ve <code>If-Modified-Since<\/code> istek ba\u015fl\u0131\u011f\u0131 arac\u0131l\u0131\u011f\u0131yla.\n<\/p>\n<p>\n  \u015eiddetle <code>ETag<\/code> kullanman\u0131z\u0131 \u00f6neririz \u00e7\u00fcnk\u00fc hatalara ve yanl\u0131\u015fl\u0131klara daha az e\u011filimlidir (de\u011feri, <code>Last-Modified<\/code> de\u011ferinin aksine yap\u0131land\u0131r\u0131lmam\u0131\u015ft\u0131r). Ve e\u011fer se\u00e7ene\u011finiz varsa, her ikisini de ayarlay\u0131n: internet size te\u015fekk\u00fcr edecektir. Belki.\n<\/p>\n<p>\n  \u0130stemcilerin \u00f6nbelleklerini yenilemesini gerektiren bir de\u011fi\u015fiklik olarak neyi kabul etti\u011finiz size kalm\u0131\u015f. \u00d6nerimiz, i\u00e7eri\u011finizde \u00f6nemli de\u011fi\u015fiklikler oldu\u011funda bir \u00f6nbellek yenilemesi istemenizdir; e\u011fer sadece sayfan\u0131z\u0131n alt\u0131ndaki telif hakk\u0131 tarihini g\u00fcncellediyseniz, bu muhtemelen \u00f6nemli de\u011fildir.\n<\/p>\n<h2 id=\"etag-and-if-none-match\" tabindex=\"-1\"><code>ETag<\/code> ve <code>If-None-Match<\/code><\/h2>\n<p>\n  Google&#8217;\u0131n taray\u0131c\u0131lar\u0131, <code>ETag<\/code> tabanl\u0131 ko\u015fullu istekleri tam olarak<br \/>\n  <a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc9111.html\" class=\"external-link\">HTTP \u00f6nbellekleme standard\u0131<\/a>i\u00e7inde tan\u0131mland\u0131\u011f\u0131 gibi destekler. Yani, Google&#8217;\u0131n taray\u0131c\u0131lar\u0131na \u00f6nbellekleme tercihini bildirmek i\u00e7in <code>Etag<\/code> de\u011ferini, eri\u015filen URL taraf\u0131ndan bar\u0131nd\u0131r\u0131lan i\u00e7eri\u011fin temsiline \u00f6zg\u00fc herhangi bir rastgele ASCII dizesine (genellikle i\u00e7eri\u011fin veya s\u00fcr\u00fcm numaras\u0131n\u0131n bir karmas\u0131, ancak \u03c0&#8217;nin bir par\u00e7as\u0131 da olabilir, size kalm\u0131\u015f) ayarlay\u0131n. \u00d6rne\u011fin, ayn\u0131 i\u00e7eri\u011fin farkl\u0131 s\u00fcr\u00fcmlerini ayn\u0131 URL alt\u0131nda bar\u0131nd\u0131r\u0131yorsan\u0131z (\u00f6rne\u011fin, mobil ve masa\u00fcst\u00fc s\u00fcr\u00fcm\u00fc), her s\u00fcr\u00fcm\u00fcn kendi benzersiz <code>ETag<\/code> de\u011feri olabilir.\n<\/p>\n<p>\n  \u00d6nbelleklemeyi destekleyen Google taray\u0131c\u0131lar\u0131, bu URL&#8217;nin \u00f6nceki bir taramas\u0131nda d\u00f6nd\u00fcr\u00fclen <code>ETag<\/code> de\u011ferini <code>If-None-Match ba\u015fl\u0131\u011f\u0131nda<\/code>g\u00f6nderecektir. E\u011fer taray\u0131c\u0131 taraf\u0131ndan g\u00f6nderilen <code>ETag<\/code><br \/>\n  de\u011feri, sunucunun olu\u015fturdu\u011fu mevcut de\u011ferle e\u015fle\u015firse, sunucunuz HTTP g\u00f6vdesi olmadan bir HTTP <code>304<\/code> (De\u011fi\u015ftirilmedi) durum kodu d\u00f6nd\u00fcrmelidir. Bu son k\u0131s\u0131m, yani HTTP g\u00f6vdesinin olmamas\u0131, birka\u00e7 nedenden dolay\u0131 \u00f6nemlidir:\n<\/p>\n<ul>\n<li>\n    sunucunuz i\u00e7erik olu\u015fturmak i\u00e7in bilgi i\u015flem kaynaklar\u0131 harcamak zorunda kalmaz; yani paradan tasarruf edersiniz\n  <\/li>\n<li>\n    sunucunuz HTTP g\u00f6vdesini aktarmak zorunda kalmaz; yani paradan tasarruf edersiniz\n  <\/li>\n<\/ul>\n<p>\n  \u0130stemci taraf\u0131nda, kullan\u0131c\u0131n\u0131n taray\u0131c\u0131s\u0131 veya Googlebot gibi, o URL alt\u0131ndaki i\u00e7erik istemcinin dahili \u00f6nbelle\u011finden al\u0131n\u0131r. Herhangi bir veri aktar\u0131m\u0131 s\u00f6z konusu olmad\u0131\u011f\u0131 i\u00e7in bu i\u015flem \u0131\u015f\u0131k h\u0131z\u0131nda ger\u00e7ekle\u015fir, kullan\u0131c\u0131lar\u0131 mutlu eder ve potansiyel olarak onlar i\u00e7in de baz\u0131 kaynaklardan tasarruf sa\u011flar.\n<\/p>\n<h2 id=\"last-modified-and-if-modified-since\" tabindex=\"-1\"><code>Last-Modified<\/code> ve <code>If-Modified-Since<\/code><\/h2>\n<p>\n  T\u0131pk\u0131 <code>ETag<\/code>gibi, Google&#8217;\u0131n taray\u0131c\u0131lar\u0131 da <code>Last-Modified tabanl\u0131<\/code><br \/>\n  ko\u015fullu istekleri, tam olarak HTTP \u00d6nbellekleme standard\u0131nda tan\u0131mland\u0131\u011f\u0131 gibi destekler. Bu, anlamsal a\u00e7\u0131dan <code>ETag<\/code> ile ayn\u0131 \u015fekilde \u00e7al\u0131\u015f\u0131r (kayna\u011f\u0131n \u00f6nbelle\u011fe al\u0131n\u0131p al\u0131namayaca\u011f\u0131na karar vermek i\u00e7in bir tan\u0131mlay\u0131c\u0131 kullan\u0131l\u0131r) ve istemci taraf\u0131nda <code>ETag<\/code> ile ayn\u0131 avantajlar\u0131 sa\u011flar.\n<\/p>\n<p>\n  E\u011fer <code>Last-Modified<\/code> kullan\u0131yorsan\u0131z birka\u00e7 \u00f6nerimiz var:\n<\/p>\n<ol>\n<li>\n    Last-Modified <code>ba\u015fl\u0131\u011f\u0131ndaki tarih,<\/code> HTTP standard\u0131na<br \/>\n    <a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc9110.html\" class=\"external-link\">g\u00f6re bi\u00e7imlendirilmelidir<\/a>. Ayr\u0131\u015ft\u0131rma sorunlar\u0131n\u0131 \u00f6nlemek i\u00e7in a\u015fa\u011f\u0131daki tarih bi\u00e7imini kullanman\u0131z\u0131 \u00f6neririz: <span>G\u00fcn, DD Ay YYYY SS:DD:SS<\/span> Saat Dilimi&#8221;. \u00d6rne\u011fin,<span>Cum, 4 Eyl 1998 19:15:56 GMT<\/span>&#8220;.\n  <\/li>\n<li>\n    Zorunlu olmasa da, <code>max-age<\/code> alan\u0131n\u0131<br \/>\n    <code>Cache-Control<\/code> ba\u015fl\u0131\u011f\u0131nda ayarlamay\u0131 d\u00fc\u015f\u00fcn\u00fcn; bu, taray\u0131c\u0131lar\u0131n belirli bir URL&#8217;yi ne zaman tekrar tarayacaklar\u0131n\u0131 belirlemelerine yard\u0131mc\u0131 olur. <code>max-age<\/code> alan\u0131n\u0131n de\u011ferini, i\u00e7eri\u011fin de\u011fi\u015fmeden kalaca\u011f\u0131 beklenen saniye say\u0131s\u0131na ayarlay\u0131n. \u00d6rne\u011fin, <code>Cache-Control: max-age=94043<\/code>.\n  <\/li>\n<\/ol>\n<h2 id=\"examples\" tabindex=\"-1\">\u00d6rnekler<\/h2>\n<p>\n  E\u011fer benim gibiyseniz, bulu\u015fsal \u00f6nbelleklemenin nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 anlamak zor olabilir, ancak istek ve yan\u0131t zincirine dair bir \u00f6rnek g\u00f6stermek bana yard\u0131mc\u0131 oluyor. \u0130\u015fte nas\u0131l \u00e7al\u0131\u015fmas\u0131 gerekti\u011fini g\u00f6rselle\u015ftirmek i\u00e7in iki zincir: <code>ETag<\/code>\/<code>If-None-Match<\/code> ve biri<br \/>\n  <code>Last-Modified<\/code>\/<code>If-Modified-Since<\/code> i\u00e7in:\n<\/p>\n<table class=\"fixed vertical-rules full-width\">\n<tr>\n<th width=\"33%\"><\/th>\n<th><code>ETag<\/code>\/<code>If-None-Match<\/code><\/th>\n<th><code>Last-Modified<\/code>\/<code>If-Modified-Since<\/code><\/th>\n<\/tr>\n<tr>\n<td>\n      <strong>Bir sunucunun taramaya yan\u0131t\u0131:<\/strong> Bu, bir taray\u0131c\u0131n\u0131n \u00f6n ko\u015ful ba\u015fl\u0131k alanlar\u0131n\u0131 kaydedebilece\u011fi yan\u0131tt\u0131r <code>ETag<\/code> ve <code>Last-Modified<\/code>.\n    <\/td>\n<td>\n<div><\/div>\n<\/td>\n<td>\n<div><\/div>\n<\/td>\n<\/tr>\n<tr>\n<td>\n      <strong>Sonraki taray\u0131c\u0131 ko\u015fullu iste\u011fi:<\/strong> Ko\u015fullu istek, \u00f6nceki bir istekten kaydedilen \u00f6n ko\u015ful ba\u015fl\u0131k de\u011ferlerine dayan\u0131r. De\u011ferler, do\u011frulama i\u00e7in sunucuya <code>If-None-Match<\/code> ve <code>If-Modified-Since<\/code><br \/>\n      istek ba\u015fl\u0131klar\u0131nda geri g\u00f6nderilir.\n    <\/td>\n<td>\n<div><\/div>\n<\/td>\n<td>\n<div><\/div>\n<\/td>\n<\/tr>\n<tr>\n<td>\n      <strong>Ko\u015fullu iste\u011fe sunucu yan\u0131t\u0131:<\/strong> Taray\u0131c\u0131 taraf\u0131ndan g\u00f6nderilen \u00f6n ko\u015ful ba\u015fl\u0131k de\u011ferleri sunucu taraf\u0131nda do\u011fruland\u0131\u011f\u0131ndan, sunucu taray\u0131c\u0131ya bir <code>304<\/code><br \/>\n      HTTP durum kodu (HTTP g\u00f6vdesi olmadan) d\u00f6nd\u00fcr\u00fcr. Bu, \u00f6n ko\u015fullar do\u011frulanana kadar (sunucu taraf\u0131nda <code>ETag<\/code> veya<br \/>\n      <code>Last-Modified<\/code> tarihi de\u011fi\u015fene kadar) sonraki her istekte ger\u00e7ekle\u015fecektir.\n    <\/td>\n<td>\n<div><\/div>\n<\/td>\n<td>\n<div><\/div>\n<\/td>\n<\/tr>\n<\/table>\n<p>\n  Kullan\u0131c\u0131lar\u0131n\u0131z\u0131 mutlu etmek ve belki de bar\u0131nd\u0131rma faturan\u0131zdan birka\u00e7 kuru\u015f tasarruf etmek istiyorsan\u0131z, bar\u0131nd\u0131rma veya CMS sa\u011flay\u0131c\u0131n\u0131zla ya da geli\u015ftiricilerinizle siteniz i\u00e7in HTTP \u00f6nbelleklemesini nas\u0131l etkinle\u015ftirece\u011finiz hakk\u0131nda konu\u015fun. Ba\u015fka bir \u015fey olmasa bile, kullan\u0131c\u0131lar\u0131n\u0131z sizi biraz daha sevecektir.\n<\/p>\n<p>\n  \u00d6nbellekleme hakk\u0131nda sohbet etmek isterseniz, size en yak\u0131n<br \/>\n  <a href=\"https:\/\/goo.gle\/sc-forum\" class=\"external-link\">Search Central yard\u0131m toplulu\u011funa<\/a>gidin ve \u00f6nbelle\u011fe alma \u015feklimiz hakk\u0131nda yorumlar\u0131n\u0131z varsa,<br \/>\n  <a href=\"https:\/\/alienroad.com\/google-bilgi-bankasi\/google-crawlers\/#http-caching\">\u00f6nbellekleme hakk\u0131ndaki belgelere<\/a><br \/>\n  bu blog yaz\u0131s\u0131yla birlikte yay\u0131nlad\u0131\u011f\u0131m\u0131z geri bildirimde bulunun.\n<\/p>\n<p class=\"byline-author\">\n  Yazan: <a href=\"https:\/\/developers.google.com\/search\/blog\/authors\/gary-illyes\">Gary Illyes<\/a>\n<\/p>\n<hr class=\"full-width\">\n<h2 id=\"want-to-learn-more-about-crawling-check-out-the-entire-crawling-december-series:\" tabindex=\"-1\">Tarama hakk\u0131nda daha fazla bilgi edinmek ister misiniz? Aral\u0131k Ay\u0131 Tarama serisinin tamam\u0131na g\u00f6z at\u0131n:<\/h2>\n","protected":false},"excerpt":{"rendered":"<p>9 Aral\u0131k 2024 Pazartesi L\u00fctfen \u00f6nbelle\u011fe almam\u0131za izin verin. \u0130nternet y\u0131llar i\u00e7inde b\u00fcy\u00fcd\u00fck\u00e7e, Google&#8217;\u0131n tarama hacmi de artt\u0131. Google&#8217;\u0131n tarama altyap\u0131s\u0131 bulu\u015fsal \u00f6nbellekleme mekanizmalar\u0131n\u0131 desteklese de (asl\u0131nda her zaman desteklemi\u015ftir), yerel \u00f6nbelleklerden d\u00f6nd\u00fcr\u00fclebilen isteklerin say\u0131s\u0131 azalm\u0131\u015ft\u0131r: 10 y\u0131l \u00f6nce toplam getirilen verilerin yakla\u015f\u0131k %0,026&#8217;s\u0131 \u00f6nbelle\u011fe al\u0131nabilirdi ki bu zaten \u00e7ok etkileyici bir oran de\u011fildi; bug\u00fcn [&hellip;]<\/p>\n","protected":false},"menu_order":79934,"template":"","meta":{"footnotes":""},"ar_kb_kategori":[665],"ar_kb_etiket":[],"class_list":["post-25331","ar_kb","type-ar_kb","status-publish","has-post-thumbnail","hentry","ar_kb_kategori-blog"],"_links":{"self":[{"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/ar_kb\/25331","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/ar_kb"}],"about":[{"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/types\/ar_kb"}],"version-history":[{"count":0,"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/ar_kb\/25331\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/media\/27451"}],"wp:attachment":[{"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/media?parent=25331"}],"wp:term":[{"taxonomy":"ar_kb_kategori","embeddable":true,"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/ar_kb_kategori?post=25331"},{"taxonomy":"ar_kb_etiket","embeddable":true,"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/ar_kb_etiket?post=25331"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}