Hacker DirectoryHacker Directory
Öğrenmeye devam et
ENHTML kaydet ↓

WEB / WEB-10.06

Developer Tools ile gözlem yapmak

Network, DOM, Console ve Storage farklı evidence yüzeyleridir. Observation’ın sınırını request, context ve capture zamanıyla birlikte kur.

CORE · RED · BLUE · ARTIFACT · PRACTICE

1. Core · Mekanizma

Hareket olmadan bütün senaryoları oku

Observe HTTP 404

  1. Capture başladı

    Observation recording action’dan önce açıktır; selected context top ve public-note filter’dır.

    Page / Duru
    DOM Loading; request ready
    Origin
    No request
    Observation view
    Recording; no row yet
    Client state
    theme dark; no result
  2. GET arrival

    Origin benign GET /notes/missing’i alır; browser result hâlâ pending durumundadır.

    Page / Duru
    DOM Loading; pending
    Origin
    GET received
    Observation view
    Recording; request visible
    Client state
    theme dark; result pending
  3. 404 prepared

    Origin normal 404 response ve Not found text’ini hazırlar; network error değildir.

    Page / Duru
    DOM Loading; pending
    Origin
    404 Not found ready
    Observation view
    Recording; status pending
    Client state
    theme dark; result pending
  4. Response arrival

    404 ve tam content page’e ulaşır; Fetch Response için status=404, ok=false’dur.

    Page / Duru
    Response404; Not found received
    Origin
    404 delivered
    Observation view
    Recording; response available
    Client state
    theme dark; body read pending
  5. Local DOM/log

    Page body’yi tüketir, DOM’u Not found yapar ve application request completed mesajını üretir.

    Page / Duru
    DOM Not found
    Origin
    Exchange complete
    Observation view
    404 row available
    Client state
    theme dark; application log completed
  6. Cross-surface check

    Observation original Loading HTML, live Not found DOM ve 404 field’lerini birlikte kaydeder.

    Page / Duru
    DOM Not found
    Origin
    No new mutation
    Observation view
    HTML≠DOM; status404; initiator script
    Client state
    Log completed ≠ HTTP200
  7. Bounded conclusion

    TTFB server DB duration sayılmaz; request completion business success veya permission kararı değildir.

    Page / Duru
    Missing note shown
    Origin
    Internal durations unobserved
    Observation view
    Evidence bounded; no fake ms
    Client state
    theme dark; no backend authority

Local DOM edit

  1. Observed state

    Verilen önceki response HTML’i Loading, live DOM text’i Not found ve originTitle Atlas note’dur.

    Page / Duru
    DOM Not found
    Origin
    Title Atlas note
    Observation view
    HTML Loading; current DOM Not found
    Client state
    theme dark
  2. Local text edit

    Harmless local edit yalnız active document result text’ini Preview yapar; request gönderilmez.

    Page / Duru
    DOM Preview
    Origin
    Title Atlas note
    Observation view
    Previous observation retained
    Client state
    theme dark
  3. Elements view

    Elements-equivalent observation active DOM Preview değerini okur; response HTML değişmez.

    Page / Duru
    DOM Preview
    Origin
    Title Atlas note
    Observation view
    DOM Preview; original HTML Loading
    Client state
    theme dark
  4. Storage view

    Selected origin storage theme dark değerini taşır; server session store’a dönüşmez.

    Page / Duru
    DOM Preview
    Origin
    Title Atlas note
    Observation view
    Client storage observed
    Client state
    theme dark; server session unobserved
  5. Compare ownership

    Local DOM evidence’i server mutation claim’ine bağlamak için exchange yoktur; authoritative title aynı kalır.

    Page / Duru
    DOM Preview
    Origin
    Title Atlas note
    Observation view
    No server mutation evidence
    Client state
    Client-only state
  6. Bounded conclusion

    Observation local presentation change sonucunu verir; backend permission veya mutation ispatı üretmez.

    Page / Duru
    DOM Preview
    Origin
    Title Atlas note
    Observation view
    Local edit only; server claim false
    Client state
    Client-only state

