Authorization ve Cookie değerleri varsayılan olarak maskelenir; yapıştırdığınız istek sunucuya gönderilmez.
Bir HTTP isteğini okumak için ham metne bakmak yetmez. Başlıkların hangisi ne işe yarıyor, gövde ile Content-Length tutuyor mu, bir satırda şartnameye aykırı bir şey var mı? Çözümce HTTP İstek ve Header Biçimlendirici bu soruları yapıştırdığınız istek üzerinde yanıtlar. Ham HTTP isteği, başlık bloğu, Chrome'dan kopyalanan cURL (bash ve Windows cmd), fetch kopyası ya da HAR dosyası kabul eder. Biçimi ilk satırdan kendisi tanır.
Ne yapıyor
Araç isteği ayrıştırır ve başlık adlarını alışılmış yazımlarıyla gösterir. Gövde JSON ise girintili yazar. Her başlığın yanında Türkçe bir açıklama, kategorisi, alabileceği değerler ve kaynak bağlantısı çıkar. İstek ayrıca bir infografik olarak PNG ya da SVG biçiminde indirilebilir.
Yapıştırdığınız istek Çözümce sunucularına gönderilmez, işlem tarayıcıda yapılır.
Hataları satırıyla gösteriyor
Araç uyarıları üç renkte verir: kırmızı istek kaçakçılığı göstergeleri, sarı şartname ihlalleri, mavi ipuçları. Her uyarı ilgili satıra ve RFC bölümüne bağlanır.
Sayfadaki "Sorunlu QUERY isteği" örneği bunu gösteriyor. Örnekte altı uyarı çıkıyor:
- Content-Length ile Transfer-Encoding birlikte gönderilmiş (RFC 9112 §6.3). Ara sunucu ile arka uç gövdenin sonunu farklı yerde görürse istek kaçakçılığı mümkün olur.
- "X-Bozuk Baslik" başlık adında boşluk var (RFC 9112 §5.1).
- Content-Length 5 diyor ama gövde 7 bayt (RFC 9110 §8.6).
- Accept içinde q=abc geçersiz; ağırlık 0 ile 1 arasında olmalı (RFC 9110 §12.4.2).
- Tarayıcıda fetch ile ayarlanamayan başlıklar var (Host, Cookie, Content-Length ve diğerleri).
- Sorgu dizesinde gizli olabilecek bir parametre var: token.
Gizli değerler maskeleniyor
Authorization, Cookie, API anahtarları ve sorgudaki gizli parametreler varsayılan olarak maskelenir. Maskeleme ekran, kopya ve indirilen görsel için geçerlidir. Örnekte token değeri ve Bearer belirteci çıktıda noktalarla gizlenmiş görünür. İsterseniz maskelemeyi kapatabilirsiniz; bu durumda sayfa ekran paylaşıyorsanız açmanızı hatırlatır.
Bearer belirteci JWT biçimindeyse araç başlık ve yük kısmını çözüp alanlarını tablo halinde gösterir. İmzayı doğrulamaz.
CORS ön kontrolü ve diğer kartlar
İstek başka bir siteden geliyorsa araç tarayıcının önce OPTIONS ile izin soracağını belirtir ve ön kontrolü tetikleyen nedeni yazar. Yöntem kartı yöntemin güvenli, idempotent ve önbelleklenebilir olup olmadığını gösterir; QUERY yöntemi de listede var. Adres anatomisi kartı adresi şema, ana makine, yol ve sorgu parametrelerine böler.
cURL, fetch ve ham HTTP olarak kopyalama
Bir isteği başka biçime çevirmek için "Şu biçimde kopyala" sekmesi kullanılır. Chrome'un Windows cmd cURL kopyası şapka (^) ile kaçırılmış biçimde gelir. Araç onu okur ve bash cURL, fetch ya da ham HTTP olarak yeniden yazar.
Yukarıdaki örnekte cmd biçimindeki bir cURL komutu bash biçimine çevrildi: başlıklar tek tırnaklı, satır sonları ters bölülü, gövde `--data-raw` ile.
Nasıl kullanılır
- [Aracı açın](/arac/http-istek-bicimlendirici).
- Chrome'da Network sekmesinde bir isteğe sağ tıklayıp "Copy as cURL" deyin ya da HAR dosyasını dışa aktarın.
- Metni ya da dosyayı yapıştırın. Biçim otomatik algılanır.
- Uyarıları ve başlık haritasını okuyun, gerekirse başka biçimde kopyalayın.
Gerçek oturum anahtarlarını yapıştırmadan önce iptal etmeniz ya da elle silmeniz önerilir.
Kaynaklar
Bahsedilen
- Çözümce HTTP İstek ve Header Biçimlendirici - HTTP isteğini ayrıştıran tarayıcı aracı
- HTTP/1.1 - HTTP'nin 1.1 sürümü şartnamesi
- cURL - Komut satırından HTTP isteği gönderen araç