Tüm Ürünler
Search
Belge Merkezi

CDN:Modify incoming response headers

Son Güncelleme:Oct 29, 2026

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.

image
Not
  • 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/plain ifadesini Content-Type: text/html olarak 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-Control veya Expires alanları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=3600 ifadesini Cache-Control: max-age=86400 olarak 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-Origin baş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-Encoding değ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, deflate ifadesini Accept-Encoding: br olarak 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=3600

    • Yapı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

  1. CDN konsolu oturum açın.

  2. Sol gezinme bölmesinde Domain Names seçeneğine tıklayın.

  3. Domain Names sayfasında hedef etki alanını bulun ve Actions sütunundaki Manage seçeneğine tıklayın.

  4. Etki alanının gezinme bölmesinde Origin Fetch seçeneğine tıklayın.

  5. Modify Incoming Response Header sekmesine tıklayın.

  6. Customize seçeneğine tıklayın.

  7. Gelen yanıt başlığı ayarlarını değiştirin.

    Önemli

    Birden 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

    Parametre

    Örnek

    Açıklama

    Operation

    add

    Belirtilen yanıt başlığını kaynak yanıtına ekler.

    Response Header

    Custom Response Header

    Custom Response Header veya önceden ayarlanmış bir yanıt başlığı parametresi seçin.

    Header Name

    x-code

    Özel yanıt başlığının adını belirtir.

    Header Value

    key1

    Virgülle (,) ayrılmış bir veya daha fazla başlık değeri girin.

    key1,key2

    Allow Duplicates

    Allow

    • Yes: Yinelenen yanıt başlıkları eklemenize olanak tanır. Örneğin x-code:key1 ve x-code:key2.

    • No: Aynı ada sahip bir başlık zaten varsa yeni değer mevcut olanın üzerine yazar. Örneğin önce x-code:key1 ardından x-code:key2 eklerseniz nihai başlık x-code:key2 olur.

    Rule Condition

    Do not use

    Bir kural koşulu bir kullanıcı isteğindeki çeşitli parametre bilgilerini tanımlar. Bu bir yapılandırmanın o istek için etkili olup olmadığını belirler.

    • Do not use: Kural koşulu kullanmaz.

    • Kural koşulları eklemek veya düzenlemek için bunları Rules Engine bölümünde yönetin.

    Yanıt başlığını sil

    Parametre

    Örnek

    Açıklama

    Operation

    delete

    Belirtilen ada sahip tüm yanıt başlıklarını yinelenenler dahil kaldırır.

    Response Header

    Custom Response Header

    Custom Response Header veya önceden ayarlanmış bir yanıt başlığı parametresi seçin.

    Header Name

    x-code

    Silinecek özel yanıt başlığının adını belirtir.

    Rule Condition

    Do not use

    Bir kural koşulu bir kullanıcı isteğindeki çeşitli parametre bilgilerini tanımlar. Bu bir yapılandırmanın o istek için etkili olup olmadığını belirler.

    • Do not use: Kural koşulu kullanmaz.

    • Kural koşulları eklemek veya düzenlemek için bunları Rules Engine bölümünde yönetin.

    Yanıt başlığını değiştir

    Parametre

    Örnek

    Açıklama

    Operation

    modify

    Başlığı değiştirir. Aynı ada sahip yinelenen başlıklar varsa bu işleme izin verilmez.

    Response Header

    Custom Response Header

    Custom Response Header veya önceden ayarlanmış bir yanıt başlığı parametresi seçin.

    Header Name

    x-code

    Değiştirilecek özel yanıt başlığının adını belirtir.

    Change Value To

    key1,key3

    Başlık için yeni değeri belirtir. Birden çok değeri yapılandırmak için bunları virgülle (,) ayırın.

    Rule Condition

    Bir kural koşulu bir kullanıcı isteğindeki çeşitli parametre bilgilerini tanımlar. Bu bir yapılandırmanın o istek için etkili olup olmadığını belirler.

    • Do not use: Kural koşulu kullanmaz.

    • Kural koşulları eklemek veya düzenlemek için bunları Rules Engine bölümünde yönetin.

    Yanıt başlığını değiştir

    Parametre

    Örnek

    Açıklama

    Operation

    replace

    Başlık değerini değiştirir. Aynı ada sahip yinelenen başlıklar varsa bu işleme izin verilmez.

    Response Header

    Custom Response Header

    Custom Response Header veya önceden ayarlanmış bir yanıt başlığı parametresi seçin.

    Header Name

    x-code

    Değerini değiştirmek istediğiniz özel yanıt başlığının adını belirtir.

    Find

    key

    Değiştirilecek başlık değerinin parçasıyla eşleşen bir normal ifade.

    Replace With

    abc

    Eşleşen metnin yerine geçen değer.

    Match

    Match All

    • Match All: Normal ifadeyle eşleşen tüm oluşumları değiştirir. Örneğin başlık x-code:key1,key2,key3 ise ve eşleşen key değerini abc ile değiştirmek için bir normal ifade kullanırsanız sonuç x-code:abc1,abc2,abc3 olur.

    • Match the First Only: Yalnızca normal ifadeyle eşleşen ilk oluşumu değiştirir. Örneğin başlık x-code:key1,key2,key3 ise ve eşleşen key değerini abc ile değiştirmek için bir normal ifade kullanırsanız sonuç x-code:abc1,key2,key3 olur.

    Rule Condition

    -

    Bir kural koşulu bu yapılandırmanın uygulanması için bir kullanıcı isteğinin karşılaması gereken kriterleri belirtir.

    • Do not use: Kural koşulu kullanılmaz.

    • Kural koşulları eklemek veya düzenlemek için rule engine sayfasına gidin.

  8. 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 Expires başlığına göre önceliklidir.

  • Cache-Control: no-cache önbelleğe alınmış bir kaynağı kullanmadan önce kaynakla doğrulamayı zorlar.

  • Cache-Control: max-age=3600 kaynağın 3600 saniye (1 saat) boyunca taze olduğunu ve kaynak çekme işlemi olmadan önbellekten sunulabileceğini belirtir.

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.

  • Content-Type: text/html içeriğin HTML formatında olduğunu gösterir.

  • Content-Type: image/jpeg kaynağın bir JPEG görüntüsü olduğunu gösterir.

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. Expires başlığı eski bir mekanizmadır. HTTP/1.1'de Cache-Control başlığı daha ayrıntılı kontrol sağlar ve Expires kullanımı azalmıştır.

Expires: Thu, 01 Dec 2023 16:00:00 GMT içeriğin belirtilen GMT saatinden sonra sona erdiğini gösterir.

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.

Last-Modified: Wed, 21 Oct 2023 07:28:00 GMT önbellek doğrulaması için kullanılan kaynağın son değiştirilme zamanını gösterir.

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.

Not

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.

Not

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.