WEB / WEB-22.01
URL’den güvenli connection’a
URL, DNS bilgisi, route, transport ve peer identity kararlarını tek public read planında ilişkilendir.
1. Core · Mekanizma
Hareket olmadan bütün senaryoları oku
Yeni connection
- Navigation niyeti
Browser https://public.example.invalid/notes/tea?view=compact#details URL’sini bilir. Resolver henüz soru almadı; bu ilk state DNS query veya HTTP request göndermez.
- Browser
- URL girdisi hazır
- Resolver
- Soru henüz yok
- Connection context
- Connection yok
- Peer identity
- Peer bilinmiyor
- HTTP planner
- HTTP planı yok
- URL parçaları
Browser host ve target’ı ayırır, fragment’i target dışında bırakır ve resolver sorusunu hazırlar.
- Browser
- Host biliniyor; DNS sorusu hazır
- Resolver
- Soru henüz yok
- Connection context
- Connection yok
- Peer identity
- Peer bilinmiyor
- HTTP planner
- HTTP planı yok
- Resolver sorusu
Kavramsal DNS sorusu resolver’a ulaştı; browser önceki prepared state’ini korur.
- Browser
- Host biliniyor; DNS sorusu hazır
- Resolver
- Hostname sorusu alındı
- Connection context
- Connection yok
- Peer identity
- Peer bilinmiyor
- HTTP planner
- HTTP planı yok
- Adres cevabı hazır
Resolver supplied local kayıttan documentation address cevabını hazırlar; henüz browser bilmez.
- Browser
- Host biliniyor; DNS sorusu hazır
- Resolver
- 203.0.113.10 cevabı hazır
- Connection context
- Connection yok
- Peer identity
- Peer bilinmiyor
- HTTP planner
- HTTP planı yok
- Adres browser’da
Kavramsal DNS cevabı browser’a ulaştı; resolver ve diğer owner’lar aynı kalır.
- Browser
- Parsed host ve adres biliniyor
- Resolver
- 203.0.113.10 cevabı hazır
- Connection context
- Connection yok
- Peer identity
- Peer bilinmiyor
- HTTP planner
- HTTP planı yok
- Transport bağlamı
Supplied route=true ve selected TCP/H2 bağlamı değerlendirilir; burada socket veya handshake yürütülmez.
- Browser
- Parsed host ve adres biliniyor
- Resolver
- 203.0.113.10 cevabı hazır
- Connection context
- Route true; TCP/H2 supplied
- Peer identity
- Peer bilinmiyor
- HTTP planner
- HTTP planı yok
- Peer identity bağı
Supplied trust/path=true ve intended ASCII hostname match=true birleşir; gerçek X.509 validation değildir.
- Browser
- Parsed host ve adres biliniyor
- Resolver
- 203.0.113.10 cevabı hazır
- Connection context
- Route true; TCP/H2 supplied
- Peer identity
- Peer predicate accepted
- HTTP planner
- HTTP planı yok
- HTTP planı hazır
Bağımlılıkları geçen plan host/path/query taşır; fragment ve application permission bu sonuçtan çıkmaz.
- Browser
- Parsed host ve adres biliniyor
- Resolver
- 203.0.113.10 cevabı hazır
- Connection context
- Route true; TCP/H2 supplied
- Peer identity
- Peer predicate accepted
- HTTP planner
- GET target planı hazır; gönderilmedi
Peer bağı farklı
- Peer kontrol niyeti
Connection context supplied’dır; sonraki karar trust/path ve intended name bağını ayrı değerlendirecek.
- Browser
- Parsed host biliniyor
- Resolver
- Adres supplied
- Connection context
- Transport supplied
- Peer identity
- Peer bekleniyor
- HTTP planner
- Plan bekleniyor
- Chain varsayımı
Trust/path=true verilen predicate’tir; certificate dosyası veya cryptographic validation çalıştırılmaz.
- Browser
- Parsed host biliniyor
- Resolver
- Adres supplied
- Connection context
- Transport supplied
- Peer identity
- Trust/path true; name bilinmiyor
- HTTP planner
- Plan bekleniyor
- Name bağı farklı
other.example.invalid ile public.example.invalid aynı değildir; exact ASCII fixture match=false olur.
- Browser
- Parsed host biliniyor
- Resolver
- Adres supplied
- Connection context
- Transport supplied
- Peer identity
- Name match false; peer rejected
- HTTP planner
- Plan bekleniyor
- Plan durduruldu
Peer accepted=false olduğunda selected plan hazır sayılmaz ve uydurma HTTP status oluşturulmaz.
- Browser
- Parsed host biliniyor
- Resolver
- Adres supplied
- Connection context
- Transport supplied
- Peer identity
- Name match false; peer rejected
- HTTP planner
- Plan false; HTTP status yok
Adres eksik
- Adres ihtiyacı
Parsed host supplied’dır ama usable answer yoktur; bu ordinary fixture gerçek NXDOMAIN teşhisi değildir.
- Browser
- Parsed host; adres eksik
- Resolver
- Soru henüz yok
- Connection context
- Connection yok
- Peer identity
- Peer bilinmiyor
- HTTP planner
- HTTP planı yok
- Eksik resolver data
Resolver observation usable address=false olarak supplied’dır; timeout veya offline nedeni uydurulmaz.
- Browser
- Parsed host; adres eksik
- Resolver
- Usable answer yok
- Connection context
- Connection yok
- Peer identity
- Peer bilinmiyor
- HTTP planner
- HTTP planı yok
- Transport başlamadı
Adres dependency’si eksik olduğundan transport attempted=false kalır; route hakkında yeni kanıt üretilmez.
- Browser
- Parsed host; adres eksik
- Resolver
- Usable answer yok
- Connection context
- Transport attempted false
- Peer identity
- Peer bilinmiyor
- HTTP planner
- HTTP planı yok
- Plan eksik kaldı
TLS kontrolü not-evaluated ve HTTP status absent kalır; application handler’a ulaşılmış sayılmaz.
- Browser
- Parsed host; adres eksik
- Resolver
- Usable answer yok
- Connection context
- Transport attempted false
- Peer identity
- Peer bilinmiyor
- HTTP planner
- Plan false; peer not-evaluated
Connection reuse
- Tekrar okuma niyeti
Aynı supplied origin için yeni public read planlanır; mevcut connection seçeneği henüz değerlendirilmez.
- Browser
- Aynı origin parsed
- Resolver
- Soru henüz yok
- Connection context
- Connection yok
- Peer identity
- Peer bilinmiyor
- HTTP planner
- HTTP planı yok
- Pool bağlamı uygun
Existing connection uygun origin/partition/credential context için supplied’dır; gerçek browser pool okunmaz.
- Browser
- Aynı origin parsed
- Resolver
- Soru henüz yok
- Connection context
- Suitable existing H2 connection
- Peer identity
- Peer bilinmiyor
- HTTP planner
- HTTP planı yok
- Yeni handshake yok
Bu branch verified existing context’i varsayar; fresh DNS veya TLS handshake stage’i tekrar çalışmış gösterilmez.
- Browser
- Aynı origin parsed
- Resolver
- Soru henüz yok
- Connection context
- Suitable existing H2 connection
- Peer identity
- Existing verified context supplied
- HTTP planner
- HTTP planı yok
- Reused plan hazır
Uygun mevcut H2 connection seçilir; yeni DNS lookup veya TLS handshake gerekmeden HTTP planı hazır olur. Request henüz gönderilmedi.
- Browser
- Aynı origin parsed
- Resolver
- Soru henüz yok
- Connection context
- Suitable existing H2 connection
- Peer identity
- Existing verified context supplied
- HTTP planner
- Plan ready; fresh DNS/handshake false
ROLLER · STATE · VERİ AKIŞI
Adresin parçaları farklı sahiplerde anlam kazanır
https://public.example.invalid/notes/tea?view=compact#details adresini düşün. Scheme, hostname, port, path, query ve fragment tek bir server komutu değildir. URL parser bu parçaları bir record’a ayırır; HTTPS’in varsayılan portu canonical serialization’da görünmeyebilir. /notes/tea?view=compact HTTP target’a girer, #details client-side seçim olarak kalır. Bu örnekte browser adres çubuğu, history veya document navigation çalıştırılmaz. Aynı standart ailesindeki URL API ile adres record’u incelenir.
İlk bilgi browser’dadır: hangi origin’e ulaşmak istediğini bilir, fakat destination address henüz bilinmeyebilir. Resolver sorusu bütün URL’yi değil hostname ve seçilen record türünü taşır. Resolver local/cache bilgisinden yanıtlayabilir veya başka name server’lara danışabilir. Verilen 203.0.113.10 bir documentation address’tir. Resolver’ın answer hazırlaması ile browser’ın onu alması ayrı aşamalardır; browser bilgisi answer ona ulaştığında değişir.
DNS answer, network route ve server identity aynı doğrulama değildir. IP forwarding next-hop kararlarıyla destination’a ulaşmayı dener. DNS record bulunması route’un erişilebilir veya application’ın çalışır olduğunu kanıtlamaz. Route-unavailable dalı connection kurulmadan durabilir. routeAvailable burada verilen predicate’tir; gerçek hop listesi, latency veya packet capture yoktur. WEB-06 ve WEB-11 mekanizmaları birleşirken her bilginin geldiği layer korunur.
Transport seçimi ile güvenilen peer’i ayır
HTTPS request her seferinde yeni TCP handshake gerektirmez. Uygun existing connection kullanılabilir; cache veya service worker daha erken cevap verebilir. Yeni HTTP/1.1 ve HTTP/2 connection’da TCP ile TLS ayrı katmanlardır. HTTP/3 QUIC kullanır; QUIC v1 transport ve TLS cryptographic handshake’i birlikte yürütür, ayrıca TCP handshake yapmaz. Protocol selection, pooling ve resumption implementation policy’sine bağlıdır. Tek sahne bütün browser’lar için zorunlu zaman sırası değildir.
TLS certificate-based server authentication içinde certificate chain, CertificateVerify ve Finished farklı görevler taşır. Certificate alınması tek başına verification değildir. Trust/path/time ve intended reference identity kontrolleri gerekir. Hostname, URL’den kurulan beklenen identity’ye göre değerlendirilir; DNS’in başka adrese işaret etmesi bu identity’yi otomatik değiştirmez. TLS application user’ını veya note owner’ını yetkilendirmez; WEB-14 ve WEB-15 application kararları devam eder.
Normal defter URL parsing’i, verilen resolution’ı, route/transport seçimini ve peer-validation sonucunu HTTP planına bağlar. Yerel URL parse gerçekten çalışır; DNS lookup, socket, TLS veya X.509 validation çalıştırılmaz. Exact-name predicate yalnız basit ASCII alias’ları karşılaştırır; wildcard, IDNA veya IP-ID matcher değildir. HTTP planı seçilen dependency koşulları true olduğunda hazırdır. Sahne request gönderilmeden biter; peer-failed ve no-address dalları successful connection gibi gösterilmez.
2. Red · Güven ve etki
Hareket olmadan bütün senaryoları oku
Peer adı
- Intended host’u koru
URL public.example.invalid origin’ini seçiyor. Resolution address 203.0.113.10 verilmiş; address discovery intended hostname’i veya onun güven bağını değiştirmiyor.
- URL ve resolver ledger
- Reference public.example.invalid / address supplied
- Peer kabul gate’i
- Henüz değerlendirilmedi
- Request plan sonucu
- Henüz değerlendirilmedi
- İki peer koşulu
PeerFailed trustPath true, peerName other.example.invalid ve nameMatch false. Path koşulunun geçmesi reference hostname eşleşmesini telafi etmiyor.
- URL ve resolver ledger
- Reference public.example.invalid / address supplied
- Peer kabul gate’i
- Trust path true / name match false
- Request plan sonucu
- Henüz değerlendirilmedi
- HTTP planını durdur
PeerAccepted false olduğunda requestPlanReady false ve httpStatus null. Henüz HTTP response yok; connection rejection’ı server 404 veya 500 diye göstermiyoruz.
- URL ve resolver ledger
- Reference public.example.invalid / address supplied
- Peer kabul gate’i
- Trust path true / name match false
- Request plan sonucu
- Peer rejected / plan stopped / no HTTP status
- Fragment’i ayır
Parsed hash details client navigation bilgisi; target /notes/tea?view=compact fragment içermiyor. URL parse başarısı DNS, socket veya certificate validation kanıtı değildir.
- URL ve resolver ledger
- Target excludes #details
- Peer kabul gate’i
- Trust path true / name match false
- Request plan sonucu
- Peer rejected / plan stopped / no HTTP status
- Channel ile yetki
Normal peerAccepted true ve requestPlanReady true olabilir; applicationAuthorized false kalır. Encrypted channel özel note yetkisi, session validity veya object ownership sağlamaz.
- URL ve resolver ledger
- Target excludes #details
- Peer kabul gate’i
- Accepted peer ≠ application grant
- Request plan sonucu
- Peer rejected / plan stopped / no HTTP status
- Plan ile gönderim
Normal requestSent false; iyi plan HTTP delivery değildir. Bu kaynakta boolean peer koşulları verilmiş, X509 veya TLS handshake çalıştırılmamış; sonuç bu bağımlılık düzeyinde kalır.
- URL ve resolver ledger
- Target excludes #details
- Peer kabul gate’i
- Accepted peer ≠ application grant
- Request plan sonucu
- Ready plan / request unsent / crypto unmeasured
Stage sınırı
- Address bulunmuyor
NoAddress usableAddress false; transportAttempted ve peerEvaluated false. Burada hangi resolver hatasının yaşandığı verilmediğinden timeout veya NXDOMAIN teşhisi eklemiyoruz.
- URL ve resolver ledger
- No address / transport and peer unevaluated
- Peer kabul gate’i
- Henüz değerlendirilmedi
- Request plan sonucu
- Henüz değerlendirilmedi
- Failed ile not-evaluated
Peer check hiç değerlendirilmemişse failed diye kaydetmek başka gate’e neden atar. Bu branch’e application status veya certificate error yerleştirilmiyor.
- URL ve resolver ledger
- No address / transport and peer unevaluated
- Peer kabul gate’i
- Unevaluated peer ≠ rejected peer
- Request plan sonucu
- Henüz değerlendirilmedi
- Request hazırlığı yok
NoAddress requestPlanReady false ve httpStatus null. Browser’ın sonuç görememesi server request receipt’i veya note absence kanıtı değil; önceki stage durmuştur.
- URL ve resolver ledger
- No address / transport and peer unevaluated
- Peer kabul gate’i
- Unevaluated peer ≠ rejected peer
- Request plan sonucu
- No plan / no inferred server event
- Suitable reuse
Reuse suitable true, freshDns false ve freshHandshake false verir. Fresh aşamaların olmaması bu branch’te failure değil; mevcut context’in uygunluğu verilmiş.
- URL ve resolver ledger
- Suitable reuse / no fresh DNS or handshake
- Peer kabul gate’i
- Unevaluated peer ≠ rejected peer
- Request plan sonucu
- No plan / no inferred server event
- Transport türü ayrımı
Seçilen H1/H2 HTTPS yolu TCP+TLS; H3 QUIC v1 over UDP ve TCP kullanmıyor. Bu alternatives protokol açıklaması; quicExecuted false actual transport kanıtını sınırlıyor.
- URL ve resolver ledger
- Suitable reuse / no fresh DNS or handshake
- Peer kabul gate’i
- H1/H2 TCP+TLS / H3 QUIC-over-UDP
- Request plan sonucu
- No plan / no inferred server event
- Boundary’yi seçili tut
NoAddress, peer rejection ve suitable reuse üç farklı sonuç. Hepsini retry failure veya taze handshake başarı kutusuna dönüştürmek connection lifecycle bilgisini kaybettirir.
- URL ve resolver ledger
- Suitable reuse / no fresh DNS or handshake
- Peer kabul gate’i
- H1/H2 TCP+TLS / H3 QUIC-over-UDP
- Request plan sonucu
- Discovery / identity / reuse distinct
VARSAYIM · SINIR · KONTROL
Çözülmüş adresi güvenilmiş servis sanmak
Normal amaç URL’de seçilen origin’e ulaşmaktır; gereken güven bağı connection’ın intended server identity için doğrulanmasıdır. DNS answer veya erişilebilir transport bu bağın yerine konursa yanlış peer’e application data gönderilebilir. Bozulan varsayım address discovery’nin endpoint authentication yaptığı düşüncesidir. Örnekte other.example.invalid için nameMatch=false verilir. Bu sıradan alias karşılaştırması gerçek server bağlantısı veya certificate verification ölçümü değildir.
Kontrol intended hostname’i connection boyunca korur, trust/path ile name kontrolünü ayrı değerlendirir ve peer predicate başarısızsa HTTP planını durdurur. Bu sonuç certificate parser testine eşit değildir. Connection başarılı olduğunda bile application authorization ayrı kalır. Encrypted channel, public response veya session cookie özel object için hak vermez. Buradaki risk connection identity boundary’sine aittir; her DNS sorunu account compromise kanıtı değildir.
Eksik stage’i tamamlanmış göstermek
No-address dalında resolver’ın bu örnek için usable answer’ı yoktur. Bunun gerçek NXDOMAIN, timeout veya offline durumundan kaynaklandığı söylenmez; yalnız usable answer bulunmadığı bilinir. Route ve TLS aşamaları başlamaz. Bu sonucu HTTP 500 veya application 404 diye sunmak request server’a ulaşmadan server sonucu üretmek olur. Connection failure ile application response farklı kanıt taşır.
Reuse dalında uygun mevcut connection verilmiştir; yeni DNS lookup veya handshake yapılmaması failure değildir. Hangi connection context’inin origin ve credential/partition kapsamına uygun olduğu değerlendirilir. Her request için bütün aşamaları zorla yeniden oynatmak runtime davranışını yanlış anlatır. Browser policy, cache ve connection management kaynakları alternatifleri açıklar; model yalnız seçilen dalın koşullarını gösterir.
3. Blue · Güvenli geliştirme ve savunma
Hareket olmadan bütün senaryoları oku
Plan controls
- URL alanlarını karşılaştır
Raw input, normalized origin, target ve hash ayrı hesaplanır. Explicit default port origin’i değiştirmez; query target’a katılır, fragment katılmaz.
- Plan fact ledger
- Origin/target/hash distinct
- Dependency comparison
- Henüz değerlendirilmedi
- Evidence sonucu
- Henüz değerlendirilmedi
- Reference ve answer bağı
QuestionName intended host, answer address ise verilen resolver sonucudur. ActualDnsQuery false; name discovery kaydını observed DNS exchange diye raporlamıyoruz.
- Plan fact ledger
- Origin/target/hash distinct
- Dependency comparison
- Supplied address / query unexecuted
- Evidence sonucu
- Henüz değerlendirilmedi
- Olumlu peer kontrolü
Normal trustPath ve nameMatch true ile peerAccepted true. Bu conjunction requestPlanReady’yi destekler; applicationAuthorized ve requestSent false ayrı kalır.
- Plan fact ledger
- Origin/target/hash distinct
- Dependency comparison
- Supplied address / query unexecuted
- Evidence sonucu
- Peer accepted / plan ready / app grant false
- Üç branch evidence
PeerFailed evaluated reject, noAddress not-evaluated ve reuse suitable context’tir. Evidence stage’i aynı generic status label’ından önce belirtilir.
- Plan fact ledger
- Rejected / unevaluated / reused contexts
- Dependency comparison
- Supplied address / query unexecuted
- Evidence sonucu
- Peer accepted / plan ready / app grant false
- Selector coverage sınırı
Selector peerAccepted false ve ready true contradiction’ını arar. Zero normal match, positive inconsistent one match; missing observation güvenli channel kanıtı değildir.
- Plan fact ledger
- Rejected / unevaluated / reused contexts
- Dependency comparison
- Contradiction controls / missing coverage separate
- Evidence sonucu
- Peer accepted / plan ready / app grant false
- Bir sonraki owner’a geçiş
Bu ledger hazır planın hangi bağımlılıkları geçtiğini söyler. HTTP receiver ve handler sonraki capstone’un alanı; onların sonuçları connection planına geriye eklenmez.
- Plan fact ledger
- Rejected / unevaluated / reused contexts
- Dependency comparison
- Contradiction controls / missing coverage separate
- Evidence sonucu
- Plan evidence only / HTTP owner separate
Peer evidence gap
- Yalnız address kaydı
Review yalnız 203.0.113.10 adresini görüyor; route ve peer acceptance kaydı yok. Address bulunması endpoint identity veya encrypted channel başarı kanıtı değildir.
- Plan fact ledger
- Address known / route and peer missing
- Dependency comparison
- Henüz değerlendirilmedi
- Evidence sonucu
- Henüz değerlendirilmedi
- Normal sonucu kopyalama
Normal nameMatch true başka fixture branch’ine ait. Bu eksik olayda intended name ve peer check bilinmeden accepted true yazılamaz.
- Plan fact ledger
- Address known / route and peer missing
- Dependency comparison
- Expected peer acceptance ≠ observed result
- Evidence sonucu
- Henüz değerlendirilmedi
- HTTP sonucunu üretme
RequestPlanReady ve requestSent UNKNOWN; httpStatus gözlenmiyor. Endpoint name failure veya application404 aynı boş address kaydından çıkarılamaz.
- Plan fact ledger
- Address known / route and peer missing
- Dependency comparison
- Expected peer acceptance ≠ observed result
- Evidence sonucu
- Plan/send/HTTP outcome UNKNOWN
- Gerekli dependency fields
Reference hostname, address source, selected transport, suitable reuse ve peer result gerekli. Connection error ile server receipt kayıtları ayrı kaynaklardan gelir.
- Plan fact ledger
- Needed: reference/context/peer/recipient
- Dependency comparison
- Expected peer acceptance ≠ observed result
- Evidence sonucu
- Plan/send/HTTP outcome UNKNOWN
- Parser evidence sınırı
URL API normalized origin’i hesaplar, X509 validation yapmaz. Native parser başarısı certificate trust, socket reachability veya browser navigation kontrolünün yerine geçmez.
- Plan fact ledger
- Needed: reference/context/peer/recipient
- Dependency comparison
- URL computation ≠ connection verification
- Evidence sonucu
- Plan/send/HTTP outcome UNKNOWN
- Unknown sonucu koru
Yeni observation connection context’i ve peer gate’ini ayrı yanıtlamalı. Bu kayıt sadece address bilgisini korur; hazır HTTP planı veya application yetkisi iddiası eklemez.
- Plan fact ledger
- Needed: reference/context/peer/recipient
- Dependency comparison
- URL computation ≠ connection verification
- Evidence sonucu
- Retain address / collect scoped peer evidence
UYGULAMA · GÜVENLİK KONTROLÜ · DOĞRULAMA
Bir request planının bağımlılıklarını izle
Defterde raw input’u, parsed origin/target’ı, reference hostname’i, address kaynağını ve transport mode’u ayrı tut. Parser output’undan fragment’in request-target’a eklenmediğini kontrol et. Normal URL’ye açık :443 eklemek veya query value değiştirmek hangi record alanını etkiliyor karşılaştır. Bu kontrol URL API kapsamındadır; document navigation, mixed content policy veya certificate verification kanıtı değildir.
Observation’ları typed sonuçlarla bağla: usable address, verilen route predicate’i, seçilen protocol, peerValidation ve requestPlanReady. Eksik alanlara true default verme. Resolver answer’ı hazırken browser’ın henüz almadığı adım sınırını koru. Peer validation sonucu application authorization’a taşınmaz. Sonraki capstone aynı planı handler’a götürür; böylece tek success label yerine her aşamadaki bilinen ve bilinmeyen koşullar görünür olur.
Failure reason ile güven sınırını kaydet
Peer-failed örneğinde trustPath=true ile nameMatch=false birlikte kalır; chain koşulunun olumlu olması name mismatch’i kaldırmaz. No-address durumunda peer check not-evaluated’dır, failed değildir. Reused context’te freshHandshake=false ile selectedSuitable=true birlikte açıklanır. Bu sonuçlar aynı retry veya error sınıfına zorlanmaz; yerel predicate yalnız verilen ASCII name ve boolean input’lar için karar verir.
XML selector peerAccepted=false iken requestPlanReady=true yazılan çelişkiyi arar. Durdurulmuş plan 0, bilerek tutarsız hazırlanmış kayıt 1 eşleşme verir. Eksik kayıt güvenli connection kanıtı değildir. Selector time correlation veya TLS transcript çözmez. Gerçek incelemede browser timing, connection error ve server access evidence farklı kaynaklardan gelir; bu örnek onların yerine output üretmeden karar bağımlılığını gösterir.
ŞİMDİ VAKAYA UYGULA
DNS answer HTTPS request için hangi güveni sağlar?
Public note URL’sinin fragment’i client’ta kalıyor; request target path ve query’den oluşuyor. Verilen DNS answer bir adres gösteriyor, fakat other.example.invalid peer adı intended host ile uyuşmuyor. Bir başka branch uygun connection’ı yeniden kullanıyor; her request için yeni DNS ve handshake şart değil.
Vaka kayıtlarından request’in geçtiği owner zincirini yeniden kur. Her observation’ı gerçekten desteklediği sonuca bağla; eksik hop için başka request’in başarısını kullanma.
Bağlı vaka dosyasını aç ↗ÖRNEĞİ BİRLİKTE OKUYALIM
URL ve connection karar kaydı
Bir alan seç; hangi sonucu desteklediğini ve nerede yetersiz kaldığını incele.
Ham kaydı ve alan açıklamalarını oku
{
"input": "https://public.example.invalid/notes/tea?view=compact#details",
"parsed": {
"protocol": "https:",
"hostname": "public.example.invalid",
"port": "",
"origin": "https://public.example.invalid",
"pathname": "/notes/tea",
"search": "?view=compact",
"hash": "#details",
"target": "/notes/tea?view=compact"
},
"resolution": {
"questionName": "public.example.invalid",
"address": "203.0.113.10",
"source": "supplied local resolver answer",
"actualDnsQuery": false
},
"normal": {
"routeAvailable": true,
"transport": "tcp",
"httpVersion": "h2",
"trustPath": true,
"peerName": "public.example.invalid",
"nameMatch": true,
"peerAccepted": true,
"requestPlanReady": true,
"applicationAuthorized": false,
"requestSent": false
},
"peerFailed": {
"trustPath": true,
"peerName": "other.example.invalid",
"nameMatch": false,
"peerAccepted": false,
"requestPlanReady": false,
"httpStatus": null
},
"noAddress": {
"usableAddress": false,
"transportAttempted": false,
"peerEvaluated": false,
"requestPlanReady": false,
"httpStatus": null
},
"reuse": {
"origin": "https://public.example.invalid",
"suitable": true,
"freshDns": false,
"freshHandshake": false,
"httpVersion": "h2",
"requestPlanReady": true
},
"transportAlternatives": {
"h1h2": "TCP plus TLS for selected HTTPS path",
"h3": "QUIC v1 over UDP integrates TLS handshake; no TCP",
"quicExecuted": false
},
"limits": {
"browserNavigation": false,
"dnsQuery": false,
"socketRouteProbe": false,
"tcpQuicTlsHandshake": false,
"x509Validation": false,
"httpDelivery": false,
"realCredentials": false
},
"selector": {
"language": "XPath",
"xml": "<audit><plan peerAccepted=\"false\" ready=\"false\"/></audit>",
"xpath": "count(/audit/plan[@peerAccepted='false' and @ready='true'])",
"expected": 0,
"positiveFixtureXml": "<audit><plan peerAccepted=\"false\" ready=\"true\"/></audit>",
"positiveExpected": 1,
"scope": "Own inert decision observations, not real vendor logs.",
"missingFieldBehavior": "Missing observation is insufficient evidence, not a proven healthy or authorized result."
}
}- parsed
- URL API ile incelenen origin, path, query ve client fragment.
- normal
- Verilen dependency sonuçları; application yetkisi değildir.
- peerFailed
- Trust/path ile name match ayrı koşullardır.
- reuse
- Yeni handshake gerektirmeyen, uygun olduğu verilen connection context’i.
Sabit sentetik URL yerel parse edilir; name ve dependency koşulları verilen sınırlı predicate’lerdir. Gerçek DNS, socket, TLS/X.509 verification veya browser navigation çalıştırılmaz; sahnedeki protocol ilişkileri kavramsaldır.
İki yanlış kanı
Her HTTPS request yeni DNS lookup, TCP ve TLS handshake yapar.
Cache ve uygun connection reuse farklı dallardır; HTTP/3 ayrıca TCP yerine QUIC kullanır.
Adres bulundu ve TLS şifreli; artık note’a yetkim var.
Service identity ve channel koruması, application authorization’dan ayrı değerlendirilir.
SIRA SENDE
Bu hikâyeyi sen çöz.
Sonucu tahmin et, kanıtın sınırını bul ve nedenini kendi cümlenle anlat.
Certificate path güvenilen, fakat peerName=other.example.invalid ve nameMatch=false. Bu URL için request plan hazır olur mu?
- Hayır. peerAccepted=false; requestPlanReady=false.
- Evet. Güvenilen path, hostname kontrolüne gerek bırakmaz.
Gerekçeli cevabı oku
Hayır. peerAccepted=false; requestPlanReady=false. — Güvenilen path başka service adını bu URL için geçerli yapmaz. Bu branch’te HTTP response alınmadığından httpStatus=null kalır.
Bu URL’den HTTP request target’a hangi bileşenler geçer?
Dersten seçilen artifact alanları; öğretim örneği
- parsed.pathname
- /notes/tea
- parsed.search
- ?view=compact
- parsed.hash
- #details
- parsed.target
- /notes/tea?view=compact
- Fragment de HTTP target’a eklenir; server details route’unu seçer.
- /notes/tea?view=compact gider; #details gitmez.
Gerekçeli cevabı oku
/notes/tea?view=compact gider; #details gitmez. — target path ve query’den oluşur. Fragment browser context’inde kalır; TLS veya DNS aşamasına resource path olarak eklenmez.
Reuse için freshDns=false ve freshHandshake=false, fakat requestPlanReady=true. Neden bu mümkündür? Hazır plan neden application izni veya HTTP delivery değildir?
Gerekçeli cevabı oku
Uygun connection yeniden kullanılabilir; her request için yeni DNS sorgusu ve handshake zorunlu değildir. Bu örnek origin ve suitability koşullarını girdi olarak verir. Normal branch’te requestSent=false ve applicationAuthorized=false kalır: transport plan hazır olsa da request gönderilmemiştir ve application izni verilmemiştir. H3 alternatifi QUIC/UDP kullanır, TCP değildir. Burada gerçek DNS, socket, TLS veya HTTP delivery çalıştırılmaz.
□ Connection reuse’u her request için yeni handshake zorunluluğundan ayırdım.
□ Plan readiness’i application izni veya delivery saymadım.
Uygulama konsolunu aç · request / response / browser
Request, URL, cookie ve DOM örneklerini ayrıca aç
Kaynaklar ve kapsam
- WHATWG URL — Living Standard, 2026-10-074.1. URL representation · 4.4. URL parsing · 6.1. URL class
- RFC 1034 — DNS concepts5.3.3. Algorithm
- RFC 1812 — IPv4 Router Requirements (historical protocol basis)5.2.4.3 Next Hop Address
- RFC 9293 — TCP3.5. Establishing a Connection
- RFC 9000 — QUIC v17. Cryptographic and Transport Handshake
- RFC 8446 — TLS 1.34.4. Authentication Messages · 4.4.2.4. Receiving a Certificate Message
- RFC 9525 — Service Identity in TLS6.1. Constructing a List of Reference Identifiers · 6.2. Preparing to Seek a Match
- RFC 9110 — HTTP Semantics7.1. Determining the Target Resource
- WHATWG Fetch — Living Standard, 2026-10-062.6. Connections
- RFC 9113 — Starting HTTP/23. Starting HTTP/2
- RFC 9114 — HTTP/32. HTTP/3 Protocol Overview
- OWASP — AuthorizationIntroduction