HTTP Request
Client-ın serverdən hansısa dataları tələb etməsi və yaxud hansısa bir işi yerinə yetirməsini istəməsi üçün göndərdiyi mesajdır.
HTTP Request Strukturunun Üç Hissəsi
Request Line
Request-in ilk hissəsidir və olması məcburidir. Bu hissə 3 əsas komponentdən ibarətdir:
- Method – (GET, POST, PUT, DELETE və s.)
- Request URL/Path – (məsələn:
/api/users/123?q=http&page=2) - HTTP Version – (
HTTP/1.1,HTTP/2)
Headers
Burada əlavə məlumatlar – yəni metadatalar – göndərilir. Metadatalar key-value şəklində olur və request haqqında əlavə bilgilər vermək üçündür.
Ən çox istifadə olunan HTTP header-lar:
HostUser-AgentAcceptContent-TypeContent-LengthAuthorizationCookie
Real case nümunə:
Message Body / Payload
Header-dan sonra boş bir sətir buraxılıb, əgər varsa body yazılır. Əsasən POST, PUT, PATCH kimi serverə data göndərən request-lərdə olur.
Header içindəki Content-Type nədirsə, məsələn application/json, həmin formatda da body hissəsi yazılır.
Ümumi HTTP Request Forması:
HTTP Response
Client-dən gələn HTTP request-ə qaytarılan cavabdır. Məqsədi:
- Request-in nəticəsini bildirmək (uğurludurmu? xətalıdırmı? yönləndirmə varmı?)
- Əgər uğurludursa, istənilən nəticəni/məlumatı client-ə qaytarmaq
HTTP Response Strukturunun Üç Hissəsi
Status Line
Response-un ilk və məcburi olan hissəsidir. Üç hissədən ibarətdir:
- HTTP Version – (
HTTP/1.1,HTTP/2) - Status Code – Server tərəfindən qaytarılan 3 rəqəmli koddur.
- Reason Phrase – Status kodun oxuna bilən formasıdır (məsələn:
OK,Not Found,Internal Server Error)
Status Code Kateqoriyaları:
| Kateqoriya | Mənası |
|---|---|
| 1xx | Informational – Əməliyyat davam edir |
| 2xx | Success – Sorğu uğurla icra olundu |
| 3xx | Redirection – Yönləndirmə tələb olunur |
| 4xx | Client Error – Müştəri tərəfində səhv |
| 5xx | Server Error – Serverdə xəta baş verib |
Headers
Server tərəfindən client-ə göndərilən əlavə məlumatlardır (metadatalar). Yenə də key-value formatındadır.
Ən çox istifadə olunan response header-lar:
Content-Type– Göndərilən datanın tipi (application/json,text/html, və s.)Content-Length– Body hissəsinin uzunluğu (byte)Set-Cookie– Client-ə cookie göndərmək üçünCache-Control– Cavabın keşlənməsi ilə bağlı parametrlərDate– Cavabın göndərildiyi tarixServer– Server haqqında texniki məlumatLocation– Yönləndirmə zamanı yeni URL-i göstərmək üçün (301, 302 ilə birlikdə)
Real case nümunə:
Message Body / Payload
Əgər server cavab olaraq məlumat göndərəcəksə, həmin data body hissəsində verilir.
📌 Yalnız bəzi status kodlarda (200, 201 və s.) body mövcuddur.
Məsələn,
204 No Content,304 Not Modifiedkimi statuslarda body yoxdur.


