Sobes.tech
Middle

Jak działa protokół HTTP?

sobes.tech AI

Odpowiedź od AI

HTTP (Hypertext Transfer Protocol) — protokół warstwy aplikacji używany do pobierania zasobów, takich jak strony internetowe. Działa na modelu "klient-serwer".

Klient (zazwyczaj przeglądarka) wysyła żądanie do serwera, który przetwarza żądanie i wysyła odpowiedź.

Główne elementy wiadomości HTTP:

  1. Linia startowa: Określa typ wiadomości (żądanie lub odpowiedź) i główne parametry.

    • Żądanie: Metoda (GET, POST, PUT, DELETE itp.), ścieżka do zasobu, wersja protokołu.
    • Odpowiedź: Wersja protokołu, kod statusu (200 OK, 404 Not Found, 500 Internal Server Error itp.), tekstowy opis statusu.
    GET /index.html HTTP/1.1 // Przykład linii startowej żądania
    
    HTTP/1.1 200 OK // Przykład linii startowej odpowiedzi
    
  2. Nagłówki (Headers): Zawierają metainformacje o wiadomości i ciele wiadomości. Każdy nagłówek przedstawiony jest jako "NazwaNagłówka: Wartość".

    • Nagłówki żądania: Host, User-Agent, Accept, Content-Type, Content-Length itp.
    • Nagłówki odpowiedzi: Content-Type, Content-Length, Server, Set-Cookie itp.
    Host: example.com // Przykład nagłówka Host
    User-Agent: Mozilla/5.0 // Przykład nagłówka User-Agent
    
  3. Pusta linia: Oddziela nagłówki od ciała wiadomości.

  4. Ciało wiadomości (Body): Zawiera przesyłane dane. Może nie występować w niektórych żądaniach (np. GET) i odpowiedziach (np. 204 No Content). W żądaniach z metodami POST lub PUT ciało zazwyczaj zawiera przesyłane dane. W odpowiedziach ciało zawiera żądany zasób (np. kod HTML, obrazy, JSON).

    <!DOCTYPE html>
    <html>
    <head>
        <title>Przykład</title>
    </head>
    <body>
        <h1>Cześć!</h1>
    </body>
    </html>
    

Główne metody HTTP:

Metoda Opis Użycie
GET Żąda zasobu z określonego URL. Pobieranie danych bez zmiany stanu serwera.
POST Wysyła dane do przetworzenia na serwerze. Wysyłanie formularzy, ładowanie plików, tworzenie zasobów.
PUT Aktualizuje lub tworzy zasób pod wskazanym URL. Aktualizacja istniejących zasobów.
DELETE Usuwa zasób pod wskazanym URL. Usuwanie zasobów.
HEAD Żąda nagłówków zasobu bez jego ciała. Pobieranie metadanych zasobu.

HTTP to protokół bezstanowy (stateless). Każde żądanie jest niezależne. Do utrzymania stanu używa się mechanizmów takich jak cookies i sesje.