Late recording

  1. Recording kapalı

    Action öncesi selected Network capture kapalıdır; table daha sonra history’yi oluşturamaz.

    Page / Duru
    GET public note ready
    Origin
    No request
    Observation view
    Recording off; empty
    Client state
    Result pending
  2. GET arrival

    Origin benign public note GET’ini alır; observation table bu selected exchange’i toplamamaktadır.

    Page / Duru
    Waiting response
    Origin
    GET received
    Observation view
    Recording off; empty
    Client state
    Result pending
  3. Response arrival

    Public response status 200 ile page’e ulaşır; bu sırada capture hâlâ kapalıdır.

    Page / Duru
    Response200 public note
    Origin
    Response delivered
    Observation view
    Recording off; empty
    Client state
    Result available
  4. Late capture starts

    Observation şimdi recording açar; geçmiş exchange için captured request row üretilmez.

    Page / Duru
    Public note shown
    Origin
    Exchange complete
    Observation view
    Recording on; prior row absent
    Client state
    Result available
  5. Missing evidence

    Empty table geçmiş request yoktu sonucunu vermez; bu branch explicit capture gap taşır.

    Page / Duru
    Public note shown
    Origin
    Historical GET occurred
    Observation view
    Historical request unobserved
    Client state
    No no-request proof
  6. Scope recorded

    Rapor selected action’ın network evidence’ini missing yazar; yeni ölçüm eskisini retroaktif değiştirmez.

    Page / Duru
    Public note shown
    Origin
    Historical GET occurred
    Observation view
    Capture gap documented
    Client state
    No compromise claim

ROLLER · STATE · VERİ AKIŞI

Önce capture contract’ı

Developer Tools observation aracıdır; otomatik application correctness veya vulnerability hükmü değildir. Network panel açık ve recording aktifken yapılan request’leri gösterir. İlgili action’dan önce aç, recording ve filter seçimini kaydet; navigation boyunca zinciri korumak istiyorsan Preserve log seçimini explicit tut. Paneli action’dan sonra açıp boş table görmen request yapılmadığını kanıtlamaz. Cached veya Service Worker response da kayıtta görünebilir; her satır yeni origin round trip değildir.

Method, target, status, headers ve body’yi farklı field’ler olarak oku. Response status404 ile Fetch fulfillment birlikte mümkündür. Artifact’in /notes/missing GET’i HTTP404/body Not found üretir; client buna rağmen Console’a request completed yazabilir. Initiator parser, script veya başka request ilişkisini açıklayabilir; business actor identity veya permission kararı vermez. Stack trace request’in nasıl başlatıldığına bağlanır, server’ın iç çağrı zincirini göstermez.

Timing fazlarını aynı toplam süreye indirgeme. Queueing/Stalled browser resource scheduling ile, DNS/connect başlangıç bağlantısıyla, Waiting (TTFB) round-trip ve server response hazırlığıyla ilişkili olabilir. TTFB yalnız database duration değildir; Content Download sırasında network ve browser consumption koşulları rol oynar. Connection reuse veya cache yüzünden fazlar absent olabilir. Bu örnek fake millisecond sayı üretmez; gözlenen phase bilgisi ile ölçülmeyen server sürelerini ayırır.

Response HTML ve live DOM aynı artifact değildir

Elements aktif DOM tree’sini gösterir. Response HTML başlangıç content’idir; browser parsing’i tree oluşturur, script sonradan node/text değiştirebilir. Artifact’te başlangıç p#result Loading iken client 404 content’i okuduktan sonra Not found olur. Bu fark server’ın HTML’ini sonradan değiştirdiğinin kanıtı değildir. View Source veya document response body’si ile live Elements gözlemini ayrı zamanda ve aynı navigation’a bağla.

Console selected JavaScript context’i gösterir; top document ile iframe context’i farklı olabilir. Filter edilmiş message list’i eksiksiz trace değildir. Application’ın request completed log’u o uygulamanın ifadesidir; HTTP status veya server audit sonucu yerine geçmez. Local DOM text’ini Preview yapmak sadece bu document’in presentation state’ini değiştirir; server mutation claim’i için ayrıca gerçekten yapılmış exchange ve server davranışı gerekir.

