logo
GeekFormat

Set-Cookie Ayrıştırıcı

Set-Cookie Parser

Öznitelikleri incelemek ve riskli SameSite / Secure kombinasyonlarını işaretlemek için çok satırlı Set-Cookie yanıt başlıklarını yapıştırın.

Çerez Öznitelik Kartları

2 Set-Cookie
#1sessionabc123
path/
httponly(bayrak)
secure(bayrak)
samesiteLax
Belirgin öznitelik sorunu bulunamadı
#2preview1
max-age600 (10m 0s)

setCookieParser.attr.maxAgeHint

samesiteNone
secure(bayrak)
setCookieParser.warn.missingHttpOnlysetCookieParser.warn.missingPath

JSON Önizleme

[
  {
    "index": 0,
    "raw": "session=abc123; Path=/; HttpOnly; Secure; SameSite=Lax",
    "name": "session",
    "value": "abc123",
    "decodedValue": "abc123",
    "attributes": [
      {
        "key": "path",
        "value": "/"
      },
      {
        "key": "httponly",
        "value": null
      },
      {
        "key": "secure",
        "value": null
      },
      {
        "key": "samesite",
        "value": "Lax"
      }
    ],
    "attributeMap": {
      "path": "/",
      "httponly": true,
      "secure": true,
      "samesite": "Lax"
    },
    "warnings": []
  },
  {
    "index": 1,
    "raw": "preview=1; Max-Age=600; SameSite=None; Secure",
    "name": "preview",
    "value": "1",
    "decodedValue": "1",
    "attributes": [
      {
        "key": "max-age",
        "value": "600"
      },
      {
        "key": "samesite",
        "value": "None"
      },
      {
        "key": "secure",
        "value": null
      }
    ],
    "attributeMap": {
      "max-age": "600",
      "samesite": "None",
      "secure": true
    },
    "warnings": [
      "warn.missingHttpOnly",
      "warn.missingPath"
    ]
  }
]

Set-Cookie başlığını yapıştırın ve tarayıcının Cookie'nizi neden kabul etmediğini anında öğrenin.

İlgili Öneriler

Kullanım senaryoları

  • Tarayıcı bir Cookie'yi kaydetmeyi reddettiğinde, bunun SameSite politikası sorunu mu, Secure bayrağının eksikliği mi yoksa Path/Domain uyumsuzluğu mu olduğunu hızla belirleyin
  • Cookie'lerin tarayıcı tarafından engellendiği üçüncü taraf giriş/SSO/iframe'e yerleştirme senaryolarında, SameSite=None'ın Secure ile doğru şekilde eşleşip eşleşmediğini kontrol edin
  • Güvenlik denetimleri sırasında, API'ler tarafından döndürülen tüm Cookie'lerin XSS yoluyla hırsızlığı önlemek için HttpOnly'ye sahip olup olmadığını ve HTTP üzerinden düz metin iletimini önlemek için Secure'un ayarlanıp ayarlanmadığını toplu olarak kontrol edin
  • __Host-/__Secure- önekli Cookie'leri kullanırken, tarayıcı tarafından sessizce reddedilmelerini önlemek için RFC 6265bis'in zorunlu gereksinimlerini karşılayıp karşılamadıklarını doğrulayın
  • Üçüncü taraf Cookie bölümleme çözümü CHIPS'i (Partitioned Cookie) hata ayıklarken, Partitioned ve Secure'un birlikte bildirildiğinden emin olun
  • Sunucuda Max-Age/Expires ayarlarken, saat sapması veya Max-Age=0 nedeniyle Cookie'nin hemen süresinin dolmasını önlemek için değerlerin geçerli olduğunu onaylayın
  • Geliştirme/test/üretim ortamları arasındaki Set-Cookie başlığı farklılıklarını karşılaştırarak, geliştirmede çalışan ancak üretimde kaybolan Cookie'lerin garip sorunlarını teşhis edin
  • Set-Cookie: önekini manuel olarak kaldırmanıza gerek kalmadan DevTools veya curl'den tüm yanıt başlığı bloklarını kopyalayın — araç bunu otomatik olarak tanır ve kaldırır
  • API belgeleri yazarken veya WASM/WebWorker istekleriyle ilgili hataları ayıklarken, Cookie yapısını göstermek için ayrıştırılmış JSON sonucunu doğrudan belgeye yapıştırın

