Məzmuna keçLogo

Command Palette

Search for a command to run...

Http Request & Http Response

Dərc olundu
25 mar 2025
Http Request & Http Response

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:

  1. Method – (GET, POST, PUT, DELETE və s.)
  2. Request URL/Path – (məsələn: /api/users/123?q=http&page=2)
  3. 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ə:

POST /api/user HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
Accept: application/json
Content-Type: application/json
Content-Length: 58
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
Cookie: SESSIONID=abc123xyz

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ı:

POST /api/orders HTTP/1.1
Host: www.example-store.com
User-Agent: curl/7.79.1
Accept: application/json
Content-Type: application/json; charset=utf-8
Content-Length: 54
Authorization: Bearer dG9rZW4gZXhhbXBsZQ==

{
  "productId": 42,
  "quantity": 2,
  "customer": "John Doe"
}

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:

  1. HTTP Version – (HTTP/1.1, HTTP/2)
  2. Status Code – Server tərəfindən qaytarılan 3 rəqəmli koddur.
  3. Reason Phrase – Status kodun oxuna bilən formasıdır (məsələn: OK, Not Found, Internal Server Error)

Status Code Kateqoriyaları:

KateqoriyaMənası
1xxInformational – Əməliyyat davam edir
2xxSuccess – Sorğu uğurla icra olundu
3xxRedirection – Yönləndirmə tələb olunur
4xxClient Error – Müştəri tərəfində səhv
5xxServer 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 üçün
  • Cache-Control – Cavabın keşlənməsi ilə bağlı parametrlər
  • Date – Cavabın göndərildiyi tarix
  • Server – Server haqqında texniki məlumat
  • Location – Yönləndirmə zamanı yeni URL-i göstərmək üçün (301, 302 ilə birlikdə)

Real case nümunə:

HTTP/1.1 200 OK
Date: Sun, 06 Apr 2025 10:22:35 GMT
Content-Type: application/json
Content-Length: 72
Set-Cookie: SESSIONID=xyz123abc; HttpOnly
Server: Apache/2.4.46 (Ubuntu)

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.

JSON formatında cavab nümunəsi:

{
  "userId": 123,
  "username": "john_doe",
  "email": "john@example.com"
}
Thanks for reading.