Application/Storage altında doğru origin’in localStorage key/value ve Cache Storage entries’ini incelersin. Bu yüzeyler server session store’u değildir. Local theme=dark tercihi, identity/tenant permission veya response authorization kanıtı olamaz. Cache Storage view, browser HTTP cache ile aynı yönetim tablosu değildir; refresh seçimi ve cached resource content’i de gözlem zamanına bağlıdır. Bir ekranda görünen eski state’i güncel backend state’i diye etiketleme.

Evidence paylaşırken kapsam ve hassas alanlar

HAR, captured exchange’leri belirli JSON formatında export edebilir. Chrome’un varsayılan sanitized seçimi Cookie, Set-Cookie ve Authorization gibi headers’i dışarıda bırakır. Bu, URL query, request/response body veya application identifier’larının her durumda anonimleştirildiği garantisi değildir. Paylaşılacak content’i ayrıca incelemek ve yalnız gerekli bounded observation’ı tutmak gerekir.

Buradaki bundle gerçek HAR değildir; benign request ve selected DOM/storage observation’larını gösteren inert projection’dır. İçerikte yalnız public path ve harmless text tutulur; excludedHeaderNames dışarıda bırakılan field türlerini listeler. Capture gaps açık yazılır. Bir export’u okumak, capture sırasında görünmeyen exchange’leri geri getirmez. Browser instrumentation’dan elde edilen field ile paneldeki filtrelenmiş görünümü karşılaştırırken hangi observation’ın gerçekten toplandığını koru.

2. Red · Güven ve etki

Hareket olmadan bütün senaryoları oku

Local DOM

  1. Original response ve current DOM ayrıldı

    Original HTML result node’u Loading taşır; script sonrası Not found olur. Local edit Preview yapar. Üç snapshot farklı stages’e aittir; current serialization original response bytes diye sunulmaz.

    Browser observation bundle
    Source Loading / script Not found / local Preview
    Provenance/privacy gate
    Review bekliyor
    Server/evidence boundary
    Verdict yok
  2. Local edit server mutation kanıtı sayılmadı

    serverTitleBefore ve serverTitleAfterLocalEdit Atlas note kalır; serverMutationObserved false’tur. Elements görünümü client presentation’dır. Local UI değişimini authoritative object update’i gibi yorumlamak yanlış boundary kurar.

    Browser observation bundle
    Source Loading / script Not found / local Preview
    Provenance/privacy gate
    Server Atlas note unchanged / mutation false
    Server/evidence boundary
    Verdict yok
  3. Client preference backend authority olmadı

    localStorage theme dark’tır; serverSessionStoreObserved false kalır. Preference field’ını role, session veya resource grant’i yerine kullanmak doğru değildir. Cache Storage observation’ı da HTTP cache engine evidence değildir.

    Browser observation bundle
    Source Loading / script Not found / local Preview
    Provenance/privacy gate
    Server Atlas note unchanged / mutation false
    Server/evidence boundary
    Theme dark / server session unobserved
  4. Completed log HTTP status ile karşılaştırıldı

    Console request completed metnini application yazmıştır; GET /notes/missing 404 ve ok false döner. Fulfilled Response, logger label’ının HTTP 200 kanıtı olmadığını açıklar. Seçilen context top’tur.

    Browser observation bundle
    Application log completed / HTTP404 ok=false
    Provenance/privacy gate
    Server Atlas note unchanged / mutation false
    Server/evidence boundary
    Theme dark / server session unobserved
  5. Provenance oracle normal ve positive control ile incelendi

    Normal XML local-dom evidence için serverMutationClaim false verir; count sıfırdır. Positive XML true verir ve count bir olur. Bu observation rule local edit’ten server claim üreten yanlış inference’ı seçer; gerçek log schema’sı değildir.

    Browser observation bundle
    Application log completed / HTTP404 ok=false
    Provenance/privacy gate
    Normal inference count0 / positive count1
    Server/evidence boundary
    Theme dark / server session unobserved
  6. Control original source ile observed effect’i bağladı

    Response, active DOM, application outcome ve authoritative server state ayrı kaydedilir. Bu inert bundle gerçek DevTools UI veya full HAR capture değildir. Server değişimi için scoped server evidence gerekir; local Preview yeterli değildir.

    Browser observation bundle
    Application log completed / HTTP404 ok=false
    Provenance/privacy gate
    Normal inference count0 / positive count1
    Server/evidence boundary
    Local effect known / authority requires server evidence

