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¶m2=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-Since
i 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¶m2=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¶m2=value2 HTTP/1.1
Po otrzymaniu tego żądania serwer usunie określony zasób. O ile oczywiście nie masz prawa go usunąć.