4.1 Lista metod HTTP

Pierwszym słowem żądania HTTP jest nazwa metody . Istnieje nawet pewna analogia z wywoływaniem metod w Javie. Metoda w żądaniu HTTP definiuje podstawową operację do wykonania na zasobie.

Jaki rodzaj zasobów? Chodzi o to, że u zarania World Wide Web serwery po prostu przechowywały odpowiednio pliki HTML, żądanie dotyczyło takiego pliku i opisywało pewne działania, które należy wykonać z zasobem / plikiem.

Standard HTTP określa następujące metody:

# metoda Opis
1 DOSTAWAĆ Służy do wysyłania zapytań o zawartość określonego zasobu.
2 POST Służy do przesyłania danych od klienta do serwera. Zmienia stan zasobu na serwerze.
3 UMIEŚCIĆ Służy do przesyłania danych od klienta do serwera. Tworzy nowy zasób na serwerze.
4 USUWAĆ Usuwa określony zasób na serwerze.
5 GŁOWA Podobny do GET, ale nie ma treści odpowiedzi. Wymagane do pobrania nagłówków odpowiedzi
6 OPCJE Żąda od serwera listy obsługiwanych metod dla określonego zasobu.
7 NAMIERZAĆ metoda serwisowa. Pozwala dowiedzieć się, czy żądanie jest zmieniane przez serwery, przez które przechodzi.
8 ŁĄCZYĆ metoda serwisowa. Służy do ustanowienia bezpiecznego połączenia.

4.2 Metoda GET

Metoda GET jest najpopularniejszą metodą HTTP. To właśnie wywołuje przeglądarka, gdy wysyła żądanie do serwera o następną stronę.

Na przykład, jeśli klikniesz link http://codegym.cc/path/resource?param1=value1¶m2=value2 w przeglądarce, przeglądarka wyśle ​​żądanie HTTP do serwera CodeGym, które rozpocznie się od tej linii początkowej :

GET /path/resource?param1=value1&param2=value2 HTTP/1.1

W rezultacie serwer będzie musiał wysłać odpowiedź HTTP do przeglądarki, w której zapisze status żądania, a także prześle żądany zasób.

Przyjmuje się, że wielokrotne wywołanie metody GET nie zmienia stanu serwera, a serwer musi za każdym razem zwracać tę samą odpowiedź . Dlatego protokół ma trudną kontrolę nad buforowaniem obiektów.

Po pierwsze, zasoby otrzymane za pomocą żądania GET, przeglądarka może buforować po swojej stronie według własnego uznania (istnieją niuanse).

Po drugie, wysyłając żądanie do serwera, możesz określić specjalny nagłówek If-Modified-Sincei plik date. Jeśli żądany zasób/dokument zmienił się od określonej daty, serwer go wyśle. Jeśli nie zostanie zmieniona, treść zasobu nie zostanie przekazana. Zakłada się, że jest buforowany na kliencie.

Buforowanie strony (żądania GET) jest używane cały czas, więc radzę przyjrzeć się temu problemowi.

4.3 Metody POST i PUT

Metoda POST służy do aktualizacji zasobu na serwerze. Na przykład, gdy przesyłasz obraz na serwer, Twoja przeglądarka wysyła żądanie POST.

Rozważ żądanie HTTP, które rozpocznie się od tej linii początkowej:

POST /path/resource?param1=value1&param2=value2 HTTP/1.1
headers…

<request body>

W efekcie serwer będzie musiał wysłać do przeglądarki odpowiedź HTTP, w której zapisze status żądania, a także prześle zmodyfikowany zasób. Wielokrotne wywołanie metody POST zmienia stan serwera i serwer może za każdym razem zwrócić inną odpowiedź .

GET i POST to dwa najczęstsze żądania w sieci. Aby ułatwić sobie zapamiętanie, jak działają metody, rozważ poniższą tabelę:

DOSTAWAĆ POST UMIEŚCIĆ
Wniosek Tylko adres URL Adres URL i treść żądania Adres URL i treść żądania
Odpowiedź Kod i treść odpowiedzi Kod i treść odpowiedzi Kod odpowiedzi

Możesz przeczytać więcej o żądaniu POST pod linkiem .

4.4 Metoda USUŃ

I na koniec informacja o metodzie DELETE . Tutaj wszystko jest proste.

Na przykład chcemy usunąć określony zasób na serwerze. Wysyłamy mu prośbę typu:

DELETE  /path/resource?param1=value1&param2=value2 HTTP/1.1

Po otrzymaniu tego żądania serwer usunie określony zasób. O ile oczywiście nie masz prawa go usunąć.