HTTP (HyperText Transfer Protocol) este protocolul de baza al web-ului, un protocol stateless bazat pe cereri si raspunsuri. Fiecare cerere contine o metoda, un URL, headere si optional un body, iar fiecare raspuns include un status code, headere si un body.
Protocolul HTTP si comunicarea client-server
HTTP (HyperText Transfer Protocol) este protocolul de baza al web-ului, un protocol stateless bazat pe cereri si raspunsuri. Fiecare cerere contine o metod...
Fundamente HTTP
Metodele HTTP
Fiecare metoda HTTP are o semantica specifica care trebuie respectata in design-ul API-urilor:
| Metoda | Scop | Idempotent | Body |
|---|---|---|---|
| GET | Citire resurse | Da | Nu |
| POST | Creare resurse | Nu | Da |
| PUT | Inlocuire completa | Da | Da |
| PATCH | Actualizare partiala | Nu* | Da |
| DELETE | Stergere resurse | Da | Optional |
| OPTIONS | Interogare capabilitati | Da | Nu |
| HEAD | Doar headere (fara body) | Da | Nu |
O operatie idempotenta produce acelasi rezultat indiferent de cate ori este apelata. GET, PUT si DELETE sunt idempotente - daca trimiteti de doua ori acelasi DELETE, rezultatul este acelasi (resursa este stearsa). POST nu este idempotent - doua apeluri POST identice vor crea doua resurse.
Status Codes HTTP
Categorii principale
| Interval | Categorie | Exemple frecvente |
|---|---|---|
| 1xx | Informational | 100 Continue, 101 Switching Protocols |
| 2xx | Succes | 200 OK, 201 Created, 204 No Content |
| 3xx | Redirectionare | 301 Moved, 304 Not Modified |
| 4xx | Eroare client | 400 Bad Request, 401 Unauthorized, 404 Not Found |
| 5xx | Eroare server | 500 Internal Error, 502 Bad Gateway, 503 Unavailable |
Status codes esentiale pentru API
200 OK - Cerere reusita (GET, PUT, PATCH)
201 Created - Resursa creata cu succes (POST)
204 No Content - Succes fara body (DELETE)
400 Bad Request - Date invalide trimise de client
401 Unauthorized - Autentificare necesara/esuata
403 Forbidden - Autentificat dar fara permisiuni
404 Not Found - Resursa nu exista
409 Conflict - Conflict (ex: email duplicat)
422 Unprocessable - Erori de validare
429 Too Many Req - Rate limit depasit
500 Internal Error - Eroare neasteptata pe serverHeadere HTTP importante
Headere de cerere (Request)
Content-Type: application/json // Tipul datelor trimise
Accept: application/json // Formatul dorit pentru raspuns
Authorization: Bearer <token> // Token de autentificare
User-Agent: Mozilla/5.0... // Informatii despre client
Origin: https://exemplu.ro // Originea cererii (CORS)
Cookie: session=abc123 // Cookie-uri
Headere de raspuns (Response)
Content-Type: application/json // Tipul datelor returnate
Cache-Control: max-age=3600 // Instructiuni de caching
X-RateLimit-Limit: 100 // Limita de cereri
X-RateLimit-Remaining: 95 // Cereri ramase
Access-Control-Allow-Origin: * // CORS
Set-Cookie: session=abc123 // Setare cookieHTTPS si TLS
HTTPS adauga un strat de criptare TLS (Transport Layer Security) peste HTTP. Toata comunicarea este criptata end-to-end, protejand datele de interceptare (man-in-the-middle attacks).
In 2026, HTTPS este obligatoriu - browserele marcheaza site-urile HTTP ca nesigure, iar motoarele de cautare penalizeaza site-urile fara SSL/TLS. Servicii precum Let's Encrypt ofera certificate SSL gratuite.
Folositi Developer Tools > Network din browser pentru a vedea toate cererile HTTP. Fiecare cerere arata metoda, URL-ul, headerele, body-ul si raspunsul complet. Acest instrument este esential pentru debugging.
Formate de date
JSON - standardul modern
JSON (JavaScript Object Notation) este formatul dominant pentru API-urile moderne datorita simplitatii si compatibilitatii universale:
{
"id": 1,
"name": "Laptop Gaming",
"price": 4999.99,
"inStock": true,
"tags": ["electronics", "gaming"],
"specs": {
"cpu": "Intel i7-13700K",
"ram": "32GB DDR5"
}
}
Alte formate
- XML - folosit in sisteme legacy, SOAP API-uri, configurari
- Protocol Buffers - format binar de la Google, foarte eficient pentru gRPC
- MessagePack - JSON binar, mai compact si mai rapid
- YAML - folosit in configurari (Docker, CI/CD), nu in API-uri
Continuați cu restul cursului
Acesta este capitolul 2 din cele 20 ale cursului, cu 6 lecții din 82. Cumpărați cursul și parcurgeți tot conținutul în cont, cu progres salvat, test final și certificat.
Cumpărați cursul la 110 €