---
title: 'Ağ Panelinde Tanı'
source: 'https://academia.sh/tr/kurslar/tarayici-platformu/ag-panelinde-tani'
course: 'Tarayıcı ve Web Platformu'
language: tr
updated: '2026-08-17T18:09:11+00:00'
license: 'CC BY-SA 4.0'
---

# Ağ Panelinde Tanı

Bir isteğin zamanlama aşamalarının hangi nedene işaret ettiği, aktarılan boyut ile kaynak boyutu ayrımı, başlıkların tanıdaki rolü, şelalede bağımlılık zinciri okuma ve ölçümün yeniden üretilebilir kılınması.

Önceki ders bir ögenin neden öyle göründüğünü yanıtladı, içeriğinin neden o içerik olduğunu
yanıtlamadı. Rozetteki sayı eskiyse sorun biçemde değildir: ya istek hiç yapılmamıştır, ya
önbellekten karşılanmıştır, ya sunucu eski veriyi döndürmüştür, ya da yanıt çok geç
gelmiştir.

Ağ paneli bu dört olasılığı ayırır. Bu ders panelin ürettiği ölçüleri ve her ölçünün hangi
nedene işaret ettiğini ele alır.

## Panelin Yanıtladığı Sorular

Panel bir istek listesi gösterir ve her satır dört soruya yanıt taşır.

**İstek gerçekten yapıldı mı?** Listede bulunmayan bir istek yapılmamıştır. Beklenen
isteğin hiç görünmemesi, kodun o yolu hiç çalıştırmadığını ya da bir koşulun tutmadığını
söyler — sunucuda aramaya gerek yoktur.

**Nereden karşılandı?** Ağdan mı, tarayıcının kendi önbelleğinden mi, yoksa servis
çalışanından mı geldiği ayrı ayrı işaretlenir. Önbellekten karşılanan bir istek listede
görünür ama ağa çıkmamıştır; eski veri sorununun en sık kaynağı budur.

**Ne kadar sürdü ve nerede bekledi?** Toplam süre tek başına bir tanı değildir; aşamalara
bölünmüş hâli tanıdır.

**Ne döndü?** Durum kodu, başlıklar ve gövde. Yanlış içerik sorunlarının çoğu burada
görülür.

## Zamanlamanın Aşamaları

Bir isteğin toplam süresi arka arkaya gelen aşamalara ayrılır ve her aşamanın uzaması
farklı bir nedene işaret eder.

**Kuyrukta bekleme**, isteğin henüz başlamadığı süredir. Tarayıcının aynı konağa açtığı
eşzamanlı bağlantı sayısı sınırlıdır; sınır dolduğunda yeni istekler bekler. Uzun kuyruk
süresi sunucuyu değil, sayfanın aynı anda kaç istek başlattığını gösterir.

**Bağlantı kurulumu**, ad çözümlemesi, taşıma bağlantısı ve güvenli el sıkışmasından
oluşur. Yalnızca yeni bağlantılarda görünür; kalıcı bağlantı üzerinden giden istekte sıfıra
yakındır. Uzaması ağ mesafesine ve sertifika doğrulamasına işaret eder, sunucunun iş
yüküne değil.

**İlk baytı bekleme**, isteğin gönderilmesiyle ilk yanıt baytının gelmesi arasındaki
süredir. Sunucunun yanıtı üretme süresini içerir. Bu aşamanın uzaması tanıyı sunucu
tarafına taşır; istemcide yapılacak bir şey yoktur.

**Gövde indirme**, ilk bayttan son bayta kadar geçen süredir. Uzaması boyutla ya da bant
genişliğiyle ilgilidir; sıkıştırma ve boyut küçültme buraya etki eder, sunucu hızlanması
etmez.

Ayrım ölçülebilir. Aşağıdaki sunucu iki gecikmeyi ayrı ayrı üretir: ilk bayta kadar bir
işleme süresi, sonra gövdenin geri kalanı için bir aktarım süresi.

```js
// gecikmeli-sunucu.mjs — ilk bayta kadar 300 ms, govdenin kalani icin 200 ms bekler
import { createServer } from "node:http";

const bekle = (ms) => new Promise((coz) => setTimeout(coz, ms));

createServer(async (istek, yanit) => {
  yanit.sendDate = false;
  await bekle(300);                      // sunucunun isleme suresi: ilk bayti geciktirir
  yanit.writeHead(200, { "Content-Type": "application/json" });
  yanit.write('{"olcumler":[{"sicaklik":-4.2}');
  await bekle(200);                      // govdenin geri kalani: indirme suresini uzatir
  yanit.end(',{"sicaklik":-4.6}]}');
}).listen(8138, "127.0.0.1", () => console.log("dinleniyor: 127.0.0.1:8138"));
```