Özellikler

  • Birden fazla Cookie'nin bağımsız ayrıştırılması: Her Set-Cookie satırı, numaralandırma ile adı, değeri ve URL ile çözülmüş değeri gösteren ayrı bir karta dönüşür, hangi Cookie'nin sorunlu olduğunu anında görmenizi sağlar
  • 14 özellik güvenlik kontrolü: SameSite=None için Secure eksikliği, geçersiz SameSite değeri, Partitioned için Secure eksikliği, HttpOnly eksikliği, Path eksikliği, SameSite eksikliği, __Host- öneki ihlali, __Secure- için Secure eksikliği, geçersiz/sıfır Max-Age, nokta ile başlayan Domain, Max-Age olmadan Expires vb. yaygın hataları otomatik olarak tanımlar
  • Tüm özelliklerin eksiksiz ayrıntıları: SameSite, Secure, HttpOnly, Path, Domain, Expires, Max-Age, Partitioned madde madde listelenir, flag tipi özellikler ile değerli özellikler net olarak ayırt edilir
  • Otomatik Max-Age dönüşümü: Saniyeleri okunabilir zamana (gün/saat/dakika/saniye) dönüştürür, örneğin Max-Age=2592000, 30d olarak gösterilir
  • URL ile çözülmüş değerin otomatik gösterimi: Cookie değeri %XX kodlaması içerdiğinde, çözülmüş orijinal metni otomatik olarak gösterir (ör. sessionID%3Dabc → sessionID=abc), yeşil bir ok ile işaretlenir
  • RFC 6265bis önek kontrolü: __Host- ve __Secure- önekli Cookie'ler için Path=/, Domain yasağı ve Secure zorunluluğu dahil olmak üzere uyumluluk gereksinimlerini titizlikle doğrular
  • Orijinal başlıkları tek tıklamayla kopyalama: Tüm ayrıştırılmış orijinal Cookie satırlarını tek seferde kopyalar, ekiple paylaşmak için e-postalara, issue'lara veya belgelere yapıştırmayı kolaylaştırır
  • Yapılandırılmış JSON önizlemesi: Ayrıştırma sonuçları, name/value/decodedValue/attributes/attributeMap/warnings eksiksiz alanları ile JSON formatında çıktıyı destekler, betiklerde ve test senaryolarında doğrudan kullanılabilir
  • Tamamen yerel işleme: Set-Cookie içeriği tarayıcıda yerel olarak ayrıştırılır, hiçbir sunucuya yüklenmez, hassas Session, Token ve diğer bilgilerin sızmasını önler
  • Akıllı uyarı rozetleri: Her sorun, RFC belgelerine madde madde bakmanıza gerek kalmadan belirli nedeni gösteren turuncu bir uyarı rozeti ile işaretlenir
  • Birden fazla satırdan toplu giriş: Tüm bir yanıt başlığı bloğunu tek seferde yapıştırın (Chrome DevTools Network panelinden kopyalandığı gibi), Set-Cookie: önekini otomatik olarak kaldırır ve satır satır ayrıştırır
  • Tırnak içindeki ve noktalı virgüllü değerler için destek: RFC spesifikasyonuna göre çift tırnak içindeki Cookie değerlerini ve Expires tarihlerindeki noktalı virgülleri doğru şekilde işler, hatalı bölme yapmaz

