COMPUTER ENGINEER

Örneklere git
Blog
HTTP / HTTPS / TLS6 dk çalışma
08/ 70

Methodlar ve istek semantiği

GET gövdesi, PUT ve PATCH nüansları

Framework kabul ediyor diye taşınabilir değildir.

AnlaÖrneği inceleKendin uygula

Kavramı anlayalım

GET request content için genel olarak tanımlı bir anlam yoktur. Ara katmanlar ve istemciler bunu reddedebilir veya dikkate almayabilir; Fetch gibi API’ler GET/HEAD gövdesine izin vermez. Filtreleri query ile taşı veya karmaşık arama için açık POST arama sözleşmesi tasarla.

PUT bütün kaynağın temsilini değiştirme niyeti taşır; bazı alanların server tarafından yönetilmesi sözleşmede açıklanmalıdır. PATCH kısmi değişim içindir; JSON Patch ile JSON Merge Patch aynı format değildir. null, silme ve liste işlemlerinin anlamı seçilen formatta farklıdır.

PATCH atomik uygulanmalıdır; başarısız bir patch’in yarısını commit etmek uygun değildir. Eşzamanlı düzenlemede ETag ve If-Match ile kayıp güncellemeyi önle. API’de “her şey POST olsun” yaklaşımı bazı ara katman davranışlarını ve sözleşme açıklığını kaybettirir.

NERESİNDE KULLANIRSIN?

Farklı istemci ve proxy’lerle çalışan API’ler için.

SIK YAPILAN HATA

JSON olan her patch belgesini aynı sanmak.

01 / UYGULAMA

Aynı konu. Üç farklı derinlik.

HTTP / temsili örnek
GET /products?category=books HTTP/1.1
Host: example.test

Basit filtre query’dedir.

Bu sayfa dış sunuculara istek göndermez. HTTP mesajları temsili, HTTP/1.1 biçiminde okunabilir gösterimlerdir; HTTP/2 ve HTTP/3 wire formatı değildir. example.test ayrılmış öğretim alan adıdır. Komut ve JavaScript örneklerini yalnız kendi test ortamında uygula; gerçek token veya cookie yayımlama.

02 / SIRA SENDE

Önce kendin dene.

Tarayıcı Fetch ile GET gövdesi göndererek filtreleme yapmalı mısın?

Çözümü ve açıklamasını göster
Açıklamalı çözüm
GET query or documented POST search

Hayır; istemci kısıtlarını ve HTTP anlamını gözet.