Export scope

  1. Minimal paylaşım full HAR’dan ayrıldı

    Sharing format minimal observation projection’dır. Cookie, Set-Cookie ve Authorization excludedHeaderNames’dadır; retainedQuery none, body yalnız public Not found’dur. Bu seçilmiş bundle gerçek user journey export’u değildir.

    Browser observation bundle
    Minimal public projection / credential headers excluded
    Provenance/privacy gate
    Review bekliyor
    Server/evidence boundary
    Verdict yok
  2. Header filtering full anonymization sayılmadı

    fullAnonymizationProven false’tur. Header’ları çıkarmak query/body içinde sensitive data kalmadığını genel olarak kanıtlamaz. Export scope ve field inspection ayrı control’dür; filtered table bütün journey’yi kapsamayabilir.

    Browser observation bundle
    Minimal public projection / credential headers excluded
    Provenance/privacy gate
    Header filtering only / anonymization not proven
    Server/evidence boundary
    Verdict yok
  3. Paylaşım ihtiyacı authority kararından ayrıldı

    Observation bundle başka reader’a data taşır; minimum needed fields seçilir. Account veya private response eklemek bu public fixture’ın kapsamı değildir. Exact fields’in excluded olması bütün future captures’ın güvenli olduğu sonucu vermez.

    Browser observation bundle
    Minimal public projection / credential headers excluded
    Provenance/privacy gate
    Header filtering only / anonymization not proven
    Server/evidence boundary
    Share only scoped fields / future captures need review
  4. Timing phase names cause verdict’i taşımadı

    Phase names Waiting (TTFB) ve Content Download’dur; inventedDurationMs null ve serverDatabaseDurationKnown false’tur. TTFB label’ı slow database proof değildir. Initiator script de trusted actor identity vermez.

    Browser observation bundle
    Timing names only / DB duration unknown
    Provenance/privacy gate
    Header filtering only / anonymization not proven
    Server/evidence boundary
    Share only scoped fields / future captures need review
  5. Observation ile hypothesis ayrı tutuldu

    Script initiation browser provenance bilgisi, database cause ise ayrı hypothesis’tir. Gözlenmeyen duration veya server process eklenmez. Cause için yetkili scope’ta ayrıca application/server evidence gerekir.

    Browser observation bundle
    Timing names only / DB duration unknown
    Provenance/privacy gate
    Browser initiation known / server cause separate
    Server/evidence boundary
    Share only scoped fields / future captures need review
  6. Privacy verdict bounded projection’da kaldı

    Bu bundle public placeholders ve seçilen alanların çıkarılmasını kullanır. Gerçek HAR format/export veya bütün anonymization process ölçülmez. Paylaşım review’ü capture scope ve required fields’i açık tutarak full-journey claim’inden kaçınır.

    Browser observation bundle
    Timing names only / DB duration unknown
    Provenance/privacy gate
    Browser initiation known / server cause separate
    Server/evidence boundary
    Minimal projection scoped / full HAR unmeasured

VARSAYIM · SINIR · KONTROL

Görünür state’i authority sayma

Local DOM text veya storage value backend permission’ın yerine konursa gözlem karar sınırını aşar. Preview yazan bir node application response’unu farklı gösterebilir; bu normal client edit’inin server object’i değiştirildiğini kanıtladığı söylenemez. Condition local presentation ve authoritative state’in aynı kabul edilmesidir; impact bunu kullanan application decision’a bağlıdır. Bu ders server policy bypass deneyi üretmez.

Console’un yeşil veya sakin görünmesi de request’lerin successful olduğu anlamına gelmez. Logger, filter, context ve capture zamanı bazı olayları dışarıda bırakabilir. 404/fulfilled Fetch/result text’i yan yana okuyunca completed log’unun tam olarak ne söylediği görülür. Kontrol original response, active DOM ve application outcome’u request/navigation identity’siyle bağlamak; eksik evidence’i açık bırakmaktır.