Nasıl Kullanılır

  1. Tarayıcı DevTools'un Network panelini açın, hedef isteği bulun ve Response Headers alanında Set-Cookie içeriğini kopyalayın (birden fazla satırı destekler, tüm Cookie'leri tek seferde kopyalayın)
  2. Kopyalanan Set-Cookie yanıt başlıklarını giriş alanına yapıştırın, satır başına bir Cookie (Set-Cookie: önekini manuel olarak kaldırmanıza gerek yok, araç otomatik olarak kaldırır)
  3. Araç gerçek zamanlı olarak ayrıştırır: üstte tanınan Set-Cookie sayısı gösterilir, altta her Cookie ayrı bir özellik kartı olarak sunulur
  4. Kartın başlığı numarayı, Cookie adını ve ham değeri gösterir; değer URL kodlaması içeriyorsa, çözülmüş değer yeşil bir oktan sonra gösterilir
  5. Kartın gövdesi SameSite, Secure, HttpOnly, Path, Domain, Max-Age, Expires, Partitioned vb. özellikleri madde madde sunar. Max-Age, parantez içinde otomatik olarak okunabilir zaman dönüşümünü içerir
  6. Kartın alt kısmı kontrol sonucunu gösterir: turuncu uyarı rozetleri belirli sorunları işaretler (her sorunun açıkça Türkçe açıklaması vardır), yeşil rozetler belirgin bir sorun bulunmadığını gösterir
  7. Sunucu yapılandırmasıyla karşılaştırmanız gerektiğinde tüm orijinal Set-Cookie satırlarını kopyalamak için «Orijinal başlıkları kopyala»ya tıklayın; programatik işleme için «JSON önizlemesi»ne bakın

Sık Sorulan Sorular

Set-Cookie başlığı başarıyla ayarlandı ama tarayıcı Cookie'mi neden kaydetmedi?

Bu en yaygın sorundur: tarayıcı aktif olarak hata vermez, yalnızca uyumsuz Cookie'leri sessizce atar. Yaygın nedenler şunlardır: SameSite=None için Secure eksikliği, Secure Cookie'nin bir HTTP sayfasından ayarlanması (localhost hariç), __Host-/__Secure- önekleri kısıtlamaları karşılamıyor, Domain/Path uyumsuzluğu, 4KB sınırı aşılıyor, Max-Age 0 veya negatif. Önce Set-Cookie'yi bu araca yapıştırarak uyarı rozetleriyle belirli nedeni tespit etmeniz, ardından Chrome DevTools → Application → Cookies'i açarak ilgili etki alanı altında sarı bir uyarı üçgeni olup olmadığını kontrol etmeniz önerilir — fareyle üzerine geldiğinizde reddin belirli nedenini göreceksiniz.

SameSite'ın Strict, Lax ve None arasındaki fark tam olarak nedir? Hangisini ne zaman kullanmalıyım?

Strict siteler arası gönderime hiç izin vermez, en güvenlisidir ancak kullanıcı harici sitelerdeki bağlantılara tıkladığında oturumu kapalı görünür, ödeme/şifre değiştirme gibi hassas işlem Cookie'leri için uygundur. Lax, Chrome 80+'nın varsayılan değeridir, kullanıcının harici bir bağlantıdan sitenize üst düzey GET gezinmesiyle dönmesi durumunda gönderime izin verir ancak iframe/img/script/XHR/POST formları gibi alt kaynaklarda gönderilmez, çoğu senaryo için önerilen değerdir. None, tüm siteler arası senaryolarda gönderime izin verir (SSO tek oturum açma, üçüncü taraf iframe yerleştirmeleri, siteler arası API çağrıları için kullanılır) ancak Secure'un aynı anda ayarlanmasını gerektirir, aksi takdirde tarayıcı doğrudan reddeder.

SameSite=None neden Secure ile birlikte kullanılmak zorunda?

Bu, Chrome tarafından 80 sürümünden (Şubat 2020) itibaren zorunlu kılınan ve Firefox, Edge ve Safari'nin takip ettiği bir kuraldır. SameSite=None, Cookie'lerin siteler arası gönderimine açıkça izin verdiğinden, saldırganların siteler arası senaryolarda CSRF veya dinleme başlatması daha kolaydır, riskleri azaltmak için Secure (HTTPS şifreli iletim) ile birlikte kullanılması gerekir. SameSite=None Cookie'niz HTTP üzerinden ayarlanırsa, tarayıcı onu kaydetmeden atacaktır. Bu araç, SameSite=None'ın Secure olmadan kombinasyonunu tespit eder ve kırmızı bir uyarı ile işaretler.