```bash
#!/usr/bin/env bash
# gecikmeli-sunucu.mjs'yi baslatir, tek istegin asama surelerini olcer, sonra durdurur.
node gecikmeli-sunucu.mjs > /dev/null &
sunucu=$!
sleep 1

curl -sS -o /dev/null http://127.0.0.1:8138/olcumler.json \
  -w 'ad cozumleme : %{time_namelookup} s
baglanti     : %{time_connect} s
ilk bayt     : %{time_starttransfer} s
toplam       : %{time_total} s
indirilen    : %{size_download} bayt
'

kill "$sunucu"
```

```
ad cozumleme : 0.000113 s
baglanti     : 0.000441 s
ilk bayt     : 0.307935 s
toplam       : 0.508467 s
indirilen    : 50 bayt
```

Süreler ortama bağlıdır ve her çalıştırmada ondalık basamaklarda değişir; değişmeyen şey
yapıdır. Ad çözümlemesi ve bağlantı kurulumu ölçülemeyecek kadar kısadır, çünkü istek geri
döngü adresine gitmiştir; gerçek bir sunucuda bu iki değer toplam sürenin belirgin bir
bölümünü alır. İlk bayt süresi sunucunun beklettiği 300 milisaniyeyi yansıtır. Toplam süre
ile ilk bayt arasındaki 200 milisaniyelik fark gövde indirmedir. Bağlantı noktası olarak
seçilen 8138 keyfîdir ve boş olmalıdır.

Tanı kuralı buradan çıkar: **ilk bayta kadar geçen süre ile ondan sonraki süre iki ayrı
sorunun ölçüsüdür** ve tek bir toplam sayı ikisini de gizler.

## Aktarılan Boyut ve Kaynak Boyutu

Panel bir istek için iki ayrı boyut gösterir. **Aktarılan boyut** telden geçen bayt
sayısıdır; başlıkları içerir ve sıkıştırılmışsa sıkıştırılmış hâlidir. **Kaynak boyutu**
açılmış içeriğin boyutudur.

İkisi arasındaki oran sıkıştırmanın çalışıp çalışmadığını söyler. Eşit olmaları
sıkıştırmanın uygulanmadığını gösterir; metin türündeki bir kaynak için bu bir yapılandırma
eksiğidir. Aktarılan boyutun sıfıra yakın olması isteğin önbellekten karşılandığını
gösterir.

Bu ayrım başarım tartışmasında da işe yarar. Ayrıştırma ve çalıştırma maliyeti kaynak
boyutuyla orantılıdır, aktarım maliyeti aktarılan boyutla. Sıkıştırma ikincisini düşürür,
birincisini düşürmez: iyi sıkışan büyük bir betik ağı yormaz ama ana iş parçacığını yorar.

## Başlıkları Okumak

Yanıt başlıkları önceki konudaki tazelik kararının kanıtıdır. Bir kaynağın neden eski
geldiği sorusu, saklama izni ve ömür başlıkları okunarak yanıtlanır; doğrulayıcı varsa
koşullu isteğin yapılıp yapılmadığı ve gövdesiz yanıt dönüp dönmediği listede görünür.

Üç başlık daha tanıda sık gerekir. İçerik türü, tarayıcının yanıtı nasıl yorumlayacağını
belirler; yanlış tür, doğru gelen bir yanıtın yanlış işlenmesine yol açar. İçerik kodlaması,
sıkıştırmanın hangi biçimde uygulandığını söyler. Yanıtın hangi istek başlığına göre
değiştiğini bildiren başlık, önbelleğin farklı kullanıcılara aynı yanıtı vermesini önler;
eksikliği, bir kullanıcının yanıtının diğerine sunulmasıyla sonuçlanır.

İstek başlıkları da okunur. Kimlik bilgisinin gönderilip gönderilmediği, koşullu isteğin
doğrulayıcı taşıyıp taşımadığı ve hangi kaynağın istekte bulunduğu buradan görülür.

## Şelalede Zincir Okumak

Şelale görünümü her isteği bir zaman çizgisi üzerinde çubuk olarak gösterir. Okunan şey
tek tek süreler değil, çubukların **birbirine göre konumudur**.

Yan yana başlayan çubuklar koşut isteklerdir. Biri bitmeden diğeri başlamıyorsa aralarında
bir bağımlılık vardır ve bu bağımlılık çoğunlukla istenmemiştir: bir betiğin indirilip
çalıştırılmasından sonra keşfedilen bir kaynak, ancak o noktada istenebilir. Kaynak Yükleme
Sırası dersinde tanımlanan ön tarama bu zinciri kısaltmak içindir; şelaledeki basamaklı
görünüm, ön taramanın kaynağı göremediğini söyler.

Aynı anda başlayan ama uzun süre bekleyen çubuklar bağlantı sınırına işaret eder. Sayfanın
ilk çizimini bekleten kaynaklar zaman çizgisindeki işaretlerle karşılaştırılır: ilk anlamlı
çizimden sonra biten bir istek, o çizimi geciktirmemiştir.

## Araya Giren Katmanın Listede Görünüşü

Servis çalışanı kayıtlıyken liste ikiye katlanabilir. Sayfanın yaptığı istek bir satır
üretir; çalışan o isteği karşılamak için ağa çıkarsa bu ikinci bir satır olarak görünür.
İki satır aynı adrese aittir ve karıştırılırsa istek sayısı iki katı sanılır.

Ayrım tanının kendisidir. Sayfanın satırı isteğin çalışandan karşılandığını işaretliyor ve
altında ağ satırı yoksa, yanıt önbellekten gelmiştir. Her iki satır da varsa çalışan ağa
çıkmış demektir; ikisinin süreleri arasındaki fark çalışanın kendi işlem süresidir.
Sayfanın satırı görünüp çalışanın hiç devreye girmediği durumda ise ya istek kapsam
dışındadır ya da sayfa henüz denetlenmiyordur — Servis Çalışanları dersindeki denetim
kuralı burada gözlenebilir hâle gelir.

Çalışanın yaşam döngüsü de listede iz bırakır: çalışan betiğinin kendisi için yapılan
güncelleme isteği ve kurulum sırasında toplanan kaynakların istekleri, sayfanın hiç
istemediği satırlar olarak belirir.

## Yeniden Üretilebilir Ölçüm

Ağ ölçümü, ölçüm koşulları sabitlenmeden karşılaştırılamaz. Üç koşul açıkça
belirlenmelidir.

**Önbellek durumu.** İlk ziyaret ile tekrar ziyaret bambaşka iki senaryodur ve ikisi de
gerçektir. Ölçüm hangisi için yapılıyorsa o durum kurulur; önbellek devre dışı bırakılarak
yapılan ölçüm yalnızca ilk ziyareti anlatır.

**Ağ koşulu.** Araçlar bant genişliğini ve gecikmeyi yapay olarak sınırlayabilir. Geliştirme
makinesindeki yerel ölçüm, sahadaki kullanıcının koşullarını hiçbir zaman temsil etmez;
kısıtlama, ölçümü gerçeğe yaklaştırmanın tek istemci tarafı yoludur.

**Eklentiler ve arka plan.** Tarayıcıya kurulmuş eklentiler kendi isteklerini listeye
karıştırır ve zamanlamayı etkiler. Ölçüm, eklentisiz bir kullanıcı profilinde yapılır.

Bir de kaydın kendisini korumak gerekir: gezinme sırasında listenin temizlenmesi
öntanımlıdır ve gezinmeyle sonuçlanan bir sorunun kaydı bu yüzden kaybolur. Kaydın
korunması açıkça istenir.

## Özet

- Ağ paneli dört soruyu ayırır: istek yapıldı mı, nereden karşılandı, hangi aşamada ne kadar
  bekledi, ne döndü. Aşamalar farklı nedenlere işaret eder: kuyruk sayfanın istek sayısına,
  bağlantı kurulumu mesafeye, ilk bayt sunucuya, indirme boyuta.
- Servis çalışanı kayıtlıyken aynı adres iki satır üretebilir; ikinci satırın yokluğu
  yanıtın önbellekten geldiğini gösterir.
- Aktarılan boyut ile kaynak boyutu arasındaki fark sıkıştırmayı ölçer; ayrıştırma maliyeti
  kaynak boyutuyla orantılıdır.
- Başlıklar tazelik kararının, içerik yorumlamasının ve önbellek ayrımının kanıtıdır.
- Şelalede okunan şey süreler değil, çubukların birbirine göre konumudur; basamaklı görünüm
  keşif zinciri anlamına gelir.
- Ölçüm önbellek durumu, ağ koşulu ve tarayıcı profili sabitlenmeden yeniden üretilemez.

## Sonraki Adım

Ağ paneli isteğin ne zaman bittiğini söyler, ama yanıt geldikten sonra sayfanın neden hâlâ
donuk kaldığını söylemez. Ölçüm listesi indirildiği hâlde ekranın geç güncellenmesinin
nedeni ağda değil, tek bir iş parçacığında sıraya girmiş işlerdedir: ayrıştırma, biçem
hesabı, yerleşim, boyama ve araya giren her betik aynı sırayı paylaşır. Bu sıranın nerede
tıkandığı, isteklerin listesiyle değil zaman içindeki iş dökümüyle görülür. Sonraki ders
bu dökümü üreten kaydı ve okunma biçimini ele alır.
