HTTP protokolü nasıl çalışır?
sobes.tech yapay zeka
AI'dan gelen yanıt
HTTP (Hypertext Transfer Protocol) — uygulama katmanı protokolüdür ve kaynaklara, örneğin web sayfalarına erişmek için kullanılır. "İstemci-sunucu" modeliyle çalışır.
İstemci (genellikle bir tarayıcı) sunucuya bir istek gönderir, sunucu isteği işler ve yanıt gönderir.
HTTP mesajının temel öğeleri:
-
Başlangıç satırı: Mesajın türünü (istek veya yanıt) ve temel parametreleri belirler.
- İstek: Yöntem (GET, POST, PUT, DELETE vb.), kaynağa yol, protokol sürümü.
- Yanıt: Protokol sürümü, durum kodu (200 OK, 404 Not Found, 500 Internal Server Error vb.), durumun metinsel açıklaması.
GET /index.html HTTP/1.1 // İstek başlangıç satırı örneğiHTTP/1.1 200 OK // Yanıt başlangıç satırı örneği -
Başlıklar (Headers): Mesaj hakkında meta bilgi ve mesaj gövdesini içerir. Her başlık "BaşlıkAdı: Değer" şeklinde gösterilir.
- İstek başlıkları: Host, User-Agent, Accept, Content-Type, Content-Length vb.
- Yanıt başlıkları: Content-Type, Content-Length, Server, Set-Cookie vb.
Host: example.com // Host başlığı örneği User-Agent: Mozilla/5.0 // User-Agent başlığı örneği -
Boş satır: Başlıkları mesaj gövdesinden ayırır.
-
Mesaj gövdesi (Body): Gönderilen verileri içerir. Bazı isteklerde (örneğin, GET) ve yanıtlar (örneğin, 204 No Content) olmayabilir. POST veya PUT metodlarıyla yapılan isteklerde gövde genellikle gönderilen verileri içerir. Yanıtlarda gövde, istenen kaynağı içerir (örneğin, HTML kodu, resimler, JSON).
<!DOCTYPE html> <html> <head> <title>Örnek</title> </head> <body> <h1>Merhaba!</h1> </body> </html>
HTTP'nin temel metodları:
| Metod | Açıklama | Kullanım |
|---|---|---|
| GET | Belirtilen URL'den kaynak talep eder. | Veri almak, sunucu durumunu değiştirmeden. |
| POST | Sunucuda işleme için veri gönderir. | Form gönderimi, dosya yükleme, kaynak oluşturma. |
| PUT | Belirtilen URL'de kaynağı günceller veya oluşturur. | Var olan kaynakları güncelleme. |
| DELETE | Belirtilen URL'deki kaynağı siler. | Kaynakları silme. |
| HEAD | Kaynağın başlıklarını, gövdesi olmadan talep eder. | Kaynak hakkında meta bilgi edinme. |
HTTP, durumsuz (stateless) bir protokoldür. Her istek bağımsızdır. Durumu korumak için çerezler ve oturumlar gibi mekanizmalar kullanılır.