Hangisini kullanmalıyım: Max-Age mi Expires mı? Farkları neler?

Max-Age'i tercih edin. Max-Age göreceli zamandır (kaç saniye sonra süresi dolar), istemci saatine bağlı değildir, tarayıcı aldığında geri sayımı başlatır; Expires mutlak bir zaman noktasıdır, kullanıcının bilgisayarının yerel saatine bağlıdır (kullanıcı saati 1970'e çekerse Cookie hemen süresi dolar). İkisi birden mevcut olduğunda Max-Age daha yüksek önceliğe sahiptir (RFC 6265'te açıkça belirtilmiştir). Hiçbiri ayarlanmazsa Cookie, tarayıcı kapatıldığında süresi dolan bir «oturum Cookie'si» haline gelir. Bu araç, Expires ayarlandığında ancak Max-Age ayarlanmadığında bir ipucu verir ve Max-Age eklenmesini önerir. Max-Age biriminin milisaniye değil saniye olduğunu unutmayın.

Path=/ ile Path ayarlamamak arasındaki fark nedir?

Path, tarayıcının isteklerde bu Cookie'yi hangi URL yollarında göndereceğini belirler. Path ayarlanmadığında, tarayıcı varsayılan olarak «yanıt URL'sinin son segmenti çıkarılmış yolunu» kullanır. Örneğin /api/user/login'den bir Cookie ayarlarken varsayılan Path /api/user/'dir, bu nedenle / ve /order/ yollarındaki istekler bu Cookie'yi göndermez. Path=/ öğesini açıkça ayarlamak, Cookie'nin tüm site için geçerli olmasını sağlar. Path eşleştirmesinin önek eşleştirmesi olduğunu unutmayın — Path=/api ayrıca /api/, /api/user, /api/v2/abc vb. ile de eşleşir. __Host- önekli Cookie'ler zorunlu olarak Path=/ gerektirir.

Başında nokta olan Domain (örneğin .example.com) ile nokta olmayan Domain arasındaki fark nedir?

Modern tarayıcılarda (Chrome, Firefox, Edge, Safari'nin güncel sürümleri) ikisi zaten eşdeğerdir: her ikisi de Cookie'nin example.com ve tüm alt alan adları (a.example.com, b.c.example.com) için geçerli olmasını sağlar. Baştaki nokta RFC 2109 zamanından kalma eski bir sözdizimiydi — RFC 6265, baştaki noktanın göz ardı edildiğini zaten açıkça belirtmiştir. Bununla birlikte, okunabilirlik için noktasız yazılması önerilir. Bu araç, Domain'in başında nokta olduğunda bir ipucu verir (hata değildir, ancak eski bir sözdizimidir). Unutmayın: Domain ayarlanmadığında Cookie yalnızca geçerli ana bilgisayar için geçerlidir (alt alan adları almaz), Domain ayarlandığında alt alan adları için geçerli olmaya başlar.

__Host- ve __Secure- önekleri nedir? Önekler olmadan çalışabilir miyim?

Bunlar, yüksek güvenlikli Cookie'lere sıkı kısıtlamalar getirmek için RFC 6265bis'te tanıtılan Cookie adı güvenlik önekleridir: tarayıcı Cookie adının __Host- ile başladığını gördüğünde, zorunlu olarak Secure, Path=/ ve Domain özelliğinin ayarlanmamış olmasını gerektirir — herhangi bir koşul karşılanmazsa depolamayı doğrudan reddeder; __Secure- öneki Secure'un ayarlanmasını gerektirir, diğer özellikler yapılandırılabilir. Önekler olmadan da çalışılabilir (çoğu Cookie önek kullanmaz), ancak oturum tanımlayıcıları, yetkilendirme belirteçleri gibi yüksek güvenlikli Cookie'ler için __Host- önekinin kullanılması kesinlikle önerilir, çünkü alt alan adı/yol düzeyinde Cookie enjeksiyonu saldırılarını önler. Bu araç, her iki önekin uyumluluğunu otomatik olarak kontrol eder.

HttpOnly Cookie gerçekten güvenli midir? XSS ve CSRF'yi önler mi?

HttpOnly, JavaScript'in cookie değerlerini document.cookie aracılığıyla okumasını engeller, <strong>XSS yoluyla oturum hırsızlığını azaltmak</strong> için önemli bir savunma hattıdır, ancak mucizevi bir çözüm değildir: XSS saldırganları hala kullanıcının tarayıcısında (istekler otomatik olarak Cookie taşır) eylemler gerçekleştirmek için istekler yapabilir (bu CSRF'nin kapsamıdır); HttpOnly ayrıca CSRF saldırılarına karşı savunma yapmaz (SameSite veya CSRF Token gerekir). HttpOnly+Secure+SameSite=Lax/Strict üçlüsünün aynı anda kullanılması ancak temel güvenlik seviyesine ulaşır. Hassas Cookie'ler (session, JWT, access_token) HttpOnly olmalıdır, zorunlu olmadıkça ön uç JS'ine erişim vermeyin. Bu araç, HttpOnly'si olmayan Cookie'leri bir uyarı ile işaretler.

Partitioned (CHIPS) Cookie nedir? Ne zaman kullanmam gerekir?

Partitioned, Chrome tarafından üçüncü taraf Cookie'lerin kaldırılmasına yanıt olarak sunulan yeni bir özelliktir, tam adı Cookies Having Independent Partitioned State'tir (CHIPS). Geleneksel üçüncü taraf Cookie'leri (birden fazla sitede ayarlanan reklam/yerleşik hizmetler gibi) küresel olarak paylaşılır ve kullanıcıları siteler arası izlemek için kullanılabilir. Partitioned ile tarayıcı, üçüncü taraf Cookie'yi üst düzey site başına ayrı olarak depolar: kullanıcının A Sitesinde gördüğü üçüncü taraf Cookie, B Sitesinde gördüğünden tamamen bağımsızdır ve siteler arası kimlik paylaşamaz. Kullanım senaryoları: yerleşik video/harita/ödeme bileşenleri, üçüncü taraf destek eklentileri, iframe'e yerleştirilmiş siteler arası SSO. Partitioned kullanımı Secure'un aynı anda ayarlanmasını gerektirir, __Host- öneki ile kullanılması önerilir.

Bir Cookie en fazla ne kadar depolayabilir? Etki alanı başına kaç Cookie sığabilir?

RFC 6265'e göre tarayıcılar Cookie başına en az 4096 bayt desteklemelidir (ad, değer ve özellikler dahil), ana tarayıcılar (Chrome/Firefox/Safari/Edge) bu sınıra uyar — sınırı aşan içerik sessizce kesilir veya atılır. Sayı sınırları tarayıcıya göre değişir: Chrome etki alanı başına yaklaşık 180, Firefox yaklaşık 150, Safari yaklaşık 600 (ve ITP'nin yedi günlük temizleme politikasından etkilenir); aşıldığında tarayıcı en eski Cookie'leri LRU politikasına göre kaldırır. Cookie'lerin yalnızca oturum tanımlayıcılarını saklaması önerilir, büyük iş verisi parçalarını Cookie'lere koymayın (iş verilerini localStorage'a veya sunucu oturumuna koyun).