Export yeni veri paylaşımıdır

Sanitized HAR header filtering’i bütün content privacy’si gibi yorumlanırsa query/body’de kalan hassas application data istemeden taşınabilir. Ayrıca filtered table’dan export bütün journey’yi kapsamayabilir. Condition export scope ve field inspection’ın atlanmasıdır; burada yalnız public note path’i ve harmless text paylaşılır, credentials/cookies/account data capture edilmez.

Timing veya Initiator’tan gözlenmeyen server behavior türetmek yanlış incident narrative yaratabilir. TTFB tek başına slow database ispatı, script initiator tek başına trusted actor kanıtı değildir. Kontrol measured phase ile inferred hypothesis’i ayrı tutmak, gerekirse application/server evidence’i yetkili kapsamda ayrıca edinmektir. Browser observation failure’ı compromise ilan etmek yerine hangi field’in gerçekten bulunduğunu kaydet.

3. Blue · Güvenli geliştirme ve savunma

Hareket olmadan bütün senaryoları oku

Correlated review

  1. Capture scope action öncesi seçildi

    Bu bundle bir authored gözlem projection’ıdır; yeni DevTools capture’ı değildir. Network satırı browser’ın request/response gözlemine, Elements current DOM’a, Console mesajı application logger’ına, theme kaydı ise origin-scoped localStorage’a karşılık gelir. Capture-gap dalında sayfanın sonuç göstermesi, geç açılan panelin eski request’i kaydettiğini göstermez; server session store burada gözlenmez. openedBeforeAction ve recording true, context top ve filter public-note’tur. Preserve log false olarak verilmiştir. Scope bilinmeden visible rows bütün historical exchange’leri kapsıyor diye kabul edilmez.

    Capture observations
    Before action / recording / top / public-note
    Correlation review
    Review bekliyor
    Evidence conclusion
    Verdict yok
  2. Network row aynı exchange’in fields’iyle eşleşti

    GET /notes/missing, status 404, body Not found ve bodyComplete true’dur. Initiator script ve fulfilled Response ayrı fields’dir. Body completion ile HTTP acceptance ok false aynı observation’da beraber bulunabilir.

    Capture observations
    Before action / recording / top / public-note
    Correlation review
    GET missing / 404 / complete Not found
    Evidence conclusion
    Verdict yok
  3. Elements ve Console aynı success event’i olmadı

    Live DOM Not found, Console request completed taşır. Logger application’dır; local Preview ayrı edit’tir. Context top seçimi frame log’larını temsil etmez. UI text ve log label’ı network status yerine konmaz.

    Capture observations
    DOM Not found / application completed log / local Preview
    Correlation review
    GET missing / 404 / complete Not found
    Evidence conclusion
    Verdict yok
  4. Storage record authoritative server record’dan ayrıldı

    Theme dark client preference’tır; serverTitle Atlas note korunur ve server mutation false’tur. Storage originAlias local-fixture-origin’dir. Başka context’in storage değerini silmek otomatik olarak server düzeltmesi değildir.

    Capture observations
    DOM Not found / application completed log / local Preview
    Correlation review
    Client theme dark / authoritative title unchanged
    Evidence conclusion
    Verdict yok
  5. Observation sonucu en küçük evidence scope’uyla verildi

    Public GET 404, local DOM update ve client preference kaydı bilinir. Backend session veya DB duration bilinmez. Bu synthetic projection, DevTools panel UI veya HAR export testinin tamamı değildir; surfaces’ın farkını öğretir.

    Capture observations
    DOM Not found / application completed log / local Preview
    Correlation review
    Client theme dark / authoritative title unchanged
    Evidence conclusion
    Exchange/client effects known / backend scope unknown
  6. Reproducibility fields’leri minimum scope’ta tutuldu

    Method/path/status, capture start, filter/context ve bodyComplete review için kaydedilir. Full query, cookie veya private body taşınmaz. Yeni observation başka seçilen context’teyse correlation yeniden kontrol edilmelidir.

    Capture observations
    DOM Not found / application completed log / local Preview
    Correlation review
    Client theme dark / authoritative title unchanged
    Evidence conclusion
    Retain scoped capture/context/status/body state

