WEB / WEB-12.02
Cookie scope, lifetime ve flags
Jar’daki bir cookie’nin belirli request’e neden eklendiğini veya dışarıda kaldığını scope, süre, kanal ve site bağlamıyla açıkla.
1. Core · Mekanizma
Hareket olmadan bütün senaryoları oku
Normal same-host
- İki alternatif cookie tanımı
Host-only ile Domain=outreason.example ayrı varsayımsal konfigürasyonlardır; aynı jar’da çakışan iki hd_scope kaydı gösterilmiyor. Her biri zaten kabul edilmiş stored candidate’tır.
- Browser · candidate jar
- H: host-only · D: parent Domain
- Application · request received
- Request henüz yok
- Request · selection context
- Path=/books · Max-Age=1200
- Request context açık olarak seçilir
Target, method, top-level navigation ve same-site metadata’sı bu fixture’da verilir. Same-site, same-origin ile aynı değildir; bu model Public Suffix List veya redirect chain hesaplamaz.
- Browser · candidate jar
- Candidate selection bekliyor
- Application · request received
- Request henüz yok
- Request · selection context
- GET https://library.outreason.example/books/42 · t=200
- Host ve slash-path kapıları
Host-only exact host gerektirir; parent Domain uygun subdomain’i kapsayabilir. /books, /books/42 ile eşleşir ama /bookstore ile eşleşmez. Path bir authorization veya application isolation sınırı değildir.
- Browser · candidate jar
- host H/D ✓/✓ · path H/D ✓/✓
- Application · request received
- Request henüz yok
- Request · selection context
- Scope değerlendirmesi local
- Browser lifetime ayrı hesaplanır
Explicit browser model clock: creation t=100, Max-Age=1200; t=1300 dahil expired. Server session clock veya revocation bu cookie-selection modeliyle hesaplanmaz.
- Browser · candidate jar
- lifetime H/D ✓/✓
- Application · request received
- Request henüz yok
- Request · selection context
- Browser clock t=200
- Kanal ve script erişimi farklıdır
Secure ordinary HTTPS channel ister; labelled HTTP case loopback istisnası değildir. HttpOnly script API erişimini sınırlar; uygun request cookie’yi yine taşıyabilir. Buradaki script-read sonucu target ile aynı document context’i varsayar.
- Browser · candidate jar
- channel H/D ✓/✓
- Application · request received
- Request henüz yok
- Request · selection context
- Script read H/D: no/no
- Site ve browser request policy kapıları
Explicit Lax cross-site safe top-level navigation’a izin verebilir; background POST’a vermez. Strict cross-site’i eler. None diğer scope/privacy/credentials koşullarını kaldırmaz. Bu modeller prefix, partition ve default-Lax compatibility parser’ı değildir.
- Browser · candidate jar
- Host-only: included · Domain: included
- Application · request received
- Request henüz yok
- Request · selection context
- sameSite H/D ✓/✓ · privacy H/D ✓/✓ · credentials H/D ✓/✓
- HTTP request seçilmiş state ile ulaştı
Cookie excluded olsa da HTTP request’in kendisi gerçekleşebilir. İki alternatifin eligibility sonucu ayrı gösterilir; browser’ın seçimi application permission kararı değildir.
- Browser · candidate jar
- Host-only: included · Domain: included
- Application · request received
- Request alındı; cookie inclusion ayrı
- Request · selection context
- HTTP request geldi
- Cookie varlığı yalnız bir gözlemdir
Server name/value alınmışsa bunu kendi doğrulama ve policy’sinde değerlendirir. Bu saf simulation gerçek browser jar’ı, authentication başarısı veya access hakkı kanıtı değildir.
- Browser · candidate jar
- Host-only: included · Domain: included
- Application · request received
- Server validity/authz ayrı
- Request · selection context
- Script read H/D: no/no
Host-only vs Domain
- İki alternatif cookie tanımı
Host-only ile Domain=outreason.example ayrı varsayımsal konfigürasyonlardır; aynı jar’da çakışan iki hd_scope kaydı gösterilmiyor. Her biri zaten kabul edilmiş stored candidate’tır.
- Browser · candidate jar
- H: host-only · D: parent Domain
- Application · request received
- Request henüz yok
- Request · selection context
- Path=/books · Max-Age=1200
- Request context açık olarak seçilir
Target, method, top-level navigation ve same-site metadata’sı bu fixture’da verilir. Same-site, same-origin ile aynı değildir; bu model Public Suffix List veya redirect chain hesaplamaz.
- Browser · candidate jar
- Candidate selection bekliyor
- Application · request received
- Request henüz yok
- Request · selection context
- GET https://api.library.outreason.example/books/42 · t=200
- Host ve slash-path kapıları
Host-only exact host gerektirir; parent Domain uygun subdomain’i kapsayabilir. /books, /books/42 ile eşleşir ama /bookstore ile eşleşmez. Path bir authorization veya application isolation sınırı değildir.
- Browser · candidate jar
- host H/D ×/✓ · path H/D ✓/✓
- Application · request received
- Request henüz yok
- Request · selection context
- Scope değerlendirmesi local
- Browser lifetime ayrı hesaplanır
Explicit browser model clock: creation t=100, Max-Age=1200; t=1300 dahil expired. Server session clock veya revocation bu cookie-selection modeliyle hesaplanmaz.
- Browser · candidate jar
- lifetime H/D ✓/✓
- Application · request received
- Request henüz yok
- Request · selection context
- Browser clock t=200
- Kanal ve script erişimi farklıdır
Secure ordinary HTTPS channel ister; labelled HTTP case loopback istisnası değildir. HttpOnly script API erişimini sınırlar; uygun request cookie’yi yine taşıyabilir. Buradaki script-read sonucu target ile aynı document context’i varsayar.
- Browser · candidate jar
- channel H/D ✓/✓
- Application · request received
- Request henüz yok
- Request · selection context
- Script read H/D: no/no
- Site ve browser request policy kapıları
Explicit Lax cross-site safe top-level navigation’a izin verebilir; background POST’a vermez. Strict cross-site’i eler. None diğer scope/privacy/credentials koşullarını kaldırmaz. Bu modeller prefix, partition ve default-Lax compatibility parser’ı değildir.
- Browser · candidate jar
- Host-only: excluded · Domain: included
- Application · request received
- Request henüz yok
- Request · selection context
- sameSite H/D ✓/✓ · privacy H/D ✓/✓ · credentials H/D ✓/✓
- HTTP request seçilmiş state ile ulaştı
Cookie excluded olsa da HTTP request’in kendisi gerçekleşebilir. İki alternatifin eligibility sonucu ayrı gösterilir; browser’ın seçimi application permission kararı değildir.
- Browser · candidate jar
- Host-only: excluded · Domain: included
- Application · request received
- Request alındı; cookie inclusion ayrı
- Request · selection context
- HTTP request geldi
- Cookie varlığı yalnız bir gözlemdir
Server name/value alınmışsa bunu kendi doğrulama ve policy’sinde değerlendirir. Bu saf simulation gerçek browser jar’ı, authentication başarısı veya access hakkı kanıtı değildir.
- Browser · candidate jar
- Host-only: excluded · Domain: included
- Application · request received
- Server validity/authz ayrı
- Request · selection context
- Script read H/D: no/no
/books ≠ /bookstore
- İki alternatif cookie tanımı
Host-only ile Domain=outreason.example ayrı varsayımsal konfigürasyonlardır; aynı jar’da çakışan iki hd_scope kaydı gösterilmiyor. Her biri zaten kabul edilmiş stored candidate’tır.
- Browser · candidate jar
- H: host-only · D: parent Domain
- Application · request received
- Request henüz yok
- Request · selection context
- Path=/books · Max-Age=1200
- Request context açık olarak seçilir
Target, method, top-level navigation ve same-site metadata’sı bu fixture’da verilir. Same-site, same-origin ile aynı değildir; bu model Public Suffix List veya redirect chain hesaplamaz.
- Browser · candidate jar
- Candidate selection bekliyor
- Application · request received
- Request henüz yok
- Request · selection context
- GET https://library.outreason.example/bookstore · t=200
- Host ve slash-path kapıları
Host-only exact host gerektirir; parent Domain uygun subdomain’i kapsayabilir. /books, /books/42 ile eşleşir ama /bookstore ile eşleşmez. Path bir authorization veya application isolation sınırı değildir.
- Browser · candidate jar
- host H/D ✓/✓ · path H/D ×/×
- Application · request received
- Request henüz yok
- Request · selection context
- Scope değerlendirmesi local
- Browser lifetime ayrı hesaplanır
Explicit browser model clock: creation t=100, Max-Age=1200; t=1300 dahil expired. Server session clock veya revocation bu cookie-selection modeliyle hesaplanmaz.
- Browser · candidate jar
- lifetime H/D ✓/✓
- Application · request received
- Request henüz yok
- Request · selection context
- Browser clock t=200
- Kanal ve script erişimi farklıdır
Secure ordinary HTTPS channel ister; labelled HTTP case loopback istisnası değildir. HttpOnly script API erişimini sınırlar; uygun request cookie’yi yine taşıyabilir. Buradaki script-read sonucu target ile aynı document context’i varsayar.
- Browser · candidate jar
- channel H/D ✓/✓
- Application · request received
- Request henüz yok
- Request · selection context
- Script read H/D: no/no
- Site ve browser request policy kapıları
Explicit Lax cross-site safe top-level navigation’a izin verebilir; background POST’a vermez. Strict cross-site’i eler. None diğer scope/privacy/credentials koşullarını kaldırmaz. Bu modeller prefix, partition ve default-Lax compatibility parser’ı değildir.
- Browser · candidate jar
- Host-only: excluded · Domain: excluded
- Application · request received
- Request henüz yok
- Request · selection context
- sameSite H/D ✓/✓ · privacy H/D ✓/✓ · credentials H/D ✓/✓
- HTTP request seçilmiş state ile ulaştı
Cookie excluded olsa da HTTP request’in kendisi gerçekleşebilir. İki alternatifin eligibility sonucu ayrı gösterilir; browser’ın seçimi application permission kararı değildir.
- Browser · candidate jar
- Host-only: excluded · Domain: excluded
- Application · request received
- Request alındı; cookie inclusion ayrı
- Request · selection context
- HTTP request geldi
- Cookie varlığı yalnız bir gözlemdir
Server name/value alınmışsa bunu kendi doğrulama ve policy’sinde değerlendirir. Bu saf simulation gerçek browser jar’ı, authentication başarısı veya access hakkı kanıtı değildir.
- Browser · candidate jar
- Host-only: excluded · Domain: excluded
- Application · request received
- Server validity/authz ayrı
- Request · selection context
- Script read H/D: no/no
HTTP · Secure excluded
- İki alternatif cookie tanımı
Host-only ile Domain=outreason.example ayrı varsayımsal konfigürasyonlardır; aynı jar’da çakışan iki hd_scope kaydı gösterilmiyor. Her biri zaten kabul edilmiş stored candidate’tır.
- Browser · candidate jar
- H: host-only · D: parent Domain
- Application · request received
- Request henüz yok
- Request · selection context
- Path=/books · Max-Age=1200
- Request context açık olarak seçilir
Target, method, top-level navigation ve same-site metadata’sı bu fixture’da verilir. Same-site, same-origin ile aynı değildir; bu model Public Suffix List veya redirect chain hesaplamaz.
- Browser · candidate jar
- Candidate selection bekliyor
- Application · request received
- Request henüz yok
- Request · selection context
- GET http://library.outreason.example/books/42 · t=200
- Host ve slash-path kapıları
Host-only exact host gerektirir; parent Domain uygun subdomain’i kapsayabilir. /books, /books/42 ile eşleşir ama /bookstore ile eşleşmez. Path bir authorization veya application isolation sınırı değildir.
- Browser · candidate jar
- host H/D ✓/✓ · path H/D ✓/✓
- Application · request received
- Request henüz yok
- Request · selection context
- Scope değerlendirmesi local
- Browser lifetime ayrı hesaplanır
Explicit browser model clock: creation t=100, Max-Age=1200; t=1300 dahil expired. Server session clock veya revocation bu cookie-selection modeliyle hesaplanmaz.
- Browser · candidate jar
- lifetime H/D ✓/✓
- Application · request received
- Request henüz yok
- Request · selection context
- Browser clock t=200
- Kanal ve script erişimi farklıdır
Secure ordinary HTTPS channel ister; labelled HTTP case loopback istisnası değildir. HttpOnly script API erişimini sınırlar; uygun request cookie’yi yine taşıyabilir. Buradaki script-read sonucu target ile aynı document context’i varsayar.
- Browser · candidate jar
- channel H/D ×/×
- Application · request received
- Request henüz yok
- Request · selection context
- Script read H/D: no/no
- Site ve browser request policy kapıları
Explicit Lax cross-site safe top-level navigation’a izin verebilir; background POST’a vermez. Strict cross-site’i eler. None diğer scope/privacy/credentials koşullarını kaldırmaz. Bu modeller prefix, partition ve default-Lax compatibility parser’ı değildir.
- Browser · candidate jar
- Host-only: excluded · Domain: excluded
- Application · request received
- Request henüz yok
- Request · selection context
- sameSite H/D ✓/✓ · privacy H/D ✓/✓ · credentials H/D ✓/✓
- HTTP request seçilmiş state ile ulaştı
Cookie excluded olsa da HTTP request’in kendisi gerçekleşebilir. İki alternatifin eligibility sonucu ayrı gösterilir; browser’ın seçimi application permission kararı değildir.
- Browser · candidate jar
- Host-only: excluded · Domain: excluded
- Application · request received
- Request alındı; cookie inclusion ayrı
- Request · selection context
- HTTP request geldi
- Cookie varlığı yalnız bir gözlemdir
Server name/value alınmışsa bunu kendi doğrulama ve policy’sinde değerlendirir. Bu saf simulation gerçek browser jar’ı, authentication başarısı veya access hakkı kanıtı değildir.
- Browser · candidate jar
- Host-only: excluded · Domain: excluded
- Application · request received
- Server validity/authz ayrı
- Request · selection context
- Script read H/D: no/no
Lax · top-level GET
- İki alternatif cookie tanımı
Host-only ile Domain=outreason.example ayrı varsayımsal konfigürasyonlardır; aynı jar’da çakışan iki hd_scope kaydı gösterilmiyor. Her biri zaten kabul edilmiş stored candidate’tır.
- Browser · candidate jar
- H: host-only · D: parent Domain
- Application · request received
- Request henüz yok
- Request · selection context
- Path=/books · Max-Age=1200
- Request context açık olarak seçilir
Target, method, top-level navigation ve same-site metadata’sı bu fixture’da verilir. Same-site, same-origin ile aynı değildir; bu model Public Suffix List veya redirect chain hesaplamaz.
- Browser · candidate jar
- Candidate selection bekliyor
- Application · request received
- Request henüz yok
- Request · selection context
- GET https://library.outreason.example/books/42 · t=200
- Host ve slash-path kapıları
Host-only exact host gerektirir; parent Domain uygun subdomain’i kapsayabilir. /books, /books/42 ile eşleşir ama /bookstore ile eşleşmez. Path bir authorization veya application isolation sınırı değildir.
- Browser · candidate jar
- host H/D ✓/✓ · path H/D ✓/✓
- Application · request received
- Request henüz yok
- Request · selection context
- Scope değerlendirmesi local
- Browser lifetime ayrı hesaplanır
Explicit browser model clock: creation t=100, Max-Age=1200; t=1300 dahil expired. Server session clock veya revocation bu cookie-selection modeliyle hesaplanmaz.
- Browser · candidate jar
- lifetime H/D ✓/✓
- Application · request received
- Request henüz yok
- Request · selection context
- Browser clock t=200
- Kanal ve script erişimi farklıdır
Secure ordinary HTTPS channel ister; labelled HTTP case loopback istisnası değildir. HttpOnly script API erişimini sınırlar; uygun request cookie’yi yine taşıyabilir. Buradaki script-read sonucu target ile aynı document context’i varsayar.
- Browser · candidate jar
- channel H/D ✓/✓
- Application · request received
- Request henüz yok
- Request · selection context
- Script read H/D: no/no
- Site ve browser request policy kapıları
Explicit Lax cross-site safe top-level navigation’a izin verebilir; background POST’a vermez. Strict cross-site’i eler. None diğer scope/privacy/credentials koşullarını kaldırmaz. Bu modeller prefix, partition ve default-Lax compatibility parser’ı değildir.
- Browser · candidate jar
- Host-only: included · Domain: included
- Application · request received
- Request henüz yok
- Request · selection context
- sameSite H/D ✓/✓ · privacy H/D ✓/✓ · credentials H/D ✓/✓
- HTTP request seçilmiş state ile ulaştı
Cookie excluded olsa da HTTP request’in kendisi gerçekleşebilir. İki alternatifin eligibility sonucu ayrı gösterilir; browser’ın seçimi application permission kararı değildir.
- Browser · candidate jar
- Host-only: included · Domain: included
- Application · request received
- Request alındı; cookie inclusion ayrı
- Request · selection context
- HTTP request geldi
- Cookie varlığı yalnız bir gözlemdir
Server name/value alınmışsa bunu kendi doğrulama ve policy’sinde değerlendirir. Bu saf simulation gerçek browser jar’ı, authentication başarısı veya access hakkı kanıtı değildir.
- Browser · candidate jar
- Host-only: included · Domain: included
- Application · request received
- Server validity/authz ayrı
- Request · selection context
- Script read H/D: no/no
Lax · background POST
- İki alternatif cookie tanımı
Host-only ile Domain=outreason.example ayrı varsayımsal konfigürasyonlardır; aynı jar’da çakışan iki hd_scope kaydı gösterilmiyor. Her biri zaten kabul edilmiş stored candidate’tır.
- Browser · candidate jar
- H: host-only · D: parent Domain
- Application · request received
- Request henüz yok
- Request · selection context
- Path=/books · Max-Age=1200
- Request context açık olarak seçilir
Target, method, top-level navigation ve same-site metadata’sı bu fixture’da verilir. Same-site, same-origin ile aynı değildir; bu model Public Suffix List veya redirect chain hesaplamaz.
- Browser · candidate jar
- Candidate selection bekliyor
- Application · request received
- Request henüz yok
- Request · selection context
- POST https://library.outreason.example/books/42 · t=200
- Host ve slash-path kapıları
Host-only exact host gerektirir; parent Domain uygun subdomain’i kapsayabilir. /books, /books/42 ile eşleşir ama /bookstore ile eşleşmez. Path bir authorization veya application isolation sınırı değildir.
- Browser · candidate jar
- host H/D ✓/✓ · path H/D ✓/✓
- Application · request received
- Request henüz yok
- Request · selection context
- Scope değerlendirmesi local
- Browser lifetime ayrı hesaplanır
Explicit browser model clock: creation t=100, Max-Age=1200; t=1300 dahil expired. Server session clock veya revocation bu cookie-selection modeliyle hesaplanmaz.
- Browser · candidate jar
- lifetime H/D ✓/✓
- Application · request received
- Request henüz yok
- Request · selection context
- Browser clock t=200
- Kanal ve script erişimi farklıdır
Secure ordinary HTTPS channel ister; labelled HTTP case loopback istisnası değildir. HttpOnly script API erişimini sınırlar; uygun request cookie’yi yine taşıyabilir. Buradaki script-read sonucu target ile aynı document context’i varsayar.
- Browser · candidate jar
- channel H/D ✓/✓
- Application · request received
- Request henüz yok
- Request · selection context
- Script read H/D: no/no
- Site ve browser request policy kapıları
Explicit Lax cross-site safe top-level navigation’a izin verebilir; background POST’a vermez. Strict cross-site’i eler. None diğer scope/privacy/credentials koşullarını kaldırmaz. Bu modeller prefix, partition ve default-Lax compatibility parser’ı değildir.
- Browser · candidate jar
- Host-only: excluded · Domain: excluded
- Application · request received
- Request henüz yok
- Request · selection context
- sameSite H/D ×/× · privacy H/D ✓/✓ · credentials H/D ✓/✓
- HTTP request seçilmiş state ile ulaştı
Cookie excluded olsa da HTTP request’in kendisi gerçekleşebilir. İki alternatifin eligibility sonucu ayrı gösterilir; browser’ın seçimi application permission kararı değildir.
- Browser · candidate jar
- Host-only: excluded · Domain: excluded
- Application · request received
- Request alındı; cookie inclusion ayrı
- Request · selection context
- HTTP request geldi
- Cookie varlığı yalnız bir gözlemdir
Server name/value alınmışsa bunu kendi doğrulama ve policy’sinde değerlendirir. Bu saf simulation gerçek browser jar’ı, authentication başarısı veya access hakkı kanıtı değildir.
- Browser · candidate jar
- Host-only: excluded · Domain: excluded
- Application · request received
- Server validity/authz ayrı
- Request · selection context
- Script read H/D: no/no
t=1300 · expired
- İki alternatif cookie tanımı
Host-only ile Domain=outreason.example ayrı varsayımsal konfigürasyonlardır; aynı jar’da çakışan iki hd_scope kaydı gösterilmiyor. Her biri zaten kabul edilmiş stored candidate’tır.
- Browser · candidate jar
- H: host-only · D: parent Domain
- Application · request received
- Request henüz yok
- Request · selection context
- Path=/books · Max-Age=1200
- Request context açık olarak seçilir
Target, method, top-level navigation ve same-site metadata’sı bu fixture’da verilir. Same-site, same-origin ile aynı değildir; bu model Public Suffix List veya redirect chain hesaplamaz.
- Browser · candidate jar
- Candidate selection bekliyor
- Application · request received
- Request henüz yok
- Request · selection context
- GET https://library.outreason.example/books/42 · t=1300
- Host ve slash-path kapıları
Host-only exact host gerektirir; parent Domain uygun subdomain’i kapsayabilir. /books, /books/42 ile eşleşir ama /bookstore ile eşleşmez. Path bir authorization veya application isolation sınırı değildir.
- Browser · candidate jar
- host H/D ✓/✓ · path H/D ✓/✓
- Application · request received
- Request henüz yok
- Request · selection context
- Scope değerlendirmesi local
- Browser lifetime ayrı hesaplanır
Explicit browser model clock: creation t=100, Max-Age=1200; t=1300 dahil expired. Server session clock veya revocation bu cookie-selection modeliyle hesaplanmaz.
- Browser · candidate jar
- lifetime H/D ×/×
- Application · request received
- Request henüz yok
- Request · selection context
- Browser clock t=1300
- Kanal ve script erişimi farklıdır
Secure ordinary HTTPS channel ister; labelled HTTP case loopback istisnası değildir. HttpOnly script API erişimini sınırlar; uygun request cookie’yi yine taşıyabilir. Buradaki script-read sonucu target ile aynı document context’i varsayar.
- Browser · candidate jar
- channel H/D ✓/✓
- Application · request received
- Request henüz yok
- Request · selection context
- Script read H/D: no/no
- Site ve browser request policy kapıları
Explicit Lax cross-site safe top-level navigation’a izin verebilir; background POST’a vermez. Strict cross-site’i eler. None diğer scope/privacy/credentials koşullarını kaldırmaz. Bu modeller prefix, partition ve default-Lax compatibility parser’ı değildir.
- Browser · candidate jar
- Host-only: excluded · Domain: excluded
- Application · request received
- Request henüz yok
- Request · selection context
- sameSite H/D ✓/✓ · privacy H/D ✓/✓ · credentials H/D ✓/✓
- HTTP request seçilmiş state ile ulaştı
Cookie excluded olsa da HTTP request’in kendisi gerçekleşebilir. İki alternatifin eligibility sonucu ayrı gösterilir; browser’ın seçimi application permission kararı değildir.
- Browser · candidate jar
- Host-only: excluded · Domain: excluded
- Application · request received
- Request alındı; cookie inclusion ayrı
- Request · selection context
- HTTP request geldi
- Cookie varlığı yalnız bir gözlemdir
Server name/value alınmışsa bunu kendi doğrulama ve policy’sinde değerlendirir. Bu saf simulation gerçek browser jar’ı, authentication başarısı veya access hakkı kanıtı değildir.
- Browser · candidate jar
- Host-only: excluded · Domain: excluded
- Application · request received
- Server validity/authz ayrı
- Request · selection context
- Script read H/D: no/no
None · privacy block
- İki alternatif cookie tanımı
Host-only ile Domain=outreason.example ayrı varsayımsal konfigürasyonlardır; aynı jar’da çakışan iki hd_scope kaydı gösterilmiyor. Her biri zaten kabul edilmiş stored candidate’tır.
- Browser · candidate jar
- H: host-only · D: parent Domain
- Application · request received
- Request henüz yok
- Request · selection context
- Path=/books · Max-Age=1200
- Request context açık olarak seçilir
Target, method, top-level navigation ve same-site metadata’sı bu fixture’da verilir. Same-site, same-origin ile aynı değildir; bu model Public Suffix List veya redirect chain hesaplamaz.
- Browser · candidate jar
- Candidate selection bekliyor
- Application · request received
- Request henüz yok
- Request · selection context
- GET https://library.outreason.example/books/42 · t=200
- Host ve slash-path kapıları
Host-only exact host gerektirir; parent Domain uygun subdomain’i kapsayabilir. /books, /books/42 ile eşleşir ama /bookstore ile eşleşmez. Path bir authorization veya application isolation sınırı değildir.
- Browser · candidate jar
- host H/D ✓/✓ · path H/D ✓/✓
- Application · request received
- Request henüz yok
- Request · selection context
- Scope değerlendirmesi local
- Browser lifetime ayrı hesaplanır
Explicit browser model clock: creation t=100, Max-Age=1200; t=1300 dahil expired. Server session clock veya revocation bu cookie-selection modeliyle hesaplanmaz.
- Browser · candidate jar
- lifetime H/D ✓/✓
- Application · request received
- Request henüz yok
- Request · selection context
- Browser clock t=200
- Kanal ve script erişimi farklıdır
Secure ordinary HTTPS channel ister; labelled HTTP case loopback istisnası değildir. HttpOnly script API erişimini sınırlar; uygun request cookie’yi yine taşıyabilir. Buradaki script-read sonucu target ile aynı document context’i varsayar.
- Browser · candidate jar
- channel H/D ✓/✓
- Application · request received
- Request henüz yok
- Request · selection context
- Script read H/D: no/no
- Site ve browser request policy kapıları
Explicit Lax cross-site safe top-level navigation’a izin verebilir; background POST’a vermez. Strict cross-site’i eler. None diğer scope/privacy/credentials koşullarını kaldırmaz. Bu modeller prefix, partition ve default-Lax compatibility parser’ı değildir.
- Browser · candidate jar
- Host-only: excluded · Domain: excluded
- Application · request received
- Request henüz yok
- Request · selection context
- sameSite H/D ✓/✓ · privacy H/D ×/× · credentials H/D ✓/✓
- HTTP request seçilmiş state ile ulaştı
Cookie excluded olsa da HTTP request’in kendisi gerçekleşebilir. İki alternatifin eligibility sonucu ayrı gösterilir; browser’ın seçimi application permission kararı değildir.
- Browser · candidate jar
- Host-only: excluded · Domain: excluded
- Application · request received
- Request alındı; cookie inclusion ayrı
- Request · selection context
- HTTP request geldi
- Cookie varlığı yalnız bir gözlemdir
Server name/value alınmışsa bunu kendi doğrulama ve policy’sinde değerlendirir. Bu saf simulation gerçek browser jar’ı, authentication başarısı veya access hakkı kanıtı değildir.
- Browser · candidate jar
- Host-only: excluded · Domain: excluded
- Application · request received
- Server validity/authz ayrı
- Request · selection context
- Script read H/D: no/no
Strict · cross-site
- İki alternatif cookie tanımı
Host-only ile Domain=outreason.example ayrı varsayımsal konfigürasyonlardır; aynı jar’da çakışan iki hd_scope kaydı gösterilmiyor. Her biri zaten kabul edilmiş stored candidate’tır.
- Browser · candidate jar
- H: host-only · D: parent Domain
- Application · request received
- Request henüz yok
- Request · selection context
- Path=/books · Max-Age=1200
- Request context açık olarak seçilir
Target, method, top-level navigation ve same-site metadata’sı bu fixture’da verilir. Same-site, same-origin ile aynı değildir; bu model Public Suffix List veya redirect chain hesaplamaz.
- Browser · candidate jar
- Candidate selection bekliyor
- Application · request received
- Request henüz yok
- Request · selection context
- GET https://library.outreason.example/books/42 · t=200
- Host ve slash-path kapıları
Host-only exact host gerektirir; parent Domain uygun subdomain’i kapsayabilir. /books, /books/42 ile eşleşir ama /bookstore ile eşleşmez. Path bir authorization veya application isolation sınırı değildir.
- Browser · candidate jar
- host H/D ✓/✓ · path H/D ✓/✓
- Application · request received
- Request henüz yok
- Request · selection context
- Scope değerlendirmesi local
- Browser lifetime ayrı hesaplanır
Explicit browser model clock: creation t=100, Max-Age=1200; t=1300 dahil expired. Server session clock veya revocation bu cookie-selection modeliyle hesaplanmaz.
- Browser · candidate jar
- lifetime H/D ✓/✓
- Application · request received
- Request henüz yok
- Request · selection context
- Browser clock t=200
- Kanal ve script erişimi farklıdır
Secure ordinary HTTPS channel ister; labelled HTTP case loopback istisnası değildir. HttpOnly script API erişimini sınırlar; uygun request cookie’yi yine taşıyabilir. Buradaki script-read sonucu target ile aynı document context’i varsayar.
- Browser · candidate jar
- channel H/D ✓/✓
- Application · request received
- Request henüz yok
- Request · selection context
- Script read H/D: no/no
- Site ve browser request policy kapıları
Explicit Lax cross-site safe top-level navigation’a izin verebilir; background POST’a vermez. Strict cross-site’i eler. None diğer scope/privacy/credentials koşullarını kaldırmaz. Bu modeller prefix, partition ve default-Lax compatibility parser’ı değildir.
- Browser · candidate jar
- Host-only: excluded · Domain: excluded
- Application · request received
- Request henüz yok
- Request · selection context
- sameSite H/D ×/× · privacy H/D ✓/✓ · credentials H/D ✓/✓
- HTTP request seçilmiş state ile ulaştı
Cookie excluded olsa da HTTP request’in kendisi gerçekleşebilir. İki alternatifin eligibility sonucu ayrı gösterilir; browser’ın seçimi application permission kararı değildir.
- Browser · candidate jar
- Host-only: excluded · Domain: excluded
- Application · request received
- Request alındı; cookie inclusion ayrı
- Request · selection context
- HTTP request geldi
- Cookie varlığı yalnız bir gözlemdir
Server name/value alınmışsa bunu kendi doğrulama ve policy’sinde değerlendirir. Bu saf simulation gerçek browser jar’ı, authentication başarısı veya access hakkı kanıtı değildir.
- Browser · candidate jar
- Host-only: excluded · Domain: excluded
- Application · request received
- Server validity/authz ayrı
- Request · selection context
- Script read H/D: no/no
HttpOnly · script no
- İki alternatif cookie tanımı
Host-only ile Domain=outreason.example ayrı varsayımsal konfigürasyonlardır; aynı jar’da çakışan iki hd_scope kaydı gösterilmiyor. Her biri zaten kabul edilmiş stored candidate’tır.
- Browser · candidate jar
- H: host-only · D: parent Domain
- Application · request received
- Request henüz yok
- Request · selection context
- Path=/books · Max-Age=1200
- Request context açık olarak seçilir
Target, method, top-level navigation ve same-site metadata’sı bu fixture’da verilir. Same-site, same-origin ile aynı değildir; bu model Public Suffix List veya redirect chain hesaplamaz.
- Browser · candidate jar
- Candidate selection bekliyor
- Application · request received
- Request henüz yok
- Request · selection context
- GET https://library.outreason.example/books/42 · t=200
- Host ve slash-path kapıları
Host-only exact host gerektirir; parent Domain uygun subdomain’i kapsayabilir. /books, /books/42 ile eşleşir ama /bookstore ile eşleşmez. Path bir authorization veya application isolation sınırı değildir.
- Browser · candidate jar
- host H/D ✓/✓ · path H/D ✓/✓
- Application · request received
- Request henüz yok
- Request · selection context
- Scope değerlendirmesi local
- Browser lifetime ayrı hesaplanır
Explicit browser model clock: creation t=100, Max-Age=1200; t=1300 dahil expired. Server session clock veya revocation bu cookie-selection modeliyle hesaplanmaz.
- Browser · candidate jar
- lifetime H/D ✓/✓
- Application · request received
- Request henüz yok
- Request · selection context
- Browser clock t=200
- Kanal ve script erişimi farklıdır
Secure ordinary HTTPS channel ister; labelled HTTP case loopback istisnası değildir. HttpOnly script API erişimini sınırlar; uygun request cookie’yi yine taşıyabilir. Buradaki script-read sonucu target ile aynı document context’i varsayar.
- Browser · candidate jar
- channel H/D ✓/✓
- Application · request received
- Request henüz yok
- Request · selection context
- Script read H/D: no/no
- Site ve browser request policy kapıları
Explicit Lax cross-site safe top-level navigation’a izin verebilir; background POST’a vermez. Strict cross-site’i eler. None diğer scope/privacy/credentials koşullarını kaldırmaz. Bu modeller prefix, partition ve default-Lax compatibility parser’ı değildir.
- Browser · candidate jar
- Host-only: included · Domain: included
- Application · request received
- Request henüz yok
- Request · selection context
- sameSite H/D ✓/✓ · privacy H/D ✓/✓ · credentials H/D ✓/✓
- HTTP request seçilmiş state ile ulaştı
Cookie excluded olsa da HTTP request’in kendisi gerçekleşebilir. İki alternatifin eligibility sonucu ayrı gösterilir; browser’ın seçimi application permission kararı değildir.
- Browser · candidate jar
- Host-only: included · Domain: included
- Application · request received
- Request alındı; cookie inclusion ayrı
- Request · selection context
- HTTP request geldi
- Cookie varlığı yalnız bir gözlemdir
Server name/value alınmışsa bunu kendi doğrulama ve policy’sinde değerlendirir. Bu saf simulation gerçek browser jar’ı, authentication başarısı veya access hakkı kanıtı değildir.
- Browser · candidate jar
- Host-only: included · Domain: included
- Application · request received
- Server validity/authz ayrı
- Request · selection context
- Script read H/D: no/no
Script-readable
- İki alternatif cookie tanımı
Host-only ile Domain=outreason.example ayrı varsayımsal konfigürasyonlardır; aynı jar’da çakışan iki hd_scope kaydı gösterilmiyor. Her biri zaten kabul edilmiş stored candidate’tır.
- Browser · candidate jar
- H: host-only · D: parent Domain
- Application · request received
- Request henüz yok
- Request · selection context
- Path=/books · Max-Age=1200
- Request context açık olarak seçilir
Target, method, top-level navigation ve same-site metadata’sı bu fixture’da verilir. Same-site, same-origin ile aynı değildir; bu model Public Suffix List veya redirect chain hesaplamaz.
- Browser · candidate jar
- Candidate selection bekliyor
- Application · request received
- Request henüz yok
- Request · selection context
- GET https://library.outreason.example/books/42 · t=200
- Host ve slash-path kapıları
Host-only exact host gerektirir; parent Domain uygun subdomain’i kapsayabilir. /books, /books/42 ile eşleşir ama /bookstore ile eşleşmez. Path bir authorization veya application isolation sınırı değildir.
- Browser · candidate jar
- host H/D ✓/✓ · path H/D ✓/✓
- Application · request received
- Request henüz yok
- Request · selection context
- Scope değerlendirmesi local
- Browser lifetime ayrı hesaplanır
Explicit browser model clock: creation t=100, Max-Age=1200; t=1300 dahil expired. Server session clock veya revocation bu cookie-selection modeliyle hesaplanmaz.
- Browser · candidate jar
- lifetime H/D ✓/✓
- Application · request received
- Request henüz yok
- Request · selection context
- Browser clock t=200
- Kanal ve script erişimi farklıdır
Secure ordinary HTTPS channel ister; labelled HTTP case loopback istisnası değildir. HttpOnly script API erişimini sınırlar; uygun request cookie’yi yine taşıyabilir. Buradaki script-read sonucu target ile aynı document context’i varsayar.
- Browser · candidate jar
- channel H/D ✓/✓
- Application · request received
- Request henüz yok
- Request · selection context
- Script read H/D: yes/yes
- Site ve browser request policy kapıları
Explicit Lax cross-site safe top-level navigation’a izin verebilir; background POST’a vermez. Strict cross-site’i eler. None diğer scope/privacy/credentials koşullarını kaldırmaz. Bu modeller prefix, partition ve default-Lax compatibility parser’ı değildir.
- Browser · candidate jar
- Host-only: included · Domain: included
- Application · request received
- Request henüz yok
- Request · selection context
- sameSite H/D ✓/✓ · privacy H/D ✓/✓ · credentials H/D ✓/✓
- HTTP request seçilmiş state ile ulaştı
Cookie excluded olsa da HTTP request’in kendisi gerçekleşebilir. İki alternatifin eligibility sonucu ayrı gösterilir; browser’ın seçimi application permission kararı değildir.
- Browser · candidate jar
- Host-only: included · Domain: included
- Application · request received
- Request alındı; cookie inclusion ayrı
- Request · selection context
- HTTP request geldi
- Cookie varlığı yalnız bir gözlemdir
Server name/value alınmışsa bunu kendi doğrulama ve policy’sinde değerlendirir. Bu saf simulation gerçek browser jar’ı, authentication başarısı veya access hakkı kanıtı değildir.
- Browser · candidate jar
- Host-only: included · Domain: included
- Application · request received
- Server validity/authz ayrı
- Request · selection context
- Script read H/D: yes/yes
İlgisiz host · excluded
- İki alternatif cookie tanımı
Host-only ile Domain=outreason.example ayrı varsayımsal konfigürasyonlardır; aynı jar’da çakışan iki hd_scope kaydı gösterilmiyor. Her biri zaten kabul edilmiş stored candidate’tır.
- Browser · candidate jar
- H: host-only · D: parent Domain
- Application · request received
- Request henüz yok
- Request · selection context
- Path=/books · Max-Age=1200
- Request context açık olarak seçilir
Target, method, top-level navigation ve same-site metadata’sı bu fixture’da verilir. Same-site, same-origin ile aynı değildir; bu model Public Suffix List veya redirect chain hesaplamaz.
- Browser · candidate jar
- Candidate selection bekliyor
- Application · request received
- Request henüz yok
- Request · selection context
- GET https://other.example/books/42 · t=200
- Host ve slash-path kapıları
Host-only exact host gerektirir; parent Domain uygun subdomain’i kapsayabilir. /books, /books/42 ile eşleşir ama /bookstore ile eşleşmez. Path bir authorization veya application isolation sınırı değildir.
- Browser · candidate jar
- host H/D ×/× · path H/D ✓/✓
- Application · request received
- Request henüz yok
- Request · selection context
- Scope değerlendirmesi local
- Browser lifetime ayrı hesaplanır
Explicit browser model clock: creation t=100, Max-Age=1200; t=1300 dahil expired. Server session clock veya revocation bu cookie-selection modeliyle hesaplanmaz.
- Browser · candidate jar
- lifetime H/D ✓/✓
- Application · request received
- Request henüz yok
- Request · selection context
- Browser clock t=200
- Kanal ve script erişimi farklıdır
Secure ordinary HTTPS channel ister; labelled HTTP case loopback istisnası değildir. HttpOnly script API erişimini sınırlar; uygun request cookie’yi yine taşıyabilir. Buradaki script-read sonucu target ile aynı document context’i varsayar.
- Browser · candidate jar
- channel H/D ✓/✓
- Application · request received
- Request henüz yok
- Request · selection context
- Script read H/D: no/no
- Site ve browser request policy kapıları
Explicit Lax cross-site safe top-level navigation’a izin verebilir; background POST’a vermez. Strict cross-site’i eler. None diğer scope/privacy/credentials koşullarını kaldırmaz. Bu modeller prefix, partition ve default-Lax compatibility parser’ı değildir.
- Browser · candidate jar
- Host-only: excluded · Domain: excluded
- Application · request received
- Request henüz yok
- Request · selection context
- sameSite H/D ✓/✓ · privacy H/D ✓/✓ · credentials H/D ✓/✓
- HTTP request seçilmiş state ile ulaştı
Cookie excluded olsa da HTTP request’in kendisi gerçekleşebilir. İki alternatifin eligibility sonucu ayrı gösterilir; browser’ın seçimi application permission kararı değildir.
- Browser · candidate jar
- Host-only: excluded · Domain: excluded
- Application · request received
- Request alındı; cookie inclusion ayrı
- Request · selection context
- HTTP request geldi
- Cookie varlığı yalnız bir gözlemdir
Server name/value alınmışsa bunu kendi doğrulama ve policy’sinde değerlendirir. Bu saf simulation gerçek browser jar’ı, authentication başarısı veya access hakkı kanıtı değildir.
- Browser · candidate jar
- Host-only: excluded · Domain: excluded
- Application · request received
- Server validity/authz ayrı
- Request · selection context
- Script read H/D: no/no
Credentials omitted
- İki alternatif cookie tanımı
Host-only ile Domain=outreason.example ayrı varsayımsal konfigürasyonlardır; aynı jar’da çakışan iki hd_scope kaydı gösterilmiyor. Her biri zaten kabul edilmiş stored candidate’tır.
- Browser · candidate jar
- H: host-only · D: parent Domain
- Application · request received
- Request henüz yok
- Request · selection context
- Path=/books · Max-Age=1200
- Request context açık olarak seçilir
Target, method, top-level navigation ve same-site metadata’sı bu fixture’da verilir. Same-site, same-origin ile aynı değildir; bu model Public Suffix List veya redirect chain hesaplamaz.
- Browser · candidate jar
- Candidate selection bekliyor
- Application · request received
- Request henüz yok
- Request · selection context
- GET https://library.outreason.example/books/42 · t=200
- Host ve slash-path kapıları
Host-only exact host gerektirir; parent Domain uygun subdomain’i kapsayabilir. /books, /books/42 ile eşleşir ama /bookstore ile eşleşmez. Path bir authorization veya application isolation sınırı değildir.
- Browser · candidate jar
- host H/D ✓/✓ · path H/D ✓/✓
- Application · request received
- Request henüz yok
- Request · selection context
- Scope değerlendirmesi local
- Browser lifetime ayrı hesaplanır
Explicit browser model clock: creation t=100, Max-Age=1200; t=1300 dahil expired. Server session clock veya revocation bu cookie-selection modeliyle hesaplanmaz.
- Browser · candidate jar
- lifetime H/D ✓/✓
- Application · request received
- Request henüz yok
- Request · selection context
- Browser clock t=200
- Kanal ve script erişimi farklıdır
Secure ordinary HTTPS channel ister; labelled HTTP case loopback istisnası değildir. HttpOnly script API erişimini sınırlar; uygun request cookie’yi yine taşıyabilir. Buradaki script-read sonucu target ile aynı document context’i varsayar.
- Browser · candidate jar
- channel H/D ✓/✓
- Application · request received
- Request henüz yok
- Request · selection context
- Script read H/D: no/no
- Site ve browser request policy kapıları
Explicit Lax cross-site safe top-level navigation’a izin verebilir; background POST’a vermez. Strict cross-site’i eler. None diğer scope/privacy/credentials koşullarını kaldırmaz. Bu modeller prefix, partition ve default-Lax compatibility parser’ı değildir.
- Browser · candidate jar
- Host-only: excluded · Domain: excluded
- Application · request received
- Request henüz yok
- Request · selection context
- sameSite H/D ✓/✓ · privacy H/D ✓/✓ · credentials H/D ×/×
- HTTP request seçilmiş state ile ulaştı
Cookie excluded olsa da HTTP request’in kendisi gerçekleşebilir. İki alternatifin eligibility sonucu ayrı gösterilir; browser’ın seçimi application permission kararı değildir.
- Browser · candidate jar
- Host-only: excluded · Domain: excluded
- Application · request received
- Request alındı; cookie inclusion ayrı
- Request · selection context
- HTTP request geldi
- Cookie varlığı yalnız bir gözlemdir
Server name/value alınmışsa bunu kendi doğrulama ve policy’sinde değerlendirir. Bu saf simulation gerçek browser jar’ı, authentication başarısı veya access hakkı kanıtı değildir.
- Browser · candidate jar
- Host-only: excluded · Domain: excluded
- Application · request received
- Server validity/authz ayrı
- Request · selection context
- Script read H/D: no/no
ROLLER · STATE · VERİ AKIŞI
Cookie jar’da duruyor; request’te neden yok?
Duru’nun Browser’ında Atlas kitaplığı için hd_scope kaydı görünür. Buna rağmen başka bir URL’e giden request onu taşımayabilir. Cookie inclusion tek bir “cookie var mı?” sorusu değildir: scope, süre, kanal, site bağlamı ve Browser policy birlikte değerlendirilir.
Bu derste application permission kararı vermiyoruz. Hedef, Browser’ın aday bir kaydı request’e dahil edip etmediğini açıklamak. Included sonucu server’ın authenticated state’i kabul ettiği veya kitabı okuma izni verdiği anlamına gelmez. WEB-13 session ve WEB-14 authorization dersleri bu sonraki kararları ayırır.
Domain verilmezse host-only; verilirse kapsam genişler
Cookie library.outreason.example’den Domain olmadan kurulursa host-only olur: aynı host için adaydır, api.library.outreason.example gibi subdomain’e otomatik yayılmaz. Domain=outreason.example ise cookie bu domain ve uygun subdomain’ler için aday olabilir. Server tamamen ilgisiz domain’i veya public suffix’i serbestçe seçemez.
Artifact iki ayrı scope tanımını karşılaştırır; eşzamanlı aynı isimli cookie collision modeli kurmaz. Subdomain case’inde host-only excluded, domain-scoped included beklenir. Fark, sayfa path’inden veya tenant permission’ından değil, Browser’ın host matching değerlendirmesinden gelir.
Cookie scope, origin ile aynı kavram değildir. Origin scheme/host/port üçlüsünü kullanır; cookie domain/path sistemi farklıdır. Cookie’ler port numarasına göre izolasyon sağlamaz. Aynı host üzerindeki iki uygulamayı yalnız farklı port veya path kullanıyor diye ayrı cookie güvenlik alanı sayma.
Path eşleşmesi bir string prefix tahmininden fazlasıdır
Path=/books olan cookie /books ve /books/42 request’lerinde adaydır; /bookstore için aday değildir. Slash boundary önemlidir. Path verilmezse default path response’un request URL’inden türetilir; her zaman / olduğunu varsayma.
Bu seçim hangi request’te cookie taşınacağını sınırlar. Aynı host’un /admin ve /books uygulamaları arasında güvenilir isolation kurmaz. UI routing veya cookie Path filtresi server authorization kontrolünün yerine geçemez.
Lifetime: saklama süresi ve Browser session’ı
Max-Age cookie ömrünü saniyeyle, Expires bir tarih olarak belirtir; ikisi birlikte olduğunda Max-Age önceliklidir. Artifact’te kaydın Browser clock’u t=100’de başladığı ve Max-Age=1200 olduğu kabul edilir; t=1300’de cookie expired sayılır. Bu explicit model clock gerçek saat capture’ı değildir.
Session cookie’de Max-Age/Expires bulunmaz. “Session bitti” sınırını Browser tanımlar; session restore kaydı yeniden getirebilir. Persistent cookie süre taşır, ama Browser’ın o süreye kadar mutlaka tutacağı garantisi değildir: kullanıcı temizliği, privacy policy veya storage eviction kaydı daha erken kaldırabilir.
Bu Browser lifetime hesabını server session expiry hesabına eşitleme. Cookie hâlâ mevcutken server session invalid olabilir; jar’dan silinmiş cookie de server kaydını otomatik iptal etmez. WEB-13.03 iki state’in lifecycle’ını açar.
Secure ve HttpOnly iki farklı kontrol
Secure cookie için normal web kullanımında HTTPS taşıması gerekir; artifact HTTP case’ini bu yüzden excluded yapar. Localhost istisnaları ve Browser uyumluluğu ayrı değerlendirilir. Secure cookie’nin değerini disk veya script erişimine karşı tek başına koruduğu varsayılmaz.
HttpOnly script cookie API erişimini sınırlar. Browser cookie’yi uygun fetch veya başka request’e yine taşıyabilir; bu flag “request oluşturulamaz” anlamına gelmez. Session handle için script erişimini daraltmak ile action’ın izinli olduğunu doğrulamak farklı boundary’lerdir.
Prefix desteği olan Browser’da __Host- isim, Secure + Path=/ + Domain yok koşullarını zorlar. Artifact’in /books scope örneği bu prefix’i kullanmaz; ikisini aynı cookie’de gösterip prefix kuralını bozmuyoruz. Uyumluluk ve application host tasarımı birlikte seçilir.
SameSite: site bağlamını method ve navigation ile oku
Same-site değerlendirmesi, scheme ile registrable domain bağlamına dayanır; aynı origin olmakla eşit değildir. Lax cookie aynı-site request’te adaydır. Cross-site request’te ise explicit Lax için top-level navigation ve safe method gibi koşullar önemlidir: normal link navigation GET ile arka plandaki fetch POST aynı sonuç vermez.
Strict cross-site inclusion’ı daha sıkı sınırlar. None cross-site inclusion’a izin veren bir ayardır ve Secure gerektirir; bütün diğer koşulları veya Browser privacy policy’sini kaldırmaz. Default SameSite davranışı ve geçici compatibility istisnaları Browser’a bağlı olabilir; artifact açıkça Lax kullandığı için default-policy kestirmesi yapmaz.
Fetch’in credentials mode’u ayrıca vardır. same-origin default’u, farklı origin’e yapılan fetch’te cookie’yi taşımayabilir; include seçimi de SameSite veya third-party kısıtını geçersiz kılmaz. CORS ise response’un script tarafından okunmasıyla ilgili ayrı değerlendirmeler içerir. Tek “cross-domain açık” anahtarı bu kararları doğru modellemez.
Third-party koşulları bir ek policy kapısıdır
Başka bir site içinde embedded olan kitaplık widget’ı SameSite=None; Secure kullansa bile Browser third-party state’i block veya partition edebilir. Uygulama/browser sürümü, kullanıcı ayarı ve kullanım bağlamı gözlenmeden “None her yerde çalışır” denmez. Burada belirli Browser’ın güncel vendor roadmap’ini ders garantisi yapmıyoruz.
Artifact’te privacy gate blocked olduğunda candidate cookie’nin other gates sonucu uygun olsa bile final inclusion excluded olur. Bu cookie parser hatası veya failed authentication kanıtı değildir. Öğrenci storage acceptance, request inclusion ve server validity aşamalarını ayrı gerekçelendirmelidir.
2. Red · Güven ve etki
Hareket olmadan bütün senaryoları oku
Host kapsamı
- Aday konfigürasyonlar ayrıldı
host-only ve domain-scoped aynı isimli iki eşzamanlı cookie değildir. Artifact iki alternatif konfigürasyonu karşılaştırır; ikisinde Path=/books, Secure ve HttpOnly vardır.
- Cookie adayları
- hd_scope: iki ayrı aday
- Request context
- Context seçilmedi
- Karar sınırı
- Inclusion kararı yok
- Request context’i seçildi
Seçilen case’in hedefi api.library.outreason.example olarak okunur. Method GET, now_s=200 ve sameSite=true koşulları sabittir; bu sahne bir request göndermeden uygunluğu açıklar.
- Cookie adayları
- hd_scope: iki ayrı aday
- Request context
- api.library.outreason.example
- Karar sınırı
- Inclusion kararı yok
- Eşleşme gate’i değerlendirildi
Host-only kayıt yalnız library.outreason.example host’u için geçerlidir.
- Cookie adayları
- host-only=false; domain-scoped=true
- Request context
- api.library.outreason.example
- Karar sınırı
- Inclusion kararı yok
- Uygunluk sonucu ayrıldı
Domain seçimi subdomain için adaylığı genişletir, fakat bu uygulamalar arasında eşit güven veya ortak authorization kurulduğunu göstermez.
- Cookie adayları
- host-only=false; domain-scoped=true
- Request context
- api.library.outreason.example
- Karar sınırı
- host_only_does_not_match_subdomain
- Flags yetki yerine geçmez
Secure taşıma koşulunu, HttpOnly script erişimini sınırlar. Daha geniş Domain için bu iki flag application’ın object/action kontrolünü devralmaz.
- Cookie adayları
- hd_scope: iki ayrı aday
- Request context
- api.library.outreason.example
- Karar sınırı
- Authorization ayrı
- Cookie taşıma hükmü sınırlandı
Artifact yalnız host-only=false; domain-scoped=true inclusion sonucunu verir. Server’ın session kabulü, resource izni veya kullanıcının action niyeti bu matristen çıkarılamaz.
- Cookie adayları
- host-only=false; domain-scoped=true
- Request context
- api.library.outreason.example
- Karar sınırı
- Yalnız inclusion kanıtı
Path sınırı
- Aday konfigürasyonlar ayrıldı
host-only ve domain-scoped aynı isimli iki eşzamanlı cookie değildir. Artifact iki alternatif konfigürasyonu karşılaştırır; ikisinde Path=/books, Secure ve HttpOnly vardır.
- Cookie adayları
- hd_scope: iki ayrı aday
- Request context
- Context seçilmedi
- Karar sınırı
- Inclusion kararı yok
- Request context’i seçildi
Seçilen case’in hedefi /bookstore olarak okunur. Method GET, now_s=200 ve sameSite=true koşulları sabittir; bu sahne bir request göndermeden uygunluğu açıklar.
- Cookie adayları
- hd_scope: iki ayrı aday
- Request context
- /bookstore
- Karar sınırı
- Inclusion kararı yok
- Eşleşme gate’i değerlendirildi
Path=/books, /bookstore ile slash sınırında eşleşmez; ortak başlangıç metni tek başına path-match sağlamaz.
- Cookie adayları
- host-only=false; domain-scoped=false
- Request context
- /bookstore
- Karar sınırı
- Inclusion kararı yok
- Uygunluk sonucu ayrıldı
İki aday bu path için dışarıda kalır. Cookie’nin dışarıda kalması HTTP request’in hiç gönderilemeyeceği anlamına gelmez.
- Cookie adayları
- host-only=false; domain-scoped=false
- Request context
- /bookstore
- Karar sınırı
- slash_path_boundary_not_matched
- Flags yetki yerine geçmez
Secure taşıma koşulunu, HttpOnly script erişimini sınırlar. Path seçimi, aynı host’taki uygulamalar arasında bağımsız bir güvenlik sınırı oluşturmaz.
- Cookie adayları
- hd_scope: iki ayrı aday
- Request context
- /bookstore
- Karar sınırı
- Authorization ayrı
- Cookie taşıma hükmü sınırlandı
Artifact yalnız host-only=false; domain-scoped=false inclusion sonucunu verir. Server’ın session kabulü, resource izni veya kullanıcının action niyeti bu matristen çıkarılamaz.
- Cookie adayları
- host-only=false; domain-scoped=false
- Request context
- /bookstore
- Karar sınırı
- Yalnız inclusion kanıtı
VARSAYIM · SINIR · KONTROL
Kapsamı büyütürken güven alanını da düşün
Domain=outreason.example seçimi Browser’a birden fazla host için aday kayıt verir. Normal işlev ortak tercih taşımak olabilir; kritik varsayım bu host’ların state kullanımının aynı güven düzeyinde olmasıdır. Host-only seçenek yeterliyse scope’u büyütmek gereksiz paylaşım oluşturabilir.
Etki, paylaşılan değerin niteliğine ve ilgili uygulamaların kontrolüne bağlıdır. Preference ile authenticated handle aynı impact taşımaz. Dar scope, uygun host ayrımı ve server-owned authorization birlikte tasarlanır; Path=/books tek başına sub-application güvenliği sağlamaz.
Bir flag’i bütün kontrollerin yerine koyma
HttpOnly bir cookie’nin script API’de görünmesini engelleyebilir; state-changing bir action’ın kim tarafından ve hangi context’te onaylandığını söylemez. Secure uygun taşıma seçer; store’da artık kabul edilmemesi gereken handle’a yeniden yetki vermez.
SameSite da hangi cross-site request’lere cookie ekleneceğini etkiler. Bu gate’den geçen request’in object/action yetkisi server’da ayrıca değerlendirilir. Broken assumption, “cookie uygun taşındıysa işlem güvenli” düşüncesidir. Kontrolün türünü ve sınırını ayırmak bu yanlış authority aktarımını engeller.
3. Blue · Güvenli geliştirme ve savunma
Hareket olmadan bütün senaryoları oku
Lifetime eşiği
- Excluded case seçildi
İnceleme matristeki lifetime-boundary satırından başlar. included=false sonucu iki aday için de beklenir; henüz gerçek browser exclusion kaydı sunulmuş değildir.
- Matrix kaydı
- case=lifetime-boundary
- Gate incelemesi
- Gate karşılaştırılmadı
- Kanıt sonucu
- Browser gözlemi yok
- Neden alanı incelendi
createdAt_s=100 ve maxAge_s=1200 olduğundan expiry=1300’dür. now_s=1300 tam bu sınıra ulaşır; equality dışarıda kalır.
- Matrix kaydı
- case=lifetime-boundary
- Gate incelemesi
- max_age_boundary_reached
- Kanıt sonucu
- Browser gözlemi yok
- Diğer gate’ler karara karıştırılmadı
Hedef HTTPS ve /books/42 olduğu için bu satırın lifetime nedeni, Secure veya Path hatası diye yeniden adlandırılmaz.
- Matrix kaydı
- case=lifetime-boundary
- Gate incelemesi
- Beklenen dışlama açıklanıyor
- Kanıt sonucu
- Browser gözlemi yok
- XPath kapsamı korundu
included=false koşulu modelin toplam 11 excluded kararını seçer. Bu sayının iki konfigürasyon ve çoklu case satırlarına ait olması, 11 gerçek browser hatası gözlendiğini göstermez.
- Matrix kaydı
- case=lifetime-boundary
- Gate incelemesi
- Model toplamı: 11 excluded
- Kanıt sonucu
- Browser gözlemi yok
- Gerçek inclusion kanıtı ayrıldı
Matristeki reason, beklenen model sonucudur. Gerçek request’in Cookie alanı, credentials mode ve browser exclusion nedeni yoksa observed inclusion hakkında hüküm kurulmaz.
- Matrix kaydı
- case=lifetime-boundary
- Gate incelemesi
- max_age_boundary_reached
- Kanıt sonucu
- Observed inclusion bilinmiyor
- Benign dışlama hükmü verildi
Bu case’in beklenen exclusion nedeni açıklanabilir. Cookie yokluğundan saldırı, login başarısızlığı veya server’da yetki reddi çıkarılmaz; bunların kendi kanıtı gerekir.
- Matrix kaydı
- case=lifetime-boundary
- Gate incelemesi
- Beklenen sonuç: excluded
- Kanıt sonucu
- Browser sonucu ayrı kanıt ister
Privacy engeli
- Excluded case seçildi
İnceleme matristeki privacy-blocked-none satırından başlar. included=false sonucu iki aday için de beklenir; henüz gerçek browser exclusion kaydı sunulmuş değildir.
- Matrix kaydı
- case=privacy-blocked-none
- Gate incelemesi
- Gate karşılaştırılmadı
- Kanıt sonucu
- Browser gözlemi yok
- Neden alanı incelendi
Bu alternatif konfigürasyonda SameSite=None seçilidir, ancak browserPolicyAllowed=false kalır. None, üçüncü taraf engelini kaldıran bir izin değildir.
- Matrix kaydı
- case=privacy-blocked-none
- Gate incelemesi
- none_does_not_override_third_party_blocking
- Kanıt sonucu
- Browser gözlemi yok
- Diğer gate’ler karara karıştırılmadı
Bu satırın privacy nedeni, Lax uygulanıyormuş gibi açıklanmaz. Override yalnız bu alternatif case’e aittir; diğer kayıtlar değişmiş sayılmaz.
- Matrix kaydı
- case=privacy-blocked-none
- Gate incelemesi
- Beklenen dışlama açıklanıyor
- Kanıt sonucu
- Browser gözlemi yok
- XPath kapsamı korundu
included=false koşulu modelin toplam 11 excluded kararını seçer. Bu sayının iki konfigürasyon ve çoklu case satırlarına ait olması, 11 gerçek browser hatası gözlendiğini göstermez.
- Matrix kaydı
- case=privacy-blocked-none
- Gate incelemesi
- Model toplamı: 11 excluded
- Kanıt sonucu
- Browser gözlemi yok
- Gerçek inclusion kanıtı ayrıldı
Matristeki reason, beklenen model sonucudur. Gerçek request’in Cookie alanı, credentials mode ve browser exclusion nedeni yoksa observed inclusion hakkında hüküm kurulmaz.
- Matrix kaydı
- case=privacy-blocked-none
- Gate incelemesi
- none_does_not_override_third_party_blocking
- Kanıt sonucu
- Observed inclusion bilinmiyor
- Benign dışlama hükmü verildi
Bu case’in beklenen exclusion nedeni açıklanabilir. Cookie yokluğundan saldırı, login başarısızlığı veya server’da yetki reddi çıkarılmaz; bunların kendi kanıtı gerekir.
- Matrix kaydı
- case=privacy-blocked-none
- Gate incelemesi
- Beklenen sonuç: excluded
- Kanıt sonucu
- Browser sonucu ayrı kanıt ister
UYGULAMA · GÜVENLİK KONTROLÜ · DOĞRULAMA
Inclusion kararını koşul koşul gözle
Cookie storage’daki Domain/host-only, Path, expiry ve flags alanlarını hedef URL ve request context ile yan yana koy. Network’te cookie yoksa önce Browser’ın exclusion reason’ını ve request’in method/navigation türünü incele. Sadece cookie adını veya server status kodunu görmek missing inclusion’ın nedenini açıklamaz.
Artifact’in gate matrisi hostMatch, pathMatch, secureChannel, lifetimeValid, sameSiteEligible ve browserPolicyAllowed alanlarını ayrı taşır. Bunlar uygulama log’unda hazır gelen standard field’lar değil, öğretim modelimizin açıklama alanlarıdır. Gerçek Browser’ın bütün privacy veya partition algoritmasını taklit ettiğimizi iddia etmiyoruz.
Basit selection ve eksik kanıt
Matrix XML üstündeki /cookieDecisions/decision[@included="false"] XPath’i yalnız modelin excluded case’lerini seçer. Beklenen benign sonuçlar subdomain host-only, path mismatch, insecure channel ve cross-site POST Lax durumlarını içerir. Seçilen satırları “attack” diye adlandırmak yanlıştır.
Included beklenen bir satırın gerçek Browser’da bulunmaması ek privacy ayarı, credentials mode veya trace eksikliğiyle açıklanabilir. Cookie’den çıkarılan user veya tenant yerine name/scope class ve requestId gibi sınırlı observation verisi kullan. Sensitive cookie value’yu genel log’a taşımadan karar nedeni kaydet.
Policy değişimini compatibility ile doğrula
Scope daraltma veya SameSite değiştirme kararı login redirect, embedded widget ve subdomain akışlarını etkileyebilir. Önce hangi akışın cross-site, cross-origin veya aynı host olduğunu envantere çıkar. Küçük bir kullanıcı grubunda hem beklenen inclusion hem beklenen exclusion durumlarını gözle.
Doğrulama, Browser’da cookie görünmesine indirgenmez: server’ın session validity ve resource policy kontrolleri de kendi kanıtıyla sınanır. Manuel motion kapalıyken de matrix reason alanları görünür olmalıdır; renk tek başına included/excluded bilgisini taşımamalıdır.
Session credential cookie’si için cross-subdomain paylaşım gerekmiyorsa Domain vermeyerek host-only kapsam seç. HTTPS uygulamasında Secure ve HttpOnly kullan; SameSite’ı login callback ve embed gereksinimlerini bilerek açıkça belirle. Lax ile Strict aynı navigation davranışını vermez; gerekli bir cross-site akış için None seçilirse Secure gerekir ve Browser privacy politikası hâlâ gönderimi engelleyebilir. Path’i tenant authorization sınırı veya HttpOnly’yi request gönderimini durduran bir flag gibi kullanma. Ayrı örnek akışlarda uygun inclusion ile beklenen exclusion’ı, ardından server session/resource kararını doğrula.
ŞİMDİ VAKAYA UYGULA
Scope uygunluğu hangi yetkiyi kanıtlamaz?
hd_scope için host-only ve domain-scoped seçenekleri ayrı konfigürasyonlardır. İnceleme scope, expiry ve privacy gate’lerini server yetkisinden ayırır.
Vakadaki browser verisi hangi owner’ın state’idir? Bir client değerinin bulunması veya silinmesiyle server-side session sonucunun neden aynı şey olmadığını açıkla.
Bağlı vaka dosyasını aç ↗ÖRNEĞİ BİRLİKTE OKUYALIM
Cookie inclusion için sekiz bağlam, iki scope
Bir alan seç; hangi sonucu desteklediğini ve nerede yetersiz kaldığını incele.
Ham kaydı ve alan açıklamalarını oku
{
"classification": "Separate hypothetical candidate configurations, not concurrent same-name records",
"cookies": [
{
"id": "host-only",
"name": "hd_scope",
"setByHost": "library.outreason.example",
"path": "/books",
"secure": true,
"httpOnly": true,
"sameSite": "Lax",
"createdAt_s": 100,
"maxAge_s": 1200,
"hostOnly": true,
"domain": "library.outreason.example"
},
{
"id": "domain-scoped",
"name": "hd_scope",
"setByHost": "library.outreason.example",
"path": "/books",
"secure": true,
"httpOnly": true,
"sameSite": "Lax",
"createdAt_s": 100,
"maxAge_s": 1200,
"hostOnly": false,
"domain": "outreason.example"
}
],
"cases": [
{
"id": "same-host",
"target": "https://library.outreason.example/books/42",
"method": "GET",
"sameSite": true,
"topLevelNavigation": true,
"now_s": 200,
"expected": {
"host-only": true,
"domain-scoped": true
},
"reason": "all_selected_gates_pass"
},
{
"id": "subdomain",
"target": "https://api.library.outreason.example/books/42",
"method": "GET",
"sameSite": true,
"topLevelNavigation": true,
"now_s": 200,
"expected": {
"host-only": false,
"domain-scoped": true
},
"reason": "host_only_does_not_match_subdomain"
},
{
"id": "path-boundary",
"target": "https://library.outreason.example/bookstore",
"method": "GET",
"sameSite": true,
"topLevelNavigation": true,
"now_s": 200,
"expected": {
"host-only": false,
"domain-scoped": false
},
"reason": "slash_path_boundary_not_matched"
},
{
"id": "insecure",
"target": "http://library.outreason.example/books/42",
"method": "GET",
"sameSite": true,
"topLevelNavigation": true,
"now_s": 200,
"expected": {
"host-only": false,
"domain-scoped": false
},
"reason": "secure_cookie_requires_secure_channel"
},
{
"id": "cross-site-navigation",
"target": "https://library.outreason.example/books/42",
"method": "GET",
"sameSite": false,
"topLevelNavigation": true,
"now_s": 200,
"expected": {
"host-only": true,
"domain-scoped": true
},
"reason": "explicit_lax_top_level_safe_navigation"
},
{
"id": "cross-site-background",
"target": "https://library.outreason.example/books/42",
"method": "POST",
"sameSite": false,
"topLevelNavigation": false,
"now_s": 200,
"expected": {
"host-only": false,
"domain-scoped": false
},
"reason": "explicit_lax_cross_site_background_not_eligible"
},
{
"id": "lifetime-boundary",
"target": "https://library.outreason.example/books/42",
"method": "GET",
"sameSite": true,
"topLevelNavigation": true,
"now_s": 1300,
"expected": {
"host-only": false,
"domain-scoped": false
},
"reason": "max_age_boundary_reached"
},
{
"id": "privacy-blocked-none",
"target": "https://library.outreason.example/books/42",
"method": "GET",
"sameSite": false,
"topLevelNavigation": false,
"now_s": 200,
"cookieOverrides": {
"sameSite": "None"
},
"browserPolicyAllowed": false,
"expected": {
"host-only": false,
"domain-scoped": false
},
"reason": "none_does_not_override_third_party_blocking"
}
],
"assumptions": [
"Explicit Lax, HTTPS except labelled insecure case, ordinary web context without localhost exception.",
"Third-party policy allows inclusion unless explicitly blocked; cookies already stored.",
"No redirect-chain, partition-key, Browser-specific default-Lax exception or prefix parser implementation.",
"None override is an alternative configuration for one labelled case, not a dynamic header modification."
],
"decisionXML": "<cookieDecisions><decision case=\"same-host\" cookie=\"host-only\" included=\"true\"/><decision case=\"same-host\" cookie=\"domain-scoped\" included=\"true\"/><decision case=\"subdomain\" cookie=\"host-only\" included=\"false\"/><decision case=\"subdomain\" cookie=\"domain-scoped\" included=\"true\"/><decision case=\"path-boundary\" cookie=\"host-only\" included=\"false\"/><decision case=\"path-boundary\" cookie=\"domain-scoped\" included=\"false\"/><decision case=\"insecure\" cookie=\"host-only\" included=\"false\"/><decision case=\"insecure\" cookie=\"domain-scoped\" included=\"false\"/><decision case=\"cross-site-navigation\" cookie=\"host-only\" included=\"true\"/><decision case=\"cross-site-navigation\" cookie=\"domain-scoped\" included=\"true\"/><decision case=\"cross-site-background\" cookie=\"host-only\" included=\"false\"/><decision case=\"cross-site-background\" cookie=\"domain-scoped\" included=\"false\"/><decision case=\"lifetime-boundary\" cookie=\"host-only\" included=\"false\"/><decision case=\"lifetime-boundary\" cookie=\"domain-scoped\" included=\"false\"/><decision case=\"privacy-blocked-none\" cookie=\"host-only\" included=\"false\"/><decision case=\"privacy-blocked-none\" cookie=\"domain-scoped\" included=\"false\"/></cookieDecisions>",
"localXPath": "/cookieDecisions/decision[@included=\"false\"]",
"expectedExcludedDecisions": 11
}- hostOnly / domain
- Yalnız setter host’u ile domain-plus-subdomain adaylığı arasındaki fark.
- path
- Slash boundary ile request path filtresi; security isolation değil.
- createdAt_s / maxAge_s / now_s
- Explicit Browser lifetime hesabı; server session timeout değil.
- secure / httpOnly
- Taşıma ve script erişimi farklı; HttpOnly inclusion’ı otomatik false yapmaz.
- sameSite / topLevelNavigation / method
- Explicit Lax inclusion için bağlam; sameSite bu fixture’da verilen input’tur, PSL algoritması çalıştırılmaz.
- browserPolicyAllowed
- Seçilmiş third-party privacy gate; None bunun sonucunu override etmez.
- expected / decisionXML
- Benign include/exclude sonuçları ve yerel XPath’e verilen inert schema.
Matrix Browser’ın tamamı değildir. Cookie kayıtları alternatif konfigürasyonlardır; actual Browser veya network capture değildir. Path, Secure, lifetime ve explicit Lax kapıları ile verilen privacy gate açıklanır; redirect, CORS response-read, partitioning ve cookie acceptance ayrı scope’tur.
İki yanlış kanı
Cookie Path=/books, aynı host’taki /admin uygulamasına karşı güvenlik izolasyonu sağlar.
Path bir request gönderim filtresidir. Aynı host içinde güvenilir isolation veya server authorization yerine kullanılmaz.
SameSite=None; Secure kullanınca cookie her third-party request’te mutlaka gönderilir.
None yalnız SameSite gate’ini etkiler. Browser privacy/partition policy, scope, lifetime ve credentials koşulları ayrıca geçerlidir.
SIRA SENDE
Bu hikâyeyi sen çöz.
Sonucu tahmin et, kanıtın sınırını bul ve nedenini kendi cümlenle anlat.
Path=/books olan cookie, /bookstore için gönderime uygun mu?
- Hayır. Cookie path sınırı eşleşmiyor.
- Evet. Path’in /books ile başlaması yeterli.
Gerekçeli cevabı oku
Hayır. Cookie path sınırı eşleşmiyor. — İki path ortak prefix taşır, fakat /books sonrasında slash yoktur. Bu örnekte inclusion=false.
Subdomain request’inde neden adaylardan yalnız domain-scoped olan uygun?
Dersten seçilen artifact alanları; öğretim örneği
- cookies[0].hostOnly
- true
- cookies[1].domain
- outreason.example
- cases[1]
- {"id":"subdomain","target":"https://api.library.outreason.example/books/42","method":"GET","sameSite":true,"topLevelNavigation":true,"now_s":200,"expected":{"host-only":false,"domain-scoped":true},"reason":"host_only_does_not_match_subdomain"}
- HttpOnly bütün adayların subdomain scope’unu genişletir.
- Host-only exact host ister; domain-scoped aday subdomain’i kapsar.
Gerekçeli cevabı oku
Host-only exact host ister; domain-scoped aday subdomain’i kapsar. — api.library.outreason.example, host-only library.outreason.example ile aynı host değildir. domain=outreason.example ise bu subdomain’i kapsar.
SameSite=None+Secure neden privacy-blocked branch’te yine gönderilmiyor? Secure ve HttpOnly kullanıcı izni sağlar mı?
Gerekçeli cevabı oku
SameSite=None, browser’ın third-party privacy policy’sini geçersiz kılmaz. browserPolicyAllowed=false ise cookie gönderilmez. Secure channel koşulunu; HttpOnly script erişimini sınırlar. Cookie’nin gönderilmesi server session’ın geçerli olduğunu veya resource izninin verildiğini kanıtlamaz. Bu kontroller ayrıca uygulanmalıdır.
□ SameSite=None seçimini privacy policy’sini kaldıran bir izin saymadım.
□ Cookie flag’lerini server authorization saymadım.
Uygulama konsolunu aç · request / response / browser
Request, URL, cookie ve DOM örneklerini ayrıca aç
Kaynaklar ve kapsam
- RFC 6265 — HTTP State Management Mechanism4.1.2.1 Expires · 4.1.2.2 Max-Age · 4.1.2.3 Domain · 4.1.2.4 Path · 4.1.2.5 Secure · 4.1.2.6 HttpOnly · 5.1.4 Paths and Path-Match · 5.4 Cookie header · 8.5 Weak Confidentiality: ports
- MDN — Set-Cookie headerAttributes: Domain, Expires, HttpOnly, Max-Age, Path, SameSite, Secure · Cookie prefixes
- MDN — Using HTTP cookiesCreating, removing, and updating cookies · Define where cookies are sent
- WHATWG — Fetch Standard2.2.5 Requests: credentials mode · 3.3.5 CORS protocol and credentials
- MDN — Third-party cookiesHow do browsers handle third-party cookies? · Limiting third-party cookies with SameSite