Araç, Set-Cookie'yi doğrudan Chrome DevTools'tan kopyalayıp ayrıştırmayı destekliyor mu? Öneki manuel olarak kaldırmam gerekir mi?

Tamamen destekler, manuel işleme gerek yoktur. Chrome DevTools'un Network panelinde hedef isteğe tıklayabilir, Set-Cookie değerini Response Headers alanında sağ tıklayarak doğrudan kopyalayabilir (birden fazla satır için Ctrl/⌘+tıklama ile çoklu seçim yapın veya tüm bloğu kopyalayın) ve bu aracın giriş alanına yapıştırabilirsiniz. Araç, Set-Cookie: önekini her satırın başından otomatik olarak kaldırır (büyük/küçük harfe duyarsız), satır başındaki/sonundaki boşlukları otomatik olarak işler, Expires tarihlerindeki virgül ve noktalı virgül gibi özel karakterleri doğru şekilde işler ve ayrıca çift tırnak içindeki Cookie değerlerini doğru şekilde işler.

Cookie değerlerindeki Çince veya özel karakterler neden %XX biçimine dönüşüyor?

RFC 6265, Cookie değerlerinin yalnızca ASCII karakter setinin güvenli bir alt kümesini kullanmasını gerektirir ve doğrudan ASCII olmayan karakterler, boşluklar, virgüller, noktalı virgüller vb. içeremez. Çoğu sunucu çerçevesi, Cookie'leri ayarlarken ASCII olmayan karakterler için otomatik olarak URL kodlaması (encodeURIComponent/Percent-encoding) gerçekleştirir. Tarayıcılar da geri gönderirken kodlanmış biçimi korur. Bu araç, değerin %XX kodlaması içerdiğini tespit ettiğinde, decodeURIComponent ile çözülmüş orijinal metni ham değerin yanında yeşil bir ok ile otomatik olarak gösterir, böylece gerçek içeriği görüntülemek kolaylaşır.

