Protokół HTTP

Czym jest HTTP?

HTTP(Hypertext Transfer Protocol) jest to protokół będący podstawą komunikacji w sieci WWW. Dokładnie jest to komunikacja klient <-> serwer. Oznacza to, że wysyłane jest żądanie do serwera i oczekiwana jest odpowiedź w określonym formacie. W ramach zapytania wysyłamy jedno żądanie.

Protokół HTTP wykorzystywany jest w całej sieci WEB, kiedy np. wpiszemy adres strony www.nietylkoprogramowanie.pl i serwer w odpowiedzi zwróci nam zawartość strony.

Protokół HTTP jest bezstanowy, czyli każde żądanie interpretowane jest niezależnie od innych.

Za rozwój protokołu odpowiada World Wide Web Consorcium (W3). Na ich stronie znajduje się także specyfikacja całego protokołu HTTP: https://www.w3.org/Protocols/rfc2616/rfc2616.html

Budowa komunikatów

Żądanie (request HTTP)

Aby otrzymać jakiś zasób z serwera musimy najpierw powiedzieć czego potrzebujemy, jak w życiu ;).

Kiedy chcemy dowiedzić stronę: https://www.nietylkoprogramowanie.pl/ksiazki-it/ to musimy przekazać informację do jakiego zasobu chcemy się dostać.

Poniżej widać uproszczony przykład wywołania. Przyjrzyjmy się temu bliżej.

GET /ksiazki-it/ HTTP/1.1
Host: www.nietylkoprogramowanie.pl

„GET” to nazwa metody. Przedstawie je w dalszej części artykułu.

/ksiazki-it/ to ścieżka do zasobu, czyli URL.

HTTP/1.1 jest to oznaczenie wykorzystwanej wersji protokołu.

Host to nazwa nagłówka(header).

Występuje także część, która nie jest wymagana, czyli BODY, w której zawierają się szczegóły żądania.

Odpowiedź (response HTTP)

W odpowiedzi dostaniemy:

HTTP/1.1 200 OK
Header

HTTP/1.1 tak jak w przypadku zapytania przesyłana jest informacja o użytej wersji protokołu.

„200” oznacza kod statusu odpowiedzi (Status code). Więcej o statusach znajduje się w dalszej części artykułu.

„OK” oznacza treść statusu (Status message).

Header zawiera w sobie dodatkowe informację.

Występuje także część, która nie jest wymagana, czyli BODY, w której zawierają się szczegóły odpowiedzi.

Metody HTTP

GET – Metoda GET żąda określonego zasobu. Żądania używające GET powinny pobierać tylko dane.

HEAD – Metoda HEAD żąda odpowiedzi identycznej z żądaniem GET, ale bez treści odpowiedzi.

POST – Metoda POST przesyła dane do określonego zasobu.

PUT – Metoda PUT zastępuje wszystkie wartości występujące w danym zasobie.

DELETE – Metoda DELETE usuwa określony zasób.

CONNECT – Metoda CONNECT służy do tworzenia połączenia z zasobem serwera.

OPTIONS – Metoda OPTIONS opisuje opcje komunikacji dla zasobu docelowego.

TRACE – Metoda TRACE służy do diagnostyki, debugowania i rozwiązywania problemów.

PATCH – Metoda PATCH używamy do częściowej modyfikacji do zasobu.

Kody HTTP

Kody HTTP dzielimy na 5 grup:

  • 1xx – kody informacyjne,
  • 2xx – kody powodzenia,
  • 3xx – kody przekierowania,
  • 4xx – kody błędu aplikacji,
  • 5xx – kody błędu serwera.

Podsumowanie

Protokół HTTP jest z nami każdego dnia. Wykorzytujemy go w pracy do przesyłania informacji oraz do oglądania śmiesznych kotków.

Warto znać podstawy funkcjonowania sieci WWW i tego z czego ona jest zbudowana.

Chcesz się ze mną skontaktować.

Napisz: https://www.nietylkoprogramowanie.pl/kontakt/

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *