WEB / WEB-09.S02
Authority, forwarded trust ve parser agreement
Public target, provenance ve message completeness kararlarını ayır; normal version projection’da hangi bilgilerin korunduğunu izle.
1. Core · Mekanizma
Hareket olmadan bütün senaryoları oku
Approved preview
- Typed bilgiler hazır
POST books.example/preview?lang=en ve Tea reference content’i verilmiştir. approved-edge, protected hop ve reconstruction koşulları henüz policy kararı değildir; boundary için expected ve observed üçer octet vardır. Bu yerel değerlendirme gerçek request almaz.
- Public target
- POST books.example; Tea
- Context provenance
- Context pending
- Boundary gate
- Boundary pending
- Dispatch record
- No dispatch
- Public target kararı
Configuration’daki books.example mapping’i değerlendirilir. Target’ın kabul edilmesi kullanıcı veya proxy kimliği üretmez.
- Public target
- Authority approved
- Context provenance
- Context pending
- Boundary gate
- Boundary pending
- Dispatch record
- No dispatch
- Provenance kararı
İzin verilen peer, korunan hop ve context’in yeniden kurulması birlikte değerlendirilir. External context doğrudan target bilgisinin yerine geçmez.
- Public target
- Authority approved
- Context provenance
- Context accepted
- Boundary gate
- Boundary pending
- Dispatch record
- No dispatch
- Completeness sınırı
Known-length typed record, dispatch öncesinde denetlenir. Reddedilen durumda yeni message veya network dispatch oluşturulmaz.
- Public target
- Authority approved
- Context provenance
- Context accepted
- Boundary gate
- Complete; 3 octets
- Dispatch record
- No dispatch
- Semantic projection kararı
Yalnız kabul edilen record için method, onaylı authority, path/query ve Tea byte’ları korunarak descriptor oluşturulur. Reddedilen record için projection yapılmaz.
- Public target
- Authority approved
- Context provenance
- Context accepted
- Boundary gate
- Complete; 3 octets
- Dispatch record
- Descriptor ready; Tea; CL3
- Son local kayıt
Onaylı authority, kabul edilen context ve tamamlanmış boundary ACCEPT/dispatchCount=1 sonucunu verir. Üç octet’lik Tea descriptor’ı yerel olarak seçilir; bu sayı gerçek HTTP gönderimi, parser agreement veya user izni kanıtı değildir.
- Public target
- Authority approved
- Context provenance
- Context accepted
- Boundary gate
- Complete; 3 octets
- Dispatch record
- ACCEPT; dispatchCount=1
External ignored
- Typed bilgiler hazır
Public POST target’ı books.example’dir, Tea için expected=observed=3 verilir. peerClass external olduğu için forwarded context’in kaynağı ayrı değerlendirilecektir. Public target kabulü henüz hesaplanmadı; hiçbir network dispatch yoktur.
- Public target
- POST books.example; Tea
- Context provenance
- Context pending
- Boundary gate
- Boundary pending
- Dispatch record
- No dispatch
- Public target kararı
Configuration’daki books.example mapping’i değerlendirilir. Target’ın kabul edilmesi kullanıcı veya proxy kimliği üretmez.
- Public target
- Authority approved
- Context provenance
- Context pending
- Boundary gate
- Boundary pending
- Dispatch record
- No dispatch
- Provenance kararı
İzin verilen peer, korunan hop ve context’in yeniden kurulması birlikte değerlendirilir. External context doğrudan target bilgisinin yerine geçmez.
- Public target
- Authority approved
- Context provenance
- External ignored
- Boundary gate
- Boundary pending
- Dispatch record
- No dispatch
- Completeness sınırı
Known-length typed record, dispatch öncesinde denetlenir. Reddedilen durumda yeni message veya network dispatch oluşturulmaz.
- Public target
- Authority approved
- Context provenance
- External ignored
- Boundary gate
- Complete; 3 octets
- Dispatch record
- No dispatch
- Semantic projection kararı
Yalnız kabul edilen record için method, onaylı authority, path/query ve Tea byte’ları korunarak descriptor oluşturulur. Reddedilen record için projection yapılmaz.
- Public target
- Authority approved
- Context provenance
- External ignored
- Boundary gate
- Complete; 3 octets
- Dispatch record
- Descriptor ready; Tea; CL3
- Son local kayıt
Public authority ve boundary uygundur: ACCEPT/dispatchCount=1, fakat external context ignored kalır. Request admission ile context provenance farklı kararlardır. Descriptor’ın seçilmesi gerçek HTTP aktarımı veya protected resource izni değildir.
- Public target
- Authority approved
- Context provenance
- External ignored
- Boundary gate
- Complete; 3 octets
- Dispatch record
- ACCEPT; dispatchCount=1
Authority denied
- Typed bilgiler hazır
Typed POST facts archive.example authority’sini taşır; onaylı public mapping books.example içindir. Tea reference content’i bu isim farkını düzeltmez. Yerel admission henüz sonuçlanmadı; context veya boundary kabul kararı üretilmedi.
- Public target
- POST archive.example; Tea
- Context provenance
- Context pending
- Boundary gate
- Boundary pending
- Dispatch record
- No dispatch
- Public target kararı
Configuration’daki books.example mapping’i değerlendirilir. Target’ın kabul edilmesi kullanıcı veya proxy kimliği üretmez.
- Public target
- Authority denied
- Context provenance
- Context pending
- Boundary gate
- Boundary pending
- Dispatch record
- No dispatch
- Provenance değerlendirilmedi
Public target önce reddedildiği için provenance kontrolü çalışmaz. Context’in not-evaluated kalması, ignored kararıyla aynı değildir.
- Public target
- Authority denied
- Context provenance
- Context not evaluated
- Boundary gate
- Boundary pending
- Dispatch record
- No dispatch
- Completeness değerlendirilmedi
Reddedilen target için boundary değerlendirmesi yapılmaz. Hiçbir descriptor veya dispatch record kabul edilmiş hale gelmez.
- Public target
- Authority denied
- Context provenance
- Context not evaluated
- Boundary gate
- Not evaluated
- Dispatch record
- No dispatch
- Semantic projection kararı
Yalnız kabul edilen record için method, onaylı authority, path/query ve Tea byte’ları korunarak descriptor oluşturulur. Reddedilen record için projection yapılmaz.
- Public target
- Authority denied
- Context provenance
- Context not evaluated
- Boundary gate
- Not evaluated
- Dispatch record
- Descriptor null
- Son local kayıt
Authority mapping başarısızdır: REJECT/dispatchCount=0; descriptor yoktur. Sonraki context ve boundary değerlendirmeleri atlanır. Bu neden, eksik content nedeniyle ret ile aynı değildir; yerel guard dışında bir network sonucu yoktur.
- Public target
- Authority denied
- Context provenance
- Context not evaluated
- Boundary gate
- Not evaluated
- Dispatch record
- REJECT; dispatchCount=0
Incomplete record
- Typed bilgiler hazır
Typed facts books.example ve approved-edge’i verir, fakat expected=3, observed=2 ve complete=false’tur. Tea reference content’inin üç byte olması, üç byte’ın gözlendiğini göstermez. Yerel kontrol henüz dispatch seçmedi.
- Public target
- Reference Tea; expected3 / observed2
- Context provenance
- Context pending
- Boundary gate
- Boundary pending
- Dispatch record
- No dispatch
- Public target kararı
Configuration’daki books.example mapping’i değerlendirilir. Target’ın kabul edilmesi kullanıcı veya proxy kimliği üretmez.
- Public target
- Authority approved
- Context provenance
- Context pending
- Boundary gate
- Boundary pending
- Dispatch record
- No dispatch
- Provenance kararı
İzin verilen peer, korunan hop ve context’in yeniden kurulması birlikte değerlendirilir. External context doğrudan target bilgisinin yerine geçmez.
- Public target
- Authority approved
- Context provenance
- Context accepted
- Boundary gate
- Boundary pending
- Dispatch record
- No dispatch
- Completeness sınırı
Known-length typed record, dispatch öncesinde denetlenir. Reddedilen durumda yeni message veya network dispatch oluşturulmaz.
- Public target
- Authority approved
- Context provenance
- Context accepted
- Boundary gate
- Incomplete; reject
- Dispatch record
- No dispatch
- Semantic projection kararı
Yalnız kabul edilen record için method, onaylı authority, path/query ve Tea byte’ları korunarak descriptor oluşturulur. Reddedilen record için projection yapılmaz.
- Public target
- Authority approved
- Context provenance
- Context accepted
- Boundary gate
- Incomplete; reject
- Dispatch record
- Descriptor null
- Son local kayıt
Authority ve context kabul edilse de observed 2/expected 3 boundary’yi tamamlamaz: REJECT/dispatchCount=0, descriptor yoktur. Eksik content, trusted peer ile telafi edilmez. Yerel ret gerçek parser çalıştırıldığını göstermez.
- Public target
- Authority approved
- Context provenance
- Context accepted
- Boundary gate
- Incomplete; reject
- Dispatch record
- REJECT; dispatchCount=0
ROLLER · STATE · VERİ AKIŞI
Authority bir routing bilgisidir
Atlas public preview servisi books.example authority’sini kabul etsin. Host ve :authority, target resource’un host/port bilgisini taşır; authenticated user veya trusted proxy kimliği değildir. Bir TCP peer address, TLS reference identity, public target ve application route aynı gözlem değildir. Bu ders public target’ın önceden onaylı mapping’e uyduğunu ayrı bir karar olarak tutar.
Internal endpoint, routeId=catalog-preview ile önceden belirlenmiştir. Target string’ini serbestçe bir internal destination URL’ye çeviren resolver yoktur. Preview yalnız public Tea metnini döndürür. Authority’nin kabul edilmesi, personal record okumaya veya başka bir business action’a izin verildiği anlamına gelmez.
Forwarded context’i kim yazdı?
Bir alan parse edilebilse de kaynağı güvenilir olmayabilir. Forwarded, client veya aradaki node’lar tarafından değiştirilebilir. Trusted proxy listesi, daha önce yazılmış untrusted prefix’i kendiliğinden doğrulamaz. Atlas bu yüzden context’i kabul ederken doğrudan peer’i, hop bütünlüğünü ve alanların güvenilen noktada yeniden kurulmuş olmasını birlikte değerlendirir.
External-context senaryosunda alanın iddia ettiği IP’yi doğru veya yanlış kabul etmek zorunda değiliz. Provenance class external olduğu için context ignored kalır. Direct target ayrıca onaylanmışsa public preview yine kabul edilebilir. Context’i kullanmamak ile bütün request’i reddetmek farklı kararlardır.
Message boundary bir content değeri değildir
Tea body’si UTF-8 ile üç octet’tir. Bu normal örnekte known-length framing kullanılır; boundary kontrolü hangi octet’lerin aynı message’a ait olduğunu belirler. HTTP/1.1 body length kuralları method adına veya application’ın JSON okuyabilmesine indirgenemez. RFC 9112 §6.3 precedence ve incomplete-message kurallarını tanımlar; bu ders bütün grammar’ı tekrar uygulamaz.
Incomplete kaydı ham HTTP değildir; expected=3, observed=2, complete=false metadata’sıdır. Beklenen üç octet’in yalnız ikisi bulunduğu için guard dispatch oluşturmadan durur. Bir parser’a farklı yorum yaptırılmaz ve ikinci request eklenmez. Burada önemli sınır, eksik content’le tamamlanmış bir message kararı verilemeyeceğidir.
HTTP version conversion hangi bilgiyi korur?
Normal durumda HTTP/2 semantic record’u HTTP/1.1 descriptor’ına dönüştürülür. Method, onaylı public authority, path/query ve content octet’leri korunur. HTTP/2’de stream ve frame sınırları vardır. Content taşıyan bir request veya response’ta content-length bulunuyorsa DATA content toplamıyla tutarlı olmalıdır. Yasak connection-specific alanlar HTTP/2 message’a kopyalanamaz.
Bu dönüşüm HPACK, DATA frame veya HTTP/1.1 parser çalıştırmaz. Normal descriptor, Content-Length=3 ve tek Tea body’sini taşır; inbound ve outbound sınırlar ayrı kaydedilir. Bir hop’un HTTP/2 olması sonraki hop’un da HTTP/2 olduğunu göstermez. Sürüm seçimi, message interpretation ve application authorization ayrı sorumluluklardır.
Parser agreement neden bir zincir özelliğidir?
Edge bir message kabul ettiğinde application’ın aynı message’ı göreceğini varsaymak kolaydır. Oysa owner değişiminde target, field interpretation ve content boundary sözleşmesi korunmalıdır. Desynchronization kök nedeni, farklı layer’ların aynı stream veya translation için farklı message sınırları seçmesidir. Bu ders bu riski defensive invariant üzerinden anlatır.
Kabul edilen örnekte bir descriptor ve bir dispatch record vardır. Authority-denied veya incomplete durumunda descriptor null, dispatchCount=0 kalır. Reddedilen content bu profile’da yeni bir iş emri gibi yorumlanmaz. Bu local guard, hangi koşulda dispatch yapılabileceğini gösterir; gerçek bir proxy zincirindeki parser agreement’ı doğrulamış olmaz.
Observation ile policy decision’ı ayrı kaydet
Artifact, ham context yerine provenance category, contextAccepted, boundaryComplete ve dispatchCount kaydeder. Public target validation ile forwarded-context validation ayrı sonuçlardır. Input eksikse not-computed verilir; bunu clean traffic veya security pass diye yorumlama. Bilinmeyen bir conversion profile da dispatch oluşturmaz.
Sahnedeki dört aktör, aynı local policy değerlendirmesinin ayrı sorumluluklarını gösterir. Aralarında network packet uçmaz; BEGIN bir sonraki tamamlanmış yerel karara geçer. Önceki proxy akışıyla birlikte okuduğunda, metadata kararının verildiği nokta ile message’ın taşındığı hop’u ayırt edebilirsin. Bu local karar gösterimi, gerçek proxy’nin network rollerini ortadan kaldırmaz.
2. Red · Güven ve etki
Hareket olmadan bütün senaryoları oku
External context
- Public target ile external peer class ayrıldı
External case POST /preview?lang=en ve authority books.example taşır. peerClass external, protectedHop ve reconstructed false’tur. Normal Tea body’si üç byte’tır; public target doğru olabilirken forwarded provenance kabul edilmeyebilir.
- Typed request facts
- Public books.example / external context
- Admission gate
- Gate bekliyor
- Dispatch boundary
- Descriptor yok
- Target ve context gate’leri ayrı sonuç verdi
Bu public preview profile’ı direct validated facts ile ACCEPT verir; contextAccepted false kalır. Bunun anlamı client metadata’nın trusted olduğu değildir. Routing acceptance user session veya tenant grant’i de sağlamaz.
- Typed request facts
- Public books.example / external context
- Admission gate
- Public admission ACCEPT / contextAccepted=false
- Dispatch boundary
- Descriptor yok
- Local dispatch count gerçek network sayılmadı
Expected dispatchCount 1 local admission record’unun sonucudur. wireBytesIncluded false’tur; gerçek network dispatch çalıştırılmaz. Application request kabulü ile forwarded context kullanımı farklı policy outcomes olarak kalır.
- Typed request facts
- Public books.example / external context
- Admission gate
- Public admission ACCEPT / contextAccepted=false
- Dispatch boundary
- Local record count1 / no network dispatch
- Approved peer branch positive karşılaştırma oldu
Normal peerClass approved-edge, protectedHop ve reconstructed true’dur. Context accepted true olur; public admission yine ACCEPT’tir. Aynı admission sonucu farklı provenance kararlarını gizlememelidir.
- Typed request facts
- Normal ACCEPT / contextAccepted=true
- Admission gate
- Public admission ACCEPT / contextAccepted=false
- Dispatch boundary
- Local record count1 / no network dispatch
- Authority mapping internal destination üretmedi
ApprovedAuthority books.example ve fixedRouteId catalog-preview config sorumluluklarıdır. Incoming context’ten guessed internal destination üretilmez. Bu sabit public mapping, resource authorization motoru değildir.
- Typed request facts
- Normal ACCEPT / contextAccepted=true
- Admission gate
- Fixed public mapping / no guessed target
- Dispatch boundary
- Local record count1 / no network dispatch
- Public acceptance protected authority’ye taşmadı
External context ignored iken public preview kabul edilebilir. Bu sonucu user, tenant veya sensitive action policy’sine genellemek yanlış olur. Context source ve tested resource scope birlikte belirtilmelidir.
- Typed request facts
- Normal ACCEPT / contextAccepted=true
- Admission gate
- Fixed public mapping / no guessed target
- Dispatch boundary
- Public admission only / protected authz separate
Incomplete body
- Declared ve observed octets kendi field’larında kaldı
Incomplete facts expectedOctets 3, observedOctets 2 ve complete false verir. bodyHex 546561 reference content’i gösterir; bu hex observed üç byte receipt kanıtı değildir. Record’ın completeness alanları ayrıca okunur.
- Typed request facts
- Expected3 / observed2 / complete=false
- Admission gate
- Gate bekliyor
- Dispatch boundary
- Descriptor yok
- Trusted context incomplete boundary’yi telafi etmedi
Authority approved ve contextAccepted true olabilir; complete false nedeniyle REJECT, boundary-incomplete olur. Bir gate’in başarılı olması diğerinin gerekli şartını ortadan kaldırmaz. dispatchCount 0 kalır.
- Typed request facts
- Expected3 / observed2 / complete=false
- Admission gate
- Context true / completeness false / REJECT
- Dispatch boundary
- Descriptor yok
- Rejection descriptor üretmedi
Admission durunca conversion descriptor seçilmez ve local dispatch yapılmaz. Bu typed record bir gerçek HTTP parser’ın bytes’ı nasıl işlediğini ölçmez. Boundary failure user authorization failure olarak yeniden adlandırılmaz.
- Typed request facts
- Expected3 / observed2 / complete=false
- Admission gate
- Context true / completeness false / REJECT
- Dispatch boundary
- No descriptor / dispatchCount0
- Authority failure ayrı negative case olarak tutuldu
authority-denied case’i archive.example taşır; normal three-byte content complete’tir. Bu kez reason authority-not-approved olur. Aynı REJECT sonucu, farklı owner ve farklı correction ihtiyacına bağlanır.
- Typed request facts
- Complete body / archive.example not approved
- Admission gate
- Context true / completeness false / REJECT
- Dispatch boundary
- No descriptor / dispatchCount0
- Version profile adı boundary proof yerine geçmedi
h2-to-h1-known-length etiketi tek başına conversion correctness sağlamaz. Inbound completeness, preserved Tea octets ve outbound semantic descriptor ayrı evidence’dır. Unknown profile veya missing facts guessed acceptance’a çevrilmez.
- Typed request facts
- Complete body / archive.example not approved
- Admission gate
- Profile label insufficient / typed boundaries required
- Dispatch boundary
- No descriptor / dispatchCount0
- Gate sonucu protocol implementation claim’i olmadı
Bu model typed policy facts üzerinde çalışır. General HTTP parsing, TLS peer verification veya gerçek forwarding uygulanmaz. Completeness ve authority rejection reasons ayrı kaldığında yapılmayan kontrol varmış gibi sunulmaz.
- Typed request facts
- Complete body / archive.example not approved
- Admission gate
- Profile label insufficient / typed boundaries required
- Dispatch boundary
- Typed gate known / parser-network unmeasured
VARSAYIM · SINIR · KONTROL
Review sorusu: hangi information authoritative?
Bir request summary’de books.example ve https görmek tek başına onay değildir. Hangi bilgi direct observation, hangisi accepted peer’ın reconstruction’ı, hangisi external claim? Atlas artifact’inde authorityApproved ve contextAccepted alanları bu iki soruyu ayrı yanıtlar. Birini diğerinden türetmek, routing kararını provenance kontrolü gibi sunar.
External context ignored olduğu halde public preview kabul edilen branch’i dikkatle oku. Bunun anlamı bütün header’lar güvenilir değildir; direct validated facts bu sınırlı public route için yeterlidir. Aynı kabulü tenant ownership veya user session için genişletmek yanlış olur. Review sonucunu test edilen resource ve karar kapsamıyla birlikte yaz.
Version adı yerine boundary kanıtını ara
Bir monitoring kaydında h2→h1 görmek dönüşümün doğru olduğunu ispatlamaz. Inbound completeness, outbound known-length descriptor ve korunmuş content üç farklı observations’dır. Artifact’in incomplete branch’inde accepted authority değişmez; failure boundary başka owner’dadır. Bütün reddedilmeleri aynı generic network error altında toplamak bu farkı kaybettirir.
Bu inceleme için malformed request bytes veya canlı parser discrepancy üretmek gerekmez. Supplied contradictory completeness record, kabul sınırının dispatch’ten önce olduğunu gösterebilir. Actual native Buffer kontrolü Tea octet’lerini korur; bir parser’ın normal veya abnormal wire input’u nasıl işlediğini ölçmez. Evidence’ın bu farkı açıkça taşıması, yapılmayan bir kontrolü yapılmış saymayı önler.
3. Blue · Güvenli geliştirme ve savunma
Hareket olmadan bütün senaryoları oku
Descriptor review
- Normal content reference bytes ile işaretlendi
Observation kaydını typed admission fonksiyonu üretir; facts girdidir, expected karar örneğidir. Descriptor comparison yerel byte dönüşümünü inceler. Authority-denied dalında context ve completeness kontrolü atlanır; incomplete dalında context kabul edilmiş olsa da dispatch yoktur. Gerçek proxy log’u veya wire receipt bu defterde bulunmaz. Tea UTF-8 hex 546561 ve length 3 taşır. Normal facts POST, books.example ve /preview?lang=en seçer. Descriptor comparison method, authority, path/query ve content length’i birlikte korumalıdır.
- Admission observations
- POST / books.example / preview / Tea3
- Descriptor comparison
- Gate bekliyor
- Evidence verdict
- Descriptor yok
- Approved context predicate’leri source’a bağlandı
Approved edge, protected hop ve reconstruction true olduğunda contextAccepted true olur. Bu typed provenance bilgisi certificate veya gerçek immediate peer doğrulaması değildir. Normal public target mapping bağımsız kalır.
- Admission observations
- POST / books.example / preview / Tea3
- Descriptor comparison
- Approved typed provenance / context true
- Evidence verdict
- Descriptor yok
- Negative cases descriptor yokluğunu ayrı gösterdi
Authority-denied ve incomplete için dispatchCount 0’dır; reasons farklıdır. External case dispatchCount 1 verir fakat context false’tur. Tek success boolean bu dört case’in mekanizmasını doğru açıklayamaz.
- Admission observations
- Authority/incomplete count0 / external context false
- Descriptor comparison
- Approved typed provenance / context true
- Evidence verdict
- Descriptor yok
- Byte conversion gerçek parser claim’i olmadı
Native Buffer Tea bytes’ını ve URL component’lerini inceleyebilir. Bu gerçek local API kullanımı semantic descriptor’a kanıt verir; H2/H1 parser agreement veya network forwarding’in tamamını kanıtlamaz.
- Admission observations
- Authority/incomplete count0 / external context false
- Descriptor comparison
- Local bytes/components / no protocol parser evidence
- Evidence verdict
- Descriptor yok
- Normal result gerçek dispatch’ten ayrıldı
Local ACCEPT record, configured route’a kabul kararıdır. Gerçek HTTP dispatch çalıştırılmaz. Review sonucu tested public resource ve verilmiş policy scope’uyla birlikte yazılır; user authorization sonucu eklenmez.
- Admission observations
- Authority/incomplete count0 / external context false
- Descriptor comparison
- Local bytes/components / no protocol parser evidence
- Evidence verdict
- Local record accepted / network dispatch unmeasured
- Regression semantic invariants’a bağlandı
Recheck method, authority, path/query, preserved bodyHex ve seçilmiş length üzerinde yapılır. Rejection reasons ve contextIgnored/contextAbsent farkı korunur. Secret veya full forwarded chain toplamak bu invariants için gerekli değildir.
- Admission observations
- Authority/incomplete count0 / external context false
- Descriptor comparison
- Local bytes/components / no protocol parser evidence
- Evidence verdict
- Recheck semantic fields and bounded outcome reasons
Missing facts
- Missing input malformed message sayılmadı
Observation kaydını typed admission fonksiyonu üretir; facts girdidir, expected karar örneğidir. Descriptor comparison yerel byte dönüşümünü inceler. Authority-denied dalında context ve completeness kontrolü atlanır; incomplete dalında context kabul edilmiş olsa da dispatch yoktur. Gerçek proxy log’u veya wire receipt bu defterde bulunmaz. missingEvidence input null’dır. Bunun nedeni veya wire content bilinmez; null typed input gerçek malformed HTTP packet değildir. Review, gerekli facts yokluğunu ayrı source coverage problemi olarak tutar.
- Admission observations
- Typed input null / wire unknown
- Descriptor comparison
- Gate bekliyor
- Evidence verdict
- Descriptor yok
- Admission not-computed olarak kaldı
Decision NOT-COMPUTED ve dispatchCount 0’dır. Authority-denied veya boundary-incomplete diye reason tahmin edilmez. Bu sonuç gate’in yeterli input olmadan hesaplanmadığını söyler; guarded reject ile aynı değildir.
- Admission observations
- Typed input null / wire unknown
- Descriptor comparison
- NOT-COMPUTED / count0 / no guessed reason
- Evidence verdict
- Descriptor yok
- Reference Tea missing observation yerine geçmedi
Normal body Tea ve bodyHex 546561 olması eksik request’in aynı bytes’ı taşıdığını göstermez. Complete normal fixture öğretim karşılaştırmasıdır. Unknown input’a observedOctets 3 eklemek sahte evidence üretir.
- Admission observations
- Reference bytes not missing-request receipt
- Descriptor comparison
- NOT-COMPUTED / count0 / no guessed reason
- Evidence verdict
- Descriptor yok
- Required admission facts envanteri ayrı yazıldı
Authority, method, path/query, completeness ve supported profile gerekir. Context acceptance için peer class, protected hop ve reconstruction ayrıca gerekir. Bu iki envanterden birini diğerinin yerine koymak review sorusunu değiştirir.
- Admission observations
- Reference bytes not missing-request receipt
- Descriptor comparison
- Admission facts ≠ provenance facts
- Evidence verdict
- Descriptor yok
- Coverage unknown sonucu protected trust’a taşınmadı
Bu review için admission ve provenance UNKNOWN kalır. Event yokluğu accepted target, trusted user veya parser correctness kanıtı değildir. Network veya gerçek user state hakkında yeni varsayım eklenmez.
- Admission observations
- Reference bytes not missing-request receipt
- Descriptor comparison
- Admission facts ≠ provenance facts
- Evidence verdict
- UNKNOWN: admission/provenance coverage
- Yeni evidence hedefli ve minimal tutuldu
İlerlemek için typed facts’in source’u ve scoped observed completeness gerekir. Full body veya credentials gerekmez. Yeni facts geldikten sonra admission, context acceptance ve descriptor selection ayrı yeniden hesaplanır.
- Admission observations
- Reference bytes not missing-request receipt
- Descriptor comparison
- Admission facts ≠ provenance facts
- Evidence verdict
- Needed: sourced facts and observed completeness
UYGULAMA · GÜVENLİK KONTROLÜ · DOĞRULAMA
Public target mapping’i açık bir contract yap
Observation kaydını typed admission fonksiyonu üretir; facts girdidir, expected karar örneğidir. Descriptor comparison yerel byte dönüşümünü inceler. Authority-denied dalında context ve completeness kontrolü atlanır; incomplete dalında context kabul edilmiş olsa da dispatch yoktur. Gerçek proxy log’u veya wire receipt bu defterde bulunmaz. Atlas profile’ında approved authority books.example ve sabit catalog-preview routeId birlikte seçilir. Unknown authority için guessed default veya serbest internal destination oluşturulmaz. Known public origin ile internal service adresini ayrı config responsibility olarak tutmak, gelen metadata’dan routing authority üretmeyi önler. Bu mapping user authorization’ı çözmez; o karar ilgili application owner’ında kalır.
Accepted forwarded context için configured immediate peer, protected hop ve approved reconstruction gerekir. External context’in yok sayıldığı sonucu ayrıca görünür olmalıdır. Logs’a tam chain veya credential kopyalamak yerine bounded outcome category yazmak review’da yeterli ilişkiyi korur. Context ignored sonucunu context absent ile birleştirme; kaynak açısından farklı gözlemlerdir.
Admission ve projection sınırlarını birlikte doğrula
Normal Tea fixture için descriptor’ın method, authority, path/query, bodyHex ve contentLength alanlarını independent expectation ile karşılaştır. Authority denied ve incomplete branch’te descriptor null ve dispatchCount sıfır olmalıdır. Missing evidence not-computed, unknown conversion profile rejected kalır. Bunlar ayrı sonuçlar olduğu için regression kaydı da ayrı reason taşımalıdır.
Scene snapshot’ları decision sırasını gösterir: public target, provenance, completeness, conversion projection ve final record. Local operation için sahte wire çizilmez. Native check’in yaptığı byte conversion ile öğrenci ekranındaki semantic model aynı kapsamda kalmalıdır; bütün HTTP implementations, actual TLS peer validation veya production routing hakkında bir sonuç çıkarılmaz.
ŞİMDİ VAKAYA UYGULA
Authority, forwarded provenance ve body completeness neden ayrı gates’tir?
Tea content’i public books.example preview route’una ait üç byte’tır. External peer context’i ignored olsa da direct validated public target kabul edilebilir. Incomplete body ve unapproved authority farklı reasons ile dispatch sınırında durur; input yoksa decision hesaplanmaz.
Vakadaki representation hangi cache owner’dan geliyor? Key kapsamı, freshness ve kullanıcının context’ini birlikte değerlendir; hit olması doğru viewer’a ait olduğunu kanıtlamaz.
Bağlı vaka dosyasını aç ↗ÖRNEĞİ BİRLİKTE OKUYALIM
Atlas public preview admission record
Bir alan seç; hangi sonucu desteklediğini ve nerede yetersiz kaldığını incele.
Ham kaydı ve alan açıklamalarını oku
{
"profile": "owned-public-preview-admission",
"approvedAuthority": "books.example",
"fixedRouteId": "catalog-preview",
"normalBody": "Tea",
"facts": {
"normal": {
"authority": "books.example",
"method": "POST",
"pathQuery": "/preview?lang=en",
"peerClass": "approved-edge",
"protectedHop": true,
"reconstructed": true,
"expectedOctets": 3,
"observedOctets": 3,
"complete": true,
"profile": "h2-to-h1-known-length",
"bodyHex": "546561"
},
"external": {
"authority": "books.example",
"method": "POST",
"pathQuery": "/preview?lang=en",
"peerClass": "external",
"protectedHop": false,
"reconstructed": false,
"expectedOctets": 3,
"observedOctets": 3,
"complete": true,
"profile": "h2-to-h1-known-length",
"bodyHex": "546561"
},
"authority-denied": {
"authority": "archive.example",
"method": "POST",
"pathQuery": "/preview?lang=en",
"peerClass": "approved-edge",
"protectedHop": true,
"reconstructed": true,
"expectedOctets": 3,
"observedOctets": 3,
"complete": true,
"profile": "h2-to-h1-known-length",
"bodyHex": "546561"
},
"incomplete": {
"authority": "books.example",
"method": "POST",
"pathQuery": "/preview?lang=en",
"peerClass": "approved-edge",
"protectedHop": true,
"reconstructed": true,
"expectedOctets": 3,
"observedOctets": 2,
"complete": false,
"profile": "h2-to-h1-known-length",
"bodyHex": "546561"
}
},
"expected": {
"normal": {
"decision": "ACCEPT",
"reason": "approved-complete",
"contextAccepted": true,
"dispatchCount": 1
},
"external": {
"decision": "ACCEPT",
"reason": "approved-complete",
"contextAccepted": false,
"dispatchCount": 1
},
"authority-denied": {
"decision": "REJECT",
"reason": "authority-not-approved",
"contextAccepted": false,
"dispatchCount": 0
},
"incomplete": {
"decision": "REJECT",
"reason": "boundary-incomplete",
"contextAccepted": true,
"dispatchCount": 0
}
},
"missingEvidence": {
"input": null,
"decision": "NOT-COMPUTED",
"dispatchCount": 0
},
"wireBytesIncluded": false,
"scope": "Supplied typed facts; selected semantic descriptor only, no HTTP parser or network dispatch."
}- authority / fixedRouteId
- Public target validation ve configured route; user identity değildir.
- peerClass / contextAccepted
- Supplied provenance kararı; direct target kabulünden ayrıdır.
- expectedOctets / observedOctets / complete
- Inert completeness evidence; ham message veya parser reproduction değildir.
- profile / bodyHex
- Selected normal semantic projection ve korunmuş Tea octet’leri.
- decision / reason / dispatchCount
- Accepted local record, rejection veya missing evidence; gerçek dispatch çalışmaz.
Supplied policy facts ve normal Tea byte projection’dır. Actual Node Buffer/URL ve pure reducer kontrolü; gerçek HTTP parser, forwarding, TLS peer verification, user authorization veya desynchronization reproduction yoktur.
İki yanlış kanı
Host veya Forwarded içinde https yazması trusted identity kanıtıdır.
Authority routing context’tir; provenance, transport peer ve user authorization ayrı evidence ister.
İlk hop HTTP/2 ise sonraki hop’ta framing sorunu kalmaz.
Conversion yeni bir boundary contract taşır; doğru version adı completeness ve parser agreement sertifikası değildir.
SIRA SENDE
Bu hikâyeyi sen çöz.
Sonucu tahmin et, kanıtın sınırını bul ve nedenini kendi cümlenle anlat.
External peer public preview request’i gönderiyor. Authority ve body boundary uygun, fakat forwarded provenance güvenilen değil. Request ile forwarded context aynı kararı mı alır?
- Context reddi bütün public request’leri zorunlu olarak reddeder.
- Request ACCEPT; contextAccepted=false.
Gerekçeli cevabı oku
Request ACCEPT; contextAccepted=false. — Bu public profile complete request’i kabul edebilir, fakat external writer’ın forwarded context’ini güvenilen bilgi olarak kullanmaz.
Approved context var, fakat 3 beklenen octet’in yalnız 2’si gözlenmiş. Handler dispatch yapılır mı?
Dersten seçilen artifact alanları; öğretim örneği
- facts.incomplete.expectedOctets
- 3
- facts.incomplete.observedOctets
- 2
- facts.incomplete.complete
- false
- expected.incomplete
- {"decision":"REJECT","reason":"boundary-incomplete","contextAccepted":true,"dispatchCount":0}
- Hayır. boundary-incomplete; dispatchCount=0.
- Evet. Approved edge eksik byte’ları otomatik tamamlar.
Gerekçeli cevabı oku
Hayır. boundary-incomplete; dispatchCount=0. — contextAccepted=true olması complete=false sonucunu değiştirmez. Bu profile tamamlanmamış request’i handler’a iletmez.
H2-to-H1-known-length etiketi ve örnekte verilen typed facts, parser agreement hakkında neyi gösterir? Gerekli girdinin eksik olduğu durumda hangi sonuç çıkarılamaz?
Gerekçeli cevabı oku
Verilen method, authority, target ve length facts üzerinden policy sonucu hesaplanır. Bu kayıtlar encoded HTTP byte’ları veya iki gerçek parser’ın aynı boundary’yi ürettiğinin testi değildir; wireBytesIncluded=false. Authority books.example ile eşleşmelidir; forwarded provenance ayrı koşuldur. Input yoksa NOT-COMPUTED ve dispatchCount=0 olur. Girdinin eksik olması sağlıklı parser veya doğru deployment kanıtı değildir.
□ Typed facts’i gerçek parser veya capture çalışması saymadım.
□ Eksik input’tan güvenli deployment sonucu çıkarmadım.
Uygulama konsolunu aç · request / response / browser
Request, URL, cookie ve DOM örneklerini ayrıca aç
Kaynaklar ve kapsam
- RFC 9110 — HTTP Semantics7.2 Host and :authority · 7.4 Rejecting Misdirected Requests
- RFC 7239 — Forwarded HTTP Extension8.1 Header Validity and Integrity
- RFC 9112 — HTTP/1.16.3 Message Body Length · 11.2 Request Smuggling
- RFC 9113 — HTTP/28.1.1 Malformed Messages · 8.2.2 Connection-Specific Header Fields