Late capture

  1. Recording başlangıcı historical action’dan ayrıldı

    Bu bundle bir authored gözlem projection’ıdır; yeni DevTools capture’ı değildir. Network satırı browser’ın request/response gözlemine, Elements current DOM’a, Console mesajı application logger’ına, theme kaydı ise origin-scoped localStorage’a karşılık gelir. Capture-gap dalında sayfanın sonuç göstermesi, geç açılan panelin eski request’i kaydettiğini göstermez; server session store burada gözlenmez. captureGap openedBeforeAction false ve visibleRequestRows 0 verir. Empty table, capture başlamadan önceki exchange’i göstermeyebilir. Bu zero rows normal no-request observation’ıyla aynı evidence değildir.

    Capture observations
    Late capture / visible rows0
    Correlation review
    Review bekliyor
    Evidence conclusion
    Verdict yok
  2. Filter ve context coverage gate’inde kaldı

    Recording time, seçilen context ve filter historical request coverage’ını etkiler. Event yokken guessed network failure veya successful no-op üretilmez. Before-action capture record’u yeni trace’in boşluğunu doldurmaz.

    Capture observations
    Late capture / visible rows0
    Correlation review
    Historical coverage incomplete
    Evidence conclusion
    Verdict yok
  3. DOM sonucu missing network event’i yaratmadı

    Not found veya Preview text’i local DOM’da görülebilir. Bu text’in hangi exchange’den geldiği eksik network observation olmadan kesinleştirilmez. Current DOM, original response provenance’ın bütününü sağlamaz.

    Capture observations
    DOM text exists / historical exchange source unknown
    Correlation review
    Historical coverage incomplete
    Evidence conclusion
    Verdict yok
  4. Yeni capture historical kanıt sayılmadı

    Benign action yeniden gözlense yeni exchange oluşur; eski missing event geriye dönük yaratılmaz. Source/version ve action identity farkı korunur. New result, önceki unknown outcome’un birebir ölçümü gibi yazılmaz.

    Capture observations
    DOM text exists / historical exchange source unknown
    Correlation review
    New capture ≠ reconstructed historical event
    Evidence conclusion
    Verdict yok
  5. Historical request verdict unknown kaldı

    Bu late capture için historical exchange unobserved olur. No request, successful response veya compromise sonucu çıkarılmaz. Missing row’un cause’u logging/capture policy’den de kaynaklanabilir; evidence olmadan birine bağlanmaz.

    Capture observations
    DOM text exists / historical exchange source unknown
    Correlation review
    New capture ≠ reconstructed historical event
    Evidence conclusion
    UNKNOWN: historical exchange
  6. Yeni evidence capture contract’ına bağlandı

    İlerlemek için scoped capture timing, filters, context ve gerekiyorsa server request association gerekir. Full user journey veya private logs toplamak şart değildir. Minimal projection limits başka reader’ın unknown sonucu doğru yorumlamasını sağlar.

    Capture observations
    DOM text exists / historical exchange source unknown
    Correlation review
    New capture ≠ reconstructed historical event
    Evidence conclusion
    Needed: capture timing/filter/context/request association

UYGULAMA · GÜVENLİK KONTROLÜ · DOĞRULAMA

Tek request için karşılaştırma defteri

Bu bundle bir authored gözlem projection’ıdır; yeni DevTools capture’ı değildir. Network satırı browser’ın request/response gözlemine, Elements current DOM’a, Console mesajı application logger’ına, theme kaydı ise origin-scoped localStorage’a karşılık gelir. Capture-gap dalında sayfanın sonuç göstermesi, geç açılan panelin eski request’i kaydettiğini göstermez; server session store burada gözlenmez. Harmless local note action’ından önce Network recording’i aç ve filter/context seçimini kaydet. Method GET, path /notes/missing, status404 ve content Not found’un aynı exchange’e ait olduğunu kontrol et. Fetch fulfillment’ın status check’ini otomatik yapmadığını ve Console message’ının application tarafından üretildiğini gözle. Response body henüz complete değilse absent content’i boş successful result gibi raporlama.

