Sobes.tech
Junior

Din ce componente constă o cerere HTTP?

sobes.tech AI

Răspuns de la AI

Cererea HTTP constă din următoarele componente:

  1. Linia de început (Request Line): Definește tipul de solicitare și resursa. Este formată din:

    • Metoda HTTP (HTTP Method): Acțiunea care trebuie efectuată asupra resursei (de exemplu, GET, POST, PUT, DELETE).
    • Calea resursei (Path): URL-ul resursei solicitate pe server.
    • Versiunea HTTP (HTTP Version): Versiunea protocolului HTTP utilizată pentru solicitare (de exemplu, HTTP/1.1, HTTP/2.0).
    // Exemplu de linie de început
    GET /index.html HTTP/1.1
    
  2. Anteturi de solicitare (Request Headers): Oferă informații suplimentare despre client, solicitare sau resursă. Parametrii antetului sunt prezentați în format "Nume: Valoare". Anteturile principale:

    • Host: Numele de domeniu al serverului.
    • User-Agent: Informații despre client (browser, OS).
    • Accept: Tipurile de media pe care clientul este dispus să le accepte.
    • Content-Type: Tipul de media al conținutului corpului solicitării (pentru metodele PUT, POST).
    • Content-Length: Lungimea corpului solicitării în octeți.
    • Authorization: Date de autentificare.
    // Exemple de anteturi de solicitare
    Host: www.exemplu.com
    User-Agent: Mozilla/5.0
    Accept: text/html
    
  3. Linie goală (Empty Line): Separă anteturile solicitării de corpul solicitării. Este obligatorie, chiar dacă corpul lipsește.

  4. Corpul solicitării (Request Body): Conține date trimise către server, cum ar fi date de formular, JSON pentru solicitări POST/PUT. Nu este prezent în toate metodele (de exemplu, nu pentru GET).

    // Exemplu de corp de solicitare (pentru POST/PUT)
    {
      "name": "John Doe",
      "age": 30
    }
    

Structura schematizată a unei solicitări HTTP poate fi reprezentată astfel:

Componenta Descriere Obligatoriu
Linia de început Metoda, calea resursei, versiunea HTTP Întotdeauna
Anteturile solicitării Informații suplimentare despre solicitare/client Opțional
Linie goală Separator Întotdeauna
Corpul solicitării Date trimise către server Opțional