Bir sunucu noktasının (POP) önbelleği sona erdiğinde veya bir önbellek hatası oluştuğunda POP en son içeriği kaynak sunucudan ister. Kaynak sunucu tarafından döndürülen içerik ve HTTP başlıkları kaynak yanıt başlıkları olarak adlandırılır. Bu başlıkları kaynak sunucunuzda değiştirerek bir önbellek ilkesi tanımlayabilir Cross-Origin Resource Sharing (CORS) yapılandırabilirsiniz. Bu sayede web sitesi yükleme hızını optimize edebilir içerik güvenliğini artırabilir kaynak erişilebilirliğini kontrol edebilir ve kullanıcı deneyimini iyileştirebilirsiniz.
Arka plan
HTTP yanıt başlıkları istemciye belirli parametreler taşıyan HTTP yanıtlarının bileşenleridir.
Son kullanıcı tarafından istenen içerik bir CDN düğümünde önbelleğe alınmadığında CDN kaynak çekme işlemi gerçekleştirir ve kaynak sunucu bir yanıt gönderir. Bu gelen yanıttaki HTTP başlıklarını değiştirebilirsiniz. Örneğin doğru ayrıştırma sağlamak için istemciye iletilmeden önce Content-Type başlığının değerini yeniden yazabilirsiniz. Kaynak sunucu yanlış bir Content-Type değeri döndürürse istemci içeriği doğru şekilde ayrıştıramayabilir. Bu sorunu CDN üzerinde başlığı yeniden yazarak çözebilirsiniz.
Gelen yanıt kaynak sunucunun bir CDN düğümüne gönderdiği HTTP mesajıdır. Gelen yanıt başlıklarını değiştirmek yalnızca kaynak sunucudan CDN düğümüne gönderilen HTTP mesajını etkiler. CDN düğümünün son kullanıcıya sunduğu yanıtları etkilemez.
Joker karakterli etki alanları için gelen yanıt başlıklarını değiştiremezsiniz.
Kullanım senaryoları
Aşağıda yaygın kullanım senaryoları ve örnekler yer almaktadır:
-
Hatalı içerik türü: Kaynak sunucu tarafından döndürülen içerik türü (
Content-Type) gerçek içerikle eşleşmiyorsa istemci bunu doğru şekilde ayrıştıramayabilir. Örneğin bir HTML dosyası yanlışlıkla düz metin olarak işaretlenebilir. Kaynak yanıt başlığını yapılandırarak bu sorunu çözebilirsiniz.Örnek:
Content-Type: text/plainifadesiniContent-Type: text/htmlolarak değiştirin. -
Önbellek ilkesi kontrolü: CDN önbellekleme ilkesi üzerinde ayrıntılı kontrole ihtiyacınız varsa kaynak sunucunun yanıt başlıklarındaki
Cache-ControlveyaExpiresalanlarını ayarlayabilirsiniz. Bu içerik güncelleme sıklığını ve önbellek isabet oranını optimize etmeye yardımcı olur.Örnek: Önbellek sona erme süresini uzatmak için
Cache-Control: max-age=3600ifadesiniCache-Control: max-age=86400olarak değiştirin. CDN'nin varsayılan önbellek kuralları hakkında daha fazla bilgi için bkz. Alibaba Cloud CDN Varsayılan Önbellek Kuralları ve Öncelikleri. -
Cross-Origin Resource Sharing (CORS): Diğer etki alanlarından gelen web uygulamalarının CDN'de barındırılan kaynaklara erişmesine izin vermek istiyorsanız kaynak sunucuda
Access-Control-Allow-Originbaşlığını ve diğer ilgili CORS başlıklarını yapılandırmanız gerekir. Bu ayarlar bir tarayıcı çapraz kaynak isteği gerçekleştirdiğinde CDN'nin istemciye uygun yanıt başlıklarını sağlayarak CORS hatalarını önlemesini garanti eder. Çapraz kaynak erişim sorunları hakkında daha fazla bilgi için bkz. Cross-Origin Resource Sharing Yapılandırma.Örnekler:
Access-Control-Allow-Origin: *: Tüm etki alanlarından gelen çapraz kaynak isteklerine izin verir.Access-Control-Allow-Methods: GET, POST, OPTIONS: Çapraz kaynak istekleri için izin verilen HTTP yöntemlerini belirtir.
-
Sıkıştırılmış aktarım: Kaynak sunucu sıkıştırılmış aktarımı destekliyor ancak etkinleştirmediyse veya kullanılan sıkıştırma algoritması en verimli değilse kaynak dönüş yanıt başlığında
Accept-Encodingdeğerini ayarlayarak kaynak sunucuyu en uygun sıkıştırma yöntemini kullanmaya yönlendirebilirsiniz.Örnek: Brotli sıkıştırmasına öncelik vermek için
Accept-Encoding: gzip, deflateifadesiniAccept-Encoding: brolarak değiştirin. Daha fazla bilgi için bkz. Brotli Sıkıştırma. -
Yönlendirme: Kaynak sunucunuzun bir kullanıcıyı başka bir URL'ye yönlendirmesi gerektiğinde kaynak yanıt başlığında doğru yönlendirme başlıklarını ayarlayabilirsiniz. Daha fazla bilgi için bkz. 301/302 yönlendirme izleme yapılandırma.
Örnek:
Location: https://www.example.com/new-page.html: 301 veya 302 yönlendirmesi için yeni kaynak konumunu CDN'ye ve kullanıcının tarayıcısına bildirir. Özel kaynak davranışı: Belirli işlevleri uygulamak veya izleme amacıyla yanıta özel başlıklar eklemeniz gerekebilir.
Ayrıntılı yapılandırma kontrolü için değişkenleri kullanabilirsiniz. Daha fazla bilgi için bkz. Değişken referansı.
Notlar
-
Birden fazla yapılandırma yapılandırma listesinde göründükleri sırayla yukarıdan aşağıya doğru yürütülür. Etkiler birikir. Birden fazla yapılandırma aynı başlığı değiştirirse son yapılandırma geçerli olur. Aşağıdaki örnekte etkili olan yapılandırma 2'dir:
Yapılandırma 1: HTTP yanıt başlığını ekleyin:
cache-control: max-age=3600Yapılandırma 2: HTTP yanıt başlığını ekleyin:
cache-control: no-cache
Kural koşulları uygulandığında eşleşme yapılandırmaların sırasına değil koşulların önceliğine göre belirlenir.
Yordam
CDN konsolu oturum açın.
Sol gezinme bölmesinde Domain Names seçeneğine tıklayın.
Domain Names sayfasında hedef etki alanını bulun ve Actions sütunundaki Manage seçeneğine tıklayın.
Etki alanının gezinme bölmesinde Origin Fetch seçeneğine tıklayın.
Modify Incoming Response Header sekmesine tıklayın.
Customize seçeneğine tıklayın.
-
Gelen yanıt başlığı ayarlarını değiştirin.
ÖnemliBirden fazla işlem aynı kaynak yanıt başlığı parametresine uygulanırsa işlemler şu önceliğe göre yürütülür: Replace > Add > Change ve Delete. Örneğin aynı parametre için hem ekleme hem de silme işlemi yapılandırılmışsa ekleme işlemi silme işleminden önce yürütülür.
Yanıt başlığı ekle
Yanıt başlığını sil
Yanıt başlığını değiştir
Yanıt başlığını değiştir
OK seçeneğine tıklayın.
Varsayılan yanıt başlıkları
Alibaba Cloud CDN varsayılan olarak dört yanıt başlığı ayarlar: Cache-Control Content-Type Expires ve Last-Modified. Bu temel HTTP protokolü başlıkları önbelleklemeyi kontrol eder içerik türlerini tanımlar sona erme sürelerini ayarlar ve kaynakların son değiştirilme zamanını kaydeder.
Başlık | Açıklama | Örnek |
Cache-Control | Bir kaynağın önbellekleme davranışını ve süresini kontrol eder. POP'lara ve istemci tarayıcılara ne zaman ne kadar süreyle önbelleğe alınacağını ve içeriğin ne zaman eski hale geleceğini belirten önbellekleme yönergeleri sağlar. Bu başlık eski |
|
Content-Type | Bir kaynağın ortam türünü belirtir. Bu başlık istemci tarayıcının verileri doğru şekilde yorumlamasına ve oluşturmasına yardımcı olur. CDN ayrıca bu başlığı içeriği işlemek ve aktarmak için kullanır. |
|
Expires | Kaynağın sona erdiği tarihi ve saati belirtir. CDN kaynağın hala geçerli olup olmadığını belirlemek için bu başlığı kullanır. Süresi dolmuşsa CDN güncellenmiş bir sürümü almak için kaynak çekme işlemi gerçekleştirir. |
|
Last-Modified | Kaynağın son değiştirildiği zamanı gösterir. CDN ve istemci tarayıcılar önbelleğe alınmış bir kaynağın güncel olup olmadığını belirlemek için bu yanıt başlığını kullanır. |
|
Yapılandırma örnekleri
Örnek 1: Bir yanıt MIME türü ayarlama
Kullanım senaryosu
Bir yanıt için belirli bir MIME türü ayarlayın.
MIME türleri aşağıdaki ana kategorileri içerir:
Metin: Metin dosyalarını (.txt ve .csv gibi) ve HTML dosyalarını (.html .htm ve .shtml gibi) içerir.
Görüntü: Yaygın görüntü dosyalarını (.jpg .png ve .gif gibi) içerir.
Ses: Ses dosyalarını (.mp3 ve .wav gibi) içerir.
Video: Video dosyalarını (.mp4 ve .avi gibi) içerir.
Uygulama: Uygulama dosyalarını (.pdf .doc ve .xls gibi) içerir.
Yapılandırma
Yanıt başlığı işlemi: Ekle
Başlık adı: Content-Type
-
Başlık değeri: text/html
Allow Duplicates seçeneğini Do not allow ve Rule Condition seçeneğini Do not use olarak ayarlayın ardından OK seçeneğine tıklayın.
Sonuç: POP kaynak sunucudan gelen yanıta Content-Type: text/html başlığını ekler. Bu başlığı tekrar yapılandırırsanız yeni değer mevcut olanın üzerine yazar.
Örnek 2: Bir yanıt başlığını silme
Kullanım senaryosu
Bir yanıt başlığını silme.
Yapılandırma
Yanıt başlığı işlemi: Sil
-
Başlık adı: Content-Type
Allow Duplicates seçeneğini Do not allow ve Rule Condition seçeneğini Do not use olarak ayarlayın ardından OK seçeneğine tıklayın.
Sonuç: POP istemciye döndürmeden önce yanıttan Content-Type başlığını kaldırır.
Hem Örnek 1 hem de Örnek 2 yapılandırmalarını uygularsanız sistem önce Content-Type: text/html yanıt başlığını ekler ardından siler. Sonuç olarak istemci belirli bir MIME türü belirtilmemiş yanıtı alır.
SSS
Sorun giderme soruları (CORS bozuk karakterler indirme/önizleme Set-Cookie JS MIME türü vb.) için bkz. Önbellek sorun giderme.
Danışma soruları (kaynak ACAO denetimi hassas video/mp4 yapılandırması JS dosyası desteği dosya senkronizasyon durumu vb.) için bkz. Kaynak çekme SSS.