Elements’te result node’unun Loading’dan Not found’a geçişini original document response’u ile karşılaştır. Console top/frame seçimini ve Application Storage origin’ini kaydet. Local edit Preview, localStorage theme=dark ve serverTitle Atlas note ayrı owner’lara bağlıdır. Server mutation veya permission değişimi gözlenmediyse bunları “kanıtlandı” diye yazma. Bir state’i düzeltmek için başka context’in değerini silmek de otomatik çözüm değildir.

Observation sınırını teslimde koru

Network Timing’de görülen phase’leri isimleriyle tut; server database duration için değeri absent bırak. Initiator script ise bunun browser initiation evidence’i olduğunu belirt. Recording geç açılmış branch’te empty table yalnız capture gap’tir. Tekrar observation yapılıyorsa action’ın benign ve local kaldığını, yeni capture’ın önceki missing evidence’i geriye dönük yaratmadığını koru.

Paylaşılacak observation bundle’ında excludedHeaderNames ile incelenen URL/body alanlarını açık tut. Public local örneğin minimal projection’ı, full HAR’ın format ve content kontrolüyle aynı iş değildir. Başkasının gerçek journey’sini eklemek yerine gereken field’leri izinli kapsamda seç; account bilgisi veya özel response’u taşımamaya dikkat et. Raporda selected context, capture başlangıcı, filter ve body completion durumunu yaz. Bu ayrıntılar başka bir okuyucunun empty table veya farklı DOM sonucunu doğru yorumlamasına yardım eder.

ŞİMDİ VAKAYA UYGULA

Network, live DOM, Console ve Storage farklı authority ve coverage sorularını nasıl yanıtlar?

Bir not isteği 404 ve Not found döndürüyor, fakat application Console’a request completed yazıyor. Elements’te yapılan yerel değişiklik Preview metnini gösterirken server’daki Atlas note başlığı korunuyor. Bu farkı açıklamak için Network, DOM ve server kayıtlarının hangi aşamayı gösterdiğini birlikte okuyacağız.

Vakadaki response receipt, parsing, callback ve görünür DOM sonucunu sıraya koy. Eski başlığın kalmasını bu dersteki browser state ayrımlarıyla açıklamayı dene.

Bağlı vaka dosyasını aç ↗

ÖRNEĞİ BİRLİKTE OKUYALIM

Bir request, dört evidence yüzeyi

Bir alan seç; hangi sonucu desteklediğini ve nerede yetersiz kaldığını incele.

Ham kaydı ve alan açıklamalarını oku
{
  "capture": {
    "openedBeforeAction": true,
    "recording": true,
    "preserveLogSupplied": false,
    "selectedContext": "top",
    "filterScope": "public-note"
  },
  "network": {
    "method": "GET",
    "path": "/notes/missing",
    "status": 404,
    "body": "Not found",
    "bodyComplete": true,
    "initiator": "script",
    "fetchPromiseOutcome": "fulfilled-response",
    "ok": false,
    "timing": {
      "phaseNamesOnly": [
        "Waiting (TTFB)",
        "Content Download"
      ],
      "inventedDurationMs": null,
      "serverDatabaseDurationKnown": false
    }
  },
  "document": {
    "responseHTML": "<p id=\"result\">Loading</p>",
    "liveDOMAfterScript": "<p id=\"result\">Not found</p>",
    "liveDOMAfterLocalEdit": "<p id=\"result\">Preview</p>",
    "serverTitleBefore": "Atlas note",
    "serverTitleAfterLocalEdit": "Atlas note",
    "serverMutationObserved": false
  },
  "console": {
    "selectedContext": "top",
    "message": "request completed",
    "messageAuthor": "application",
    "provesHTTP200": false
  },
  "storage": {
    "originAlias": "local-fixture-origin",
    "localStorage": {
      "theme": "dark"
    },
    "serverSessionStoreObserved": false,
    "cacheStorageIsHTTPCache": false
  },
  "sharing": {
    "format": "minimal observation projection; not full HAR",
    "excludedHeaderNames": [
      "Cookie",
      "Set-Cookie",
      "Authorization"
    ],
    "retainedQuery": "none",
    "retainedBody": "public Not found text only",
    "fullAnonymizationProven": false
  },
  "captureGap": {
    "openedBeforeAction": false,
    "visibleRequestRows": 0,
    "conclusion": "historical exchange unobserved; not proof of no request"
  },
  "selector": {
    "language": "XPath",
    "xml": "<observations><decision evidence=\"local-dom\" serverMutationClaim=\"false\"/></observations>",
    "xpath": "count(/observations/decision[@evidence=\"local-dom\" and @serverMutationClaim=\"true\"])",
    "expected": 0,
    "positiveFixtureXml": "<observations><decision evidence=\"local-dom\" serverMutationClaim=\"true\"/></observations>",
    "positiveExpected": 1,
    "scope": "Only authored protocol-decision observations, not product log field names or a live HTTP capture.",
    "missingFieldBehavior": "Missing observation is insufficient evidence; zero matches is not proof of correct runtime behavior."
  }
}
network / capture
Exchange field’leri capture kapsamıyla okunur; invented timing yok.
document / console
Original HTML, live DOM ve application log farklı observation’dır.
storage
Client preference backend session/permission kanıtı değildir.
sharing / captureGap
Minimal projection ve missing evidence sınırları explicit.

