Cum funcționează protocolul HTTP?
sobes.tech AI
Răspuns de la AI
HTTP (Hypertext Transfer Protocol) — un protocol de nivel aplicație utilizat pentru obținerea resurselor, cum ar fi paginile web. Funcționează pe modelul "client-server".
Clientul (de obicei un browser) trimite o solicitare către server, care procesează solicitarea și trimite un răspuns.
Elementele principale ale mesajului HTTP:
-
Linia de start: Definește tipul mesajului (solicitare sau răspuns) și parametrii principali.
- Solicitare: Metoda (GET, POST, PUT, DELETE etc.), calea către resursă, versiunea protocolului.
- Răspuns: Versiunea protocolului, codul de stare (200 OK, 404 Not Found, 500 Internal Server Error etc.), descrierea textuală a stării.
GET /index.html HTTP/1.1 // Exemplu de linie de start a solicităriiHTTP/1.1 200 OK // Exemplu de linie de start a răspunsului -
Anteturi (Headers): Conțin meta-informații despre mesaj și corpul mesajului. Fiecare antet este reprezentat ca "NumeAntet: Valoare".
- Anteturi de solicitare: Host, User-Agent, Accept, Content-Type, Content-Length etc.
- Anteturi de răspuns: Content-Type, Content-Length, Server, Set-Cookie etc.
Host: example.com // Exemplu de antet Host User-Agent: Mozilla/5.0 // Exemplu de antet User-Agent -
Linie goală: Separă anteturile de corpul mesajului.
-
Corpul mesajului (Body): Conține datele transmise. Poate lipsi în anumite solicitări (de exemplu, GET) și răspunsuri (de exemplu, 204 No Content). În solicitările cu metode POST sau PUT, corpul conține de obicei datele trimise. În răspunsuri, corpul conține resursa solicitată (de exemplu, cod HTML, imagini, JSON).
<!DOCTYPE html> <html> <head> <title>Exemplu</title> </head> <body> <h1>Salut!</h1> </body> </html>
Metodele principale HTTP:
| Metodă | Descriere | Utilizare |
|---|---|---|
| GET | Solicită o resursă de la URL-ul specificat. | Obținerea datelor fără a modifica starea serverului. |
| POST | Trimite date pentru procesare pe server. | Trimiterea formularelor, încărcarea fișierelor, crearea de resurse. |
| PUT | Actualizează sau creează o resursă la URL-ul specificat. | Actualizarea resurselor existente. |
| DELETE | Șterge o resursă la URL-ul specificat. | Ștergerea resurselor. |
| HEAD | Solicită anteturile resursei fără corpul acesteia. | Obținerea metadatelor resursei. |
HTTP este un protocol fără stare (stateless). Fiecare solicitare este independentă. Pentru menținerea stării, se folosesc mecanisme precum cookies și sesiuni.