Dwie najczęściej używanych metod HTTP należą: GET i POST.
Co to jest HTTP?
Hypertext Transfer Protocol (HTTP) został zaprojektowany w celu umożliwienia komunikacji między klientami i serwerami.
HTTP działa jako protokołu żądanie-odpowiedź pomiędzy klientem a serwerem.
Przeglądarka internetowa może być klientem, a aplikacja na komputerze, który obsługuje strona internetowa może być serwerem.
Przykład: klient (przeglądarka) przekazuje żądanie HTTP do serwera; Serwer zwraca wówczas reakcję do klienta. Odpowiedź zawiera informacje o statusie wniosku i może również zawierać żądanej treści.
Dwie metody żądania HTTP GET i POST:
Dwie powszechnie stosowane metody na żądanie-odpowiedź pomiędzy klientem a serwerem są: GET i POST.
- GET - Zapotrzebowanie na dane z określonych zasobów
- POST - dane przedkłada być przetwarzane do określonego zasobu
Metoda GET
Zauważ, że ciąg zapytania (pary nazwa / wartość) jest wysyłany w adresie URL żądania GET:
/test/demo_form.asp?name1=value1&name2=value2
Niektóre inne informacje dotyczące wniosków otrzymujemy:
- GET wnioski mogą być buforowane
- GET wnioski pozostają w historii przeglądarki
- GET wnioski mogą być zakładka
- GET żądania nie powinny być używane w kontaktach z danych wrażliwych
- GET wnioski mają ograniczenia długości
- GET wnioski powinny być stosowane wyłącznie do pobierania danych
Metoda POST
Zauważ, że ciąg zapytania (pary nazwa / wartość) jest wysyłane w treści wiadomości HTTP żądania POST:
POST /test/demo_form.asp HTTP/1.1
Host: w3ii.com
name1=value1&name2=value2
Niektóre inne informacje dotyczące wniosków postu:
- żądania POST nie są buforowane
- żądania POST nie pozostają w historii przeglądarki
- żądania POST nie może być zakładka
- żądania POST nie mają żadnych ograniczeń dotyczących długości danych
Porównaj GET vs. POST
Poniższa tabela przedstawia porównanie dwóch metod HTTP GET i POST.
OTRZYMAĆ | STANOWISKO | |
---|---|---|
Przycisk BACK / Odśwież | Nieszkodliwy | Dane zostaną ponownie złożone (przeglądarka ma ostrzegać użytkownika, że dane zostaną wkrótce ponownie przedłożony) |
Wybrane | Może być zakładka | Nie można tworzyć zakładki |
buforowane | Może być buforowane | niezbuforowanych |
Typ kodowania | application / x-www-form-urlencoded | application / x-www-form-urlencoded lub wieloczęściowe / form-data. Użyj wieloczęściowy kodowanie danych binarnych |
Historia | Parametry pozostanie w historii przeglądarki | Parametry nie są zapisywane w historii przeglądarki |
Ograniczenia dotyczące długości danych | Tak, podczas wysyłania danych, metoda GET dodaje dane do adresu URL; a długość adresu URL jest ograniczony (maksymalna długość URL to 2048 znaków) | Bez ograniczeń |
Ograniczenia typu danych | Tylko znaki ASCII dozwolone | Bez ograniczeń. Dane binarne są również dozwolone |
Bezpieczeństwo | GET jest mniej bezpieczna w porównaniu do procedury POST, ponieważ dane przesyłane jest częścią adresu URL Nigdy nie należy używać GET podczas wysyłania haseł lub innych poufnych informacji! | POST jest trochę bezpieczniejsze niż GET, ponieważ parametry nie są zapisywane w historii przeglądarki ani w logach serwerów internetowych |
Widoczność | Dane są widoczne dla każdego w adresie URL | Dane nie są wyświetlane w adresie URL |
Inne metody żądania HTTP
Poniższa tabela przedstawia niektóre inne metody żądania HTTP:
metoda | Opis |
---|---|
HEAD | Tak samo jak GET, ale zwraca tylko nagłówki HTTP a nie ciało dokumentu |
PUT | Wysyła reprezentacji określonego URI |
DELETE | Usuwa określony zasób |
OPTIONS | Zwraca metod HTTP, że obsługuje serwer |
CONNECT | Przekształca połączenie z żądaniem do tunelu przejrzyste TCP / IP |