Inert synthetic projection; gerçek HAR/log veya secret içermez. Native CDP observation, DevTools panel UI/HAR export test’i değildir.

İki yanlış kanı

Elements’te text’i değiştirince server data değişmiştir.

Elements live DOM’u gösterir; local text edit’i original response veya backend mutation kanıtı değildir.

Sanitized HAR bütün application data’yı anonimleştirir.

Hassas headers dışarıda kalabilir; retained query/body ve export scope ayrıca incelenmelidir.

SIRA SENDE

Bu hikâyeyi sen çöz.

Sonucu tahmin et, kanıtın sınırını bul ve nedenini kendi cümlenle anlat.

DevTools action’dan sonra açıldı; visibleRequestRows=0. Hiç request olmadığını söyleyebilir miyiz?

  1. Hayır. Önceki exchange gözlenmemiş olabilir.
  2. Evet. Boş Network tab bütün geçmiş request’leri dışlar.
Gerekçeli cevabı oku

Hayır. Önceki exchange gözlenmemiş olabilir. — openedBeforeAction=false gözlem boşluğunu gösterir. Sıfır row, event’in hiç olmadığını kanıtlamaz.

Yerel DOM Preview edit’i server’daki title’ı değiştirdi mi?

Dersten seçilen artifact alanları; öğretim örneği

document.liveDOMAfterLocalEdit
<p id="result">Preview</p>
document.serverTitleBefore
Atlas note
document.serverTitleAfterLocalEdit
Atlas note
document.serverMutationObserved
false
  1. Evet. Görünen text bütün persistence state’ini günceller.
  2. Hayır. Server title Atlas note kalır; mutation gözlenmez.
Gerekçeli cevabı oku

Hayır. Server title Atlas note kalır; mutation gözlenmez. — Elements panelindeki yerel edit yalnız bu browser tree’yi değiştirir. Server write kanıtı sağlamaz.

Console’daki request completed mesajı ile Network 404 birlikte ne öğretir? Cookie’leri çıkarmak neden tam anonimleştirme değildir?

Gerekçeli cevabı oku

Console mesajı application completion bildirimidir; HTTP 200 kanıtı değildir. 404 Response fulfilled olabilir ve ok=false kalır. Paylaşılacak gözlem yalnız public body ve dar metadata içerebilir. Cookie/Authorization alanlarını çıkarmak kapsamı azaltır, fakat query, body veya diğer identifier’larda kalan bilgiyi kendiliğinden anonimleştirmez.

□ Console mesajını HTTP status yerine kullanmadım.

□ Veri minimization ile tam anonimleştirmeyi ayırdım.

Uygulama konsolunu aç · request / response / browser
Request, URL, cookie ve DOM örneklerini ayrıca aç

Kaynaklar ve kapsam