Set-Cookie ile Cookie istek başlığı arasındaki fark nedir?

Bunlar tamamen farklı yönlere sahip başlıklardır: Set-Cookie bir yanıt başlığıdır (sunucu→tarayıcı), yalnızca yanıtlarda görünür, birden fazla kez görünebilir, her seferinde tam özelliklere (Secure/HttpOnly/Path/Domain vb.) sahip bir Cookie ayarlar; Cookie bir istek başlığıdır (tarayıcı→sunucu), istek başına yalnızca bir kez görünür, mevcut kapsamla eşleşen tüm Cookie'lerin name=value çiftlerini düz biçimde içerir (name1=v1; name2=v2), hiçbir özellik bilgisi içermez. Yani sunucu, bir istekte belirli bir Cookie'nin HttpOnly veya Secure ayarlı olup olmadığını bilemez — özellik bilgileri yalnızca tarayıcı tarafından yerel depolamada tutulur. İsteklerdeki Cookie başlığını ayrıştırmak için eşlik eden <a href='/network/http-cookie-parser/'>Cookie istek başlığı ayrıştırıcısını</a> kullanın.

Safari'de Cookie'lerim neden birkaç gün sonra kayboluyor?

Bu, Safari'nin Akıllı İzleme Önleme (ITP: Intelligent Tracking Prevention) mekanizmasının çalışmasıdır. ITP 2.1'den itibaren, kullanıcı 7 gün boyunca etki alanıyla doğrudan etkileşimde bulunmazsa (yani o etki alanının sitesini doğrudan ziyaret etmezse), Safari, Max-Age/Expires ne kadar uzun ayarlanmış olursa olsun, o etki alanı altındaki tüm Cookie'leri ve site verilerini temizler. Bu en çok yerleşik üçüncü taraf hizmetleri etkiler, ana sitenin Cookie'leri ise kullanıcı siteyi ziyaret etmeye devam ettiği sürece etkilenmez. Ayrıca Safari'nin üçüncü taraf Cookie'lere yönelik kısıtlamaları Chrome'dan daha sıkıdır. Çözümler şunları içerir: Partitioned özelliğini kullanmak, Storage Access API aracılığıyla izin istemek veya kullanıcı ana siteyi ziyaret ettiğinde Cookie'yi yenilemek. Bu aracın sorun giderme bölümü, Safari'de hata ayıklama için daha ayrıntılı yönergeler içerir.

Araç birden fazla Set-Cookie'nin toplu olarak ayrıştırılmasını destekliyor mu? Cookie içeriği sunuculara gönderiliyor mu?

