HTTP Basics

HTTP

Hypertext Transfer Protocol - protokół przesyłania dokumentów hipertekstowych

  • udostępnia znormalizowany sposób komunikowania się i wymiany danych między klientem a serwerem

  • określa formę żądań klienta dotyczących danych oraz formę odpowiedzi serwera na żądanie

  • służy do przesyłania różnych typów danych, np. obrazów, wideo, dokumentów, itp.

  • bazuje na protokole TCP(Transmission Control Protocol)

HTTP!

  • HTTP jest typu connectionless
  • HTTP dostarcza wszelkiego rodzaju dane
  • HTTP jest typu stateless

Wersje HTTP

1991 - 0.9

1996 - 1.0

1997 - 1.1

2015 - 2.0

2018 - 3.0

TCP

Transmission Control Protocol - protokół sterowania transmisją.

Połączeniowy, niezawodny strumieniowy protokół komunikacyjny stosowany do przesyłania danych pomiędzy procesami uruchomionymi na różnych maszynach.

HTTP Messages

  • Request HTTP message
  • Response HTTP message
GET /posts/1 HTTP/1.1

Content-Type: application/json
Accept: */*
Host: localhost:4800
HTTP/1.1 200
status: 200

Cache-Control: no-cache
Content-Type: application/json; charset=utf-8
Content-Length: 292
Date: Sat, 12 Jan 2019 07:11:48 GMT

{ ... user data }

GET

  • Metoda GET służy do żądania danych z określonego zasobu.

  • Żądania używające metody GET powinny jedynie pobierać dane.

HEAD

Metoda HEAD pobiera informacje o zasobie, stosowane do sprawdzania dostępności zasobu.

POST

Metoda POST wysyła żądanie, aby serwer zaakceptował encję zawartą w żądaniu jako nowy obiekt zasobu sieciowego zidentyfikowanego przez wysłany URL.

PUT

Metoda PUT wysyła żądanie, aby obiekt był przechowywany pod dostarczonym identyfikatorem URL. Jeśli identyfikator URL odnosi się do już istniejącego zasobu, jest on modyfikowany, jeśli identyfikator URL nie wskazuje na istniejąc zasob to serwer może utworzyć zasób z tym identyfikatorem URL.

PATCH

Metoda PATCH stosuje częściowe modyfikacje zasobu.

DELETE

Metoda DELETE usuwa określony zasób.

OPTIONS

Metoda OPTIONS zwraca metody HTTP obsługiwane przez serwer dla określonego adresu URL.

  • 1XX - kody informacyjn
  • 2XX - kody powodzenia
  • 3XX - kody przekierowania
  • 4XX - kody błędu aplikacji klienta
  • 5XX - kody błędu serwera HTTP

http-basics

By Piotr Tarasiuk

http-basics

  • 185