HTTP derinlemesine: yöntemler, başlıklar, gövde
HTTP iletilerini curl ve netcat ile elle yazıp okur; yöntemlerin, başlıkların ve gövde biçimlerinin gerçekte nasıl çalıştığını görürsün.
Seviye 201 · 18 ders · 15 pratik lab
Dersler
İletinin yapısı
- Bir HTTP iletisinin satır satır yapısı
- netcat ile elle istek göndermek
- curl -v, -I ve --trace ile görmek
- Yöntemlerin anlamı: güvenli ve eş etkili
- Durum kodu aileleri ve doğru kodu seçmek
- Kısa görev: yalnız netcat ile sayfa indir
Başlıklar ve gövde
- İstek başlıkları: Host, User-Agent, Accept
- İçerik anlaşması: Accept ve Content-Type
- Form gövdeleri: urlencoded ve multipart
- JSON gövdesi göndermek ve almak
- Sıkıştırma: gzip, br ve Content-Encoding
- Parçalı aktarım ve Range istekleri
- Kısa görev: curl ile dosya yükle ve doğrula
Durum ve güvenlik başlıkları
- Çerez öznitelikleri: Secure, HttpOnly, SameSite
- Authorization başlığı: Basic ve Bearer
- Güvenlik başlıkları: HSTS, CSP, X-Content-Type-Options
- CORS başlıklarını okumak
- Bitirme görevi: bir sitenin HTTP davranışını raporla
Pratik lablar
- netcat ile sayfa iste: nc ile laboratuvar sunucusuna elle GET isteği yaz ve yanıtın durum satırını ve başlıklarını ayır.
- Host başlığıyla doğru siteye ulaş: Aynı IP'de üç site çalışıyor; elle yazdığın istekte Host başlığını değiştirerek her birinin ana sayfasını al.
- Hatalı isteği düzelt: Elle hazırlanmış bir istek 400 alıyor; satır sonları, başlık biçimi ve sürüm satırındaki hataları bulup düzelt.
- Doğru yöntemi seç: Not servisinde okuma, ekleme, güncelleme ve silme işlemleri için hangi yöntemin kullanılması gerektiğini deneyerek göster.
- Yanlış durum kodlarını düzelt: Örnek sunucu her hatada 200 dönüyor; beş durumu inceleyip her biri için doğru kodu belirle ve yapılandır.
- Tekrarlanan isteğin etkisini ölç: Aynı isteği PUT, POST ve DELETE ile ikişer kez gönder; hangisinin güvenli, hangisinin eş etkili olduğunu kayıtlarla kanıtla.
- JSON gövdesiyle kayıt gönder: curl ile doğru Content-Type başlığıyla ürün kaydı gönder ve sunucunun yanıtındaki kimliği oku.
- Dosyayı çok parçalı formla yükle: Fatura PDF'sini ve açıklamasını multipart/form-data ile yükle, sunucudaki özet değeriyle doğrula.
- Kesik indirmeyi kaldığı yerden sürdür: Yarıda kesilmiş büyük günlük dosyasının kalanını Range başlığıyla indir ve birleştirilen dosyanın bütünlüğünü kontrol et.
- Sıkıştırılmış yanıtı iste: Accept-Encoding ile gzip ve br iste; dönen boyutları karşılaştırıp hangi kodlamanın kullanıldığını yaz.
- Aynı adresten JSON ve HTML al: Ürün sayfası Accept başlığına göre farklı yanıt veriyor; iki biçimi de al ve 406 dönen durumu bul.
- Bozuk görünen Türkçe yanıtı çöz: Yanıttaki Türkçe karakterler bozuk; charset, Content-Encoding ve gövdeyi inceleyip sorunun sunucuda mı istemcide mi olduğunu bul.
- Çerez bayraklarını denetle: Oturum çerezinin Secure, HttpOnly ve SameSite bayraklarını kontrol edip eksik olanları listele.
- Basic ve Bearer kimlik başlığını kullan: Raporlama servisinden önce Basic ile belirteç al, sonra Bearer başlığıyla korunan raporu indir.
- Sitenin HTTP karnesini çıkar: Lodos Enerji'nin sitesinde HSTS, CSP, CORS ve çerez başlıklarını inceleyip eksikleri önem sırasıyla raporla.
Kurs hakkında
HTTP iletilerini curl ve netcat ile elle yazıp okur; yöntemlerin, başlıkların ve gövde biçimlerinin gerçekte nasıl çalıştığını görürsün.
Ne öğreneceksin
- İletinin yapısı
- Başlıklar ve gövde
- Durum ve güvenlik başlıkları
Ön koşullar
Aynı yolun 101 düzeyindeki kurslarını bitirmiş olmak ya da o konuları biliyor olmak yeterlidir.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux terminalinde ve ona bağlı özel bir lab ağında geçer. Kurulum gerekmez.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs 201 düzeyindedir; daha düşük düzeydeki kursların konularını bildiğin varsayılır.
- Kurulum gerekir mi?
- Hayır. Her ders tarayıcında açılan sana özel bir lab ortamında geçer.
- Dersler nasıl işleniyor?
- Her ders 8 ile 10 adımdan ve bir kısa sınavdan oluşur. İlk adımlarda yazman gereken komut gösterilir, sonraki adımlarda yardım azalır; iki denemede takılırsan çözüm açılır.
- Ücretsiz deneyebilir miyim?
- Evet. Her kursun ilk üç dersi ücretsizdir.