Toplu ayrıştırmayı destekler. Giriş alanı, herhangi bir sayıda Set-Cookie satırının yapıştırılmasını destekler (tüm bir yanıt başlığı bloğunu bir kerede yapıştırmak gibi), her Set-Cookie bağımsız numaralandırma ile ayrıştırılır, birden fazla özellik kartı ayrı ayrı özellikleri ve uyarıları gösterir. Tüm ayrıştırma süreci tamamen tarayıcınızda yerel olarak gerçekleştirilir (yalnızca ön uç JavaScript işleme), Cookie içeriği hiçbir sunucuya gönderilmez, hiçbir ağ isteği yapılmaz — yapıştırdığınız Session/Token gibi hassas bilgiler bilgisayarınızdan çıkmaz, gönül rahatlığıyla kullanabilirsiniz.

术语表

Set-Cookie
Sunucunun tarayıcıya Cookie'leri depolamasını belirttiği HTTP yanıt başlığıdır, bir yanıtta birden fazla kez görünebilir.
Cookie (istek başlığı)
Tarayıcı tarafından otomatik olarak eklenen, kapsam gereksinimlerini karşılayan Cookie ad-değer çiftlerinin listesi olan HTTP istek başlığıdır, özellik içermez.
HttpOnly
Cookie özellik bayrağı. Ayarlandığında JavaScript, document.cookie aracılığıyla bu Cookie'yi okuyamaz, esas olarak XSS yoluyla oturum hırsızlığına karşı savunma yapar.
Secure
Cookie özellik bayrağı. Ayarlandığında tarayıcı bu Cookie'yi yalnızca şifreli HTTPS bağlantılarında (veya localhost) gönderir.
SameSite
Cookie'lerin siteler arası isteklerde gönderilip gönderilmeyeceğini kontrol eden Cookie özelliğidir, değerleri Strict/Lax/None. Chrome 80+ varsayılan olarak Lax.
Max-Age
Cookie'nin ömrünü saniye cinsinden belirten Cookie özelliğidir, Expires'tan daha yüksek önceliğe sahiptir, önerilir. =0 hemen silme anlamına gelir.
Expires
Cookie'nin belirli bir sona erme zamanını (HTTP-date) belirten Cookie özelliğidir, istemci saatine bağlıdır.
Path
Cookie'nin geçerli olduğu URL yol önekini sınırlayan Cookie özelliğidir, varsayılan olarak yanıt URL'sinin dizin kısmını alır.
Domain
Cookie'nin geçerli olduğu etki alanını sınırlayan Cookie özelliğidir. Ayarlanmazsa — yalnızca geçerli ana bilgisayar; ayarlanırsa — alt alan adları dahil.
Partitioned (CHIPS)
Üçüncü taraf Cookie'lerin bölümlenmiş depolanmasını etkinleştiren Cookie özellik bayrağıdır, Chrome tarafından üçüncü taraf Cookie'lerin kaldırılmasından sonraki yerine geçen çözümdür, Secure ile birlikte kullanılmalıdır.
__Host- öneki
Cookie adı öneki yoluyla güvenlik kısıtlaması. Secure, Path=/ ve Domain olmamasını gerektirir; ihlal edilirse tarayıcı depolamayı reddeder.
__Secure- öneki
Cookie adı öneki yoluyla güvenlik kısıtlaması. Secure'un ayarlanmasını gerektirir; ihlal edilirse tarayıcı depolamayı reddeder.
Oturum Cookie'si (Session Cookie)
Max-Age ve Expires ayarlanmamış Cookie'dir, tarayıcı kapatıldığında otomatik olarak silinir.
Üçüncü taraf Cookie (Third-party Cookie)
O anda ziyaret edilen sayfanın etki alanından farklı bir etki alanı tarafından ayarlanan Cookie'dir, genellikle reklam, izleme, iframe yerleştirmeleri gibi üçüncü taraf hizmetleri tarafından ayarlanır ve tarayıcılar tarafından aşamalı olarak kısıtlanır.

Hızlı başvuru tablosu: üç SameSite stratejisinin karşılaştırması

Set-Cookie özelliklerinin eksiksiz başvuru tablosu (RFC 6265bis)

Yaygın tarayıcılarda Set-Cookie boyut ve sayı sınırları

Troubleshooting