Giden yanıt başlıkları, HTTP yanıt mesajı başlıklarının bileşenlerinden biridir. Belirli yanıt parametrelerini taşıyarak istemcilere iletir ve önbellek davranışı, çapraz kaynak erişimi, içerik türleri ile indirme yöntemleri gibi çeşitli istemci davranışlarını kontrol etmek için kullanılır. Giden yanıt başlıklarını değiştirerek kullanıcılar hızlandırılmış bir alan adı altındaki kaynakları istediğinde, CDN DCDN tarafından döndürülen yanıt mesajı sizin yapılandırdığınız yanıt başlıklarını taşır; bu sayede çapraz kaynak erişimi gibi belirli özellikler etkinleştirilir. İnce ayarlı yapılandırma denetimi için değişkenler kullanabilirsiniz. Daha fazla bilgi için bkz. Değişken referansı.
Arka plan bilgileri
Giden yanıt başlıkları, HTTP protokolünde önbelleğe almayı kontrol etmek için kullanılan bir mekanizmadır. Bir istemci bir kaynak istediğinde düğüm tarafından döndürülen HTTP yanıt başlıkları içeriğin belirli koşullar altında önbelleğe alınmasına olanak tanır.
HTTP yanıt başlığı yapılandırması alan adı düzeyinde bir yapılandırmadır. Yapılandırma etkin hale geldikten sonra alan adı altındaki tüm kaynakların yanıt mesajlarına uygulanır.
HTTP yanıt başlıklarını yapılandırmak yalnızca istemcinin (örneğin bir tarayıcının) yanıt davranışını etkiler; CDN DCDN düğümlerinin önbelleğe alma davranışını etkilemez. Hızlandırılmış alan adı joker karakterli bir alan adıysa giden yanıt başlıklarının değiştirilmesi desteklenmez.
Senaryolar
**CDN DCDN yanıt dosyalarının kaynak türünü istemciye bildirme**: CDN DCDN tarafından döndürülen yanıt dosyalarının HTML formatında olduğunu istemciye bildirmek için
Content-Type: text/htmlyanıt başlığını ekleyin.Çapraz kaynak erişimini uygulama: Bir kullanıcı CDN DCDN üzerindeki bir alan adının kaynaklarını istediğinde CDN DCDN tarafından döndürülen yanıt mesajında
Access-Control-Allow-Originyanıt başlığını yapılandırarak çapraz kaynak erişimini uygulayabilirsiniz. Daha fazla bilgi için bkz. Çapraz kaynak paylaşımını yapılandırma. Alibaba Cloud CDN DCDN ayrıca yapılandırılan CORS kurallarına göre kullanıcılardan alınan çapraz kaynak isteklerini doğrular; bu da çapraz kaynak erişimi üzerinde daha esnek bir denetim sağlar.Dosya indirme: CDN ile hızlandırılmış bir alan adı üzerinden OSS dosyalarına eriştiğinizde tarayıcı varsayılan olarak dosyaları önizler. Tarayıcının dosyaları önizlemek yerine indirmesini sağlamak için giden yanıt başlıklarına
Content-Disposition: attachmentekleyin.Yanıt davranışını özelleştirme: İş gereksinimlerinize göre özel başlık bilgileri ekleyin veya değiştirin; böylece istemcilerin aldığı yanıtların içeriğini ve formatını ayarlayın.
Notlar
-
Birden çok 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 kümülatiftir. Birden çok yapılandırma aynı başlığı değiştiriyorsa sonuncusu geçerli olur. Aşağıdaki örnekte Yapılandırma 2 geçerli olan yapılandırmadır:
Yapılandırma 1: HTTP yanıt başlığını ekle:
cache-control: max-age=3600Yapılandırma 2: HTTP yanıt başlığını ekle:
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.
CDN, Via ve EagleId gibi sistem tarafından ayrılmış yanıt başlıklarının silinmesini veya değiştirilmesini desteklemez. Bu başlıklar CDN düğümleriyle ilgili bilgileri kaydetmek için kullanılır. Silme veya değiştirme yapılandırsanız bile yapılandırma etkili olmaz ve sistem son düğümün bilgilerini korumaya devam eder.
Giden yanıt başlığı yapılandırmaları değiştirildikten sonra değişiklikler genellikle 5 dakika içinde etkili olur. Kaynakları yeniden ön getirmeniz gerekmez (ön getirme önbelleğe alınmış kaynakların yanıt başlıklarını değiştirmez).
Yordam
CDN konsolu oturumunu açın.
Sol gezinme bölmesinde Domain Names seçeneğini tıklayın.
Domain Names sayfasında hedef alan adını bulun ve Actions sütunundaki Manage seçeneğini tıklayın.
Alan adının gezinme bölmesinde Cache seçeneğini tıklayın.
Modify outbound response headers sekmesini tıklayın.
-
Giden yanıt başlıklarını değiştirmek için Customize seçeneğini tıklayın.
Aşağıdaki örnek giden bir yanıt başlığının nasıl ekleneceğini açıklar.
Parametre
Açıklama
Operation
Belirtilen yanıt başlıklarını ekleyin, silin, değiştirin veya yerine koyun.
Response Header
Özel bir yanıt başlığı parametresi seçin. Daha fazla bilgi için bkz. Yanıt başlığı parametreleri.
Header Name
Özel yanıt başlığı parametresi Custom olarak ayarlandığında özel bir yanıt başlığı adı yapılandırmanız gerekir. Özel yanıt başlığı adlarının gereksinimleri şöyledir:
Büyük harfler, küçük harfler, kısa çizgiler ve rakamlardan oluşur.
Uzunluğu 1 ila 100 karakter arasındadır.
Header Value
Ayarlamak istediğiniz yanıt başlığı değerini girin. Daha fazla bilgi için bkz. Yanıt başlığı parametreleri.
Allow Duplicates
Yes: Kaynak sunucu tarafından döndürülen başlığı korur ve aynı ada sahip başka bir başlık ekler.
No: Kaynak sunucu tarafından döndürülen başlık aynı ada sahip yeni yapılandırılan başlıkla üzerine yazılır.
CORS
CORS doğrulaması varsayılan olarak devre dışıdır. CORS doğrulamasını yalnızca Operation "Add" olarak ve Response Header "Access-Control-Allow-Origin" olarak ayarlandığında yapılandırabilirsiniz.
Enable: CORS doğrulaması etkinleştirildiğinde CDN düğümleri aşağıdaki kurallara göre kullanıcıların çapraz kaynak isteklerini doğrular ve doğrulama sonucuna göre "Access-Control-Allow-Origin" değeriyle yanıt verir.
Disable: CORS doğrulaması devre dışı bırakıldığında CDN düğümleri kullanıcı isteklerinde taşınan Origin başlığını doğrulamaz ve yalnızca yapılandırılan Access-Control-Allow-Origin değeriyle yanıt verir.
CORS doğrulama kuralları için bkz. CORS doğrulama kuralları.
Rule Condition
Kural Koşulları bir yapılandırmanın bir istek için geçerli olup olmadığını belirlemek amacıyla kullanıcı isteklerinde taşınan çeşitli parametreleri tanımlayabilir.
ÖnemliKural koşullarına başvurduğunuzda sistem özelliklerin yapılandırma sırası yerine ilişkili kural koşullarının önceliğine göre kuralları eşleştirir.
Kullanma: Kural koşullarını kullanmayın.
Kural koşullarını eklemek veya düzenlemek için bunları Rules engine bölümünde yönetin.
-
Yapılandırmayı tamamlamak için OK seçeneğini tıklayın.
Giden yanıt başlıklarını başarıyla değiştirdikten sonra giden yanıt başlığı POP HTTP Response Header listesindeki mevcut yapılandırmada Modify veya Delete işlemlerini yapabilirsiniz.
Yapılandırma örneği: PDF dosyaları için Cache-Control:no-cache yapılandırma
PDF dosyalarında önbellek anlaşması yapılmasını istiyorsanız (her istekte dosyaların güncellenip güncellenmediğini CDN düğümleriyle doğrulama) kural motorunu kullanabilirsiniz:
Giden yanıt başlığı yapılandırmasını Customize ederken Rule Condition kullanmayı seçin.
Eşleşme koşulunu dosya uzantısının
.pdfiçermesi olarak ayarlayın.Giden yanıt başlıklarını değiştirmek için eylemi yapılandırın ve
cache-control:no-cacheekleyin.
Bu yapılandırma yalnızca CDN'in istemciye döndürdüğü yanıt başlıklarını etkiler ve istemcinin önbellek anlaşması yapmasını sağlar; ancak CDN düğümlerinin PDF dosyaları için önbelleğe alma ilkesini etkilemez.
CORS doğrulama kuralları
Allow Duplicates ve CORS yapılandırma öğeleri birbirini dışlar. Allow Duplicates Yes olarak ayarlanırsa CORS doğrulaması geçersiz hale gelir.
Joker karakter eşleşmesi: Özel yanıt başlığı parametresi
Access-Control-Allow-Origindeğeri*olarak ayarlanırsa kullanıcı isteğininOriginparametresini taşıyıp taşımadığından veOriginparametresinin değerinden bağımsız olarak her zamanAccess-Control-Allow-Origin:*döndürülür.-
Tam eşleşme: Özel yanıt başlığı parametresi
Access-Control-Allow-Origindeğeri bir veya daha fazla değer olarak ayarlanır (birden çok değeri,ile ayırın).Kullanıcı istek başlığında taşınan
Originparametresinin değeri yapılandırılan değerlerden herhangi biriyle tam olarak eşleşirse ilgili çapraz kaynak başlığı döndürülür.Tam eşleşme bulunamazsa hiçbir çapraz kaynak başlığı döndürülmez.
Joker karakterli alan adı eşleşmesi: Özel yanıt başlığı parametresi
Access-Control-Allow-Origindeğeri joker karakterli bir alan adı olarak ayarlanırsa sistem istek başlığındaki Origin değerininAccess-Control-Allow-Originjoker karakterli alan adıyla eşleşip eşleşmediğini doğrular.
Ayarların nasıl yapılandırılacağı hakkında bilgi için bkz. Çapraz kaynak paylaşımını yapılandırma.
Yanıt başlığı parametreleri
Yanıt başlığı parametresi | Açıklama | Örnek |
Custom | Özel yanıt başlıkları ekleyebilirsiniz. Özel yanıt başlığı adlarının gereksinimleri şöyledir:
| Test-Header |
Cache-Control | İstemci programının isteklerinin ve yanıtlarının uyması gereken önbelleğe alma mekanizmasını belirtir. | no-cache |
Content-Disposition | İstemci programı bir istekten elde edilen içeriği dosya olarak kaydederken sağlanan varsayılan dosya adını belirtir. | examplefile.txt |
Content-Type | İstemci programının yanıt nesnesinin içerik türünü belirtir. | text/plain |
Pragma | Pragma HTTP/1,0'da belirtilen genel bir başlıktır. Bu başlık tipik olarak sunucu yanıtlarında istemcinin dosyalar için önbelleğe alma davranışını tanımlamak üzere kullanılır. | no-cache |
Access-Control-Allow-Origin |
|
|
Access-Control-Allow-Methods | İzin verilen çapraz kaynak istek yöntemlerini belirtir. Birden çok yöntemi virgülle ( | POST,GET |
Access-Control-Allow-Headers | İzin verilen çapraz kaynak istek alanlarını belirtir. | X-Custom-Header |
Access-Control-Expose-Headers | Erişilebilen özel başlık bilgilerini belirtir. | Content-Length |
Access-Control-Allow-Credentials | Bir isteğe verilen yanıtın sayfaya gösterilip gösterilemeyeceğini belirtir.
| true |
Access-Control-Max-Age | İstemci programının belirli bir kaynak için ön istek sonucunun önbellek süresini belirtir. Birim: saniye. | 600 |
Content-Security-Policy | Bir sayfanın hangi kaynakları yükleyebileceğini kontrol etmek ve XSS saldırıları ile veri enjeksiyonu gibi güvenlik tehditlerine karşı savunma sağlamak amacıyla İçerik Güvenliği İlkesi (CSP) yapılandırır. CDN CSP ilke içeriğinde anlamsal doğrulama yapmaz ve yalnızca HTTP yanıt başlığının temel formatını doğrular. İlke içeriği tek satırlık bir dize olmalı ve satır sonları, geçersiz denetim karakterleri veya kaçışsız tırnak işaretleri içermemelidir. Dış çift tırnak işaretlerini dahil etmeyin. İlkeyi girmeden önce tarayıcı geliştirici araçlarında doğrulamanız veya CSP'yi kaynak sunucuda yapılandırarak CDN'in bunu iletmesini sağlamanız önerilir. | default-src 'self'; script-src 'self' 'unsafe-inline' |
Permissions-Policy | Kamera, mikrofon ve konum gibi belirli tarayıcı özelliklerine erişim izinlerini kontrol etmek için izin ilkelerini yapılandırır. | camera=(), microphone=() |
Yanıt başlığı değeri
*olarak ayarlanabilir; bu herhangi bir kaynağı ifade eder.Yanıt başlığı değeri
*değilse bir veya daha fazla IP adresi, bir veya daha fazla alan adı ya da IP adresleri ile alan adlarının bir kombinasyonunu yapılandırabilirsiniz. Bunları virgülle (,) ayırın.Yanıt başlığı değeri
*değilse değerhttp://veyahttps://protokol başlığını içermelidir.Yanıt başlığı değeri bağlantı noktalarını içerebilir.
Yanıt başlığı değeri joker karakterli alan adlarını destekler.
Giden ve gelen yanıt başlıkları arasındaki farklar
Giden ve gelen yanıt başlıkları önbelleğe alma sürecinin farklı aşamalarına uygulanır. Bir yanıt başlığı yapılandırmadan önce hedef nesneyi onaylayın:
Giden yanıt başlıkları (düğüm HTTP yanıt başlıkları): CDN düğümlerinden tarayıcılar gibi istemcilere gönderilen yanıt başlıkları. Bir düğümde içerik önbelleğe alındıysa düğüm kaynaktan çekme işlemi yapmadan içeriği doğrudan istemciye döndürür. Bu tür yanıt başlığı istemci ile CDN düğümü arasındaki önbelleğe alma davranışını kontrol etmek için kullanılır.
Gelen yanıt başlıkları (kaynaktan çekme HTTP yanıt başlıkları): Kaynak sunucudan CDN düğümlerine gönderilen yanıt başlıkları. Bir düğümdeki önbelleğin süresi dolduğunda veya önbellek isabeti olmadığında düğüm en güncel içeriği kaynak sunucudan ister. Kaynak sunucu tarafından döndürülen başlıklar gelen yanıt başlıklarıdır. Bu tür yanıt başlığı kaynak sunucu ile CDN düğümü arasındaki önbelleğe alma davranışını kontrol etmek için kullanılır.
Gelen yanıt başlıklarında yapılan değişiklikler (örneğin Set-Cookie'nin alan alanını değiştirme) yalnızca kaynak sunucu ile CDN düğümleri arasındaki iletişimi etkiler ve son kullanıcılar bu değişikliklerden haberdar olmaz. Son kullanıcıların aldığı yanıtları etkilemek için giden yanıt başlıklarını yapılandırın. Giden yanıt başlıkları hâlâ etkili olmuyorsa yanıt başlıklarını kaynak sunucuda değiştirmenizi öneririz.
Birden çok alan adı için toplu yapılandırma
Giden yanıt başlığı yapılandırmaları birden çok alan adına toplu olarak eklenebilir. Alan adlarını toplu olarak yapılandırmak için BatchSetCdnDomainConfig API işlemini çağırabilir ve yanıt başlıkları ekleme kurallarını işlemin işlev parametrelerini kullanarak ayarlayabilirsiniz.
Yapılandırmaların etkili olma süresi
Yapılandırmalar genellikle 5 dakika içinde etkili olur. Bir yapılandırma etkili olmadan önce durum Configuring olarak görüntülenir; bu normaldir.
SSS
Yanıt başlığı yapılandırmalarının etkili olmaması gibi sorunların giderilmesi hakkında bilgi için bkz. Önbellek sorun giderme kılavuzu.