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:
Host
User-Agent
Accept
Content-Type
Content-Length
Authorization
Cookie
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 Modified
kimi statuslarda body yoxdur.