Znacznik formularza służy do wyrażania treści formularza; jest to również znane jako kontrola formy . Formularze te są wypełniane danymi, które następnie przesyłane są do zdalnego komputera w celu dalszego przetwarzania. Funkcjonowanie formularza obejmuje dwie kluczowe rzeczy: pierwsza to specyfikacja adresu programu, który obsługuje treść formularza za pomocą ACTION . Później jest specyfikacja metody, w ramach której dane formularza przepływają za pomocą atrybutu METHOD .
Atrybut ACTION opisuje, w jaki sposób należy obsłużyć formularz HTML. Atrybut METHOD zarządza procesem przesyłania danych. Metoda GET i POST jest objęta atrybutem METHOD.
Wykres porównania
Podstawa do porównania | DOSTAĆ | SŁUPEK |
---|---|---|
Parametry są umieszczone wewnątrz | URI | Ciało |
Cel, powód | Odzyskiwanie dokumentów | Aktualizacja danych |
Wyniki zapytania | Może być dodany do zakładek. | Nie można dodać do zakładek. |
Bezpieczeństwo | Podatne, jak w zwykłym tekście | Bezpieczniejsze niż metoda GET |
Formuj wiązania typów danych | Dozwolone są tylko znaki ASCII. | Żadne ograniczenia, nawet dane binarne są dozwolone. |
Uformuj długość danych | Powinno być ograniczone do minimum. | Może leżeć w dowolnym zakresie. |
Widoczność | Może być widoczne dla każdego. | Nie wyświetla zmiennych w adresie URL. |
Zmienny rozmiar | Do 2000 znaków. | Do 8 Mb |
Buforowanie | Dane metod mogą być buforowane. | Nie buforuje danych. |
Definicja metody GET
Metoda GET służy do żądania adresu URL z serwera WWW w celu pobrania dokumentów HTML. Jest to konwencjonalna metoda dostarczania przez przeglądarki informacji, które są liczone jako część protokołu HTTP. Metoda GET jest reprezentowana w postaci adresu URL, dzięki czemu można ją dodać do zakładek. GET jest szeroko stosowany w wyszukiwarkach. Po przesłaniu zapytania przez użytkownika do wyszukiwarki silnik wykonuje zapytanie i podaje wynikową stronę. Wyniki zapytania można ustawić jako łącze (zakładki).
Metoda GET umożliwia generowanie kotwic, co pomaga w dostępie do programu CGI przy pomocy kwerendy eliminującej użycie formularza. Kwerenda jest skonstruowana w łączu, więc po odwiedzeniu łącza program CGI pobierze odpowiednie informacje z bazy danych.
Metoda GET ma pewne problemy z bezpieczeństwem, ponieważ wstawione dane są widoczne w adresie URL. Tylko ograniczona ilość danych może zostać przekazana za pomocą metody GET, ponieważ długość adresu URL, który przeglądarka może przekroczyć, może wynosić tysiąc znaków.
Kolejną kwestią związaną z metodą GET jest to, że nie radzi sobie z językami obcymi. Metoda GET nie jest zalecana do użycia, ale nadal, gdy nie są zdefiniowane atrybuty metody, metoda GET jest używana domyślnie.
Definicja metody POST
Metoda POST jest odpowiednia w warunkach, w których może przepłynąć znaczna ilość informacji. Kiedy serwer odbiera żądanie za pomocą formularza wykorzystującego test POST, kontynuuje on "odsłuchiwanie" lewej informacji. W prostych słowach metoda przenosi wszystkie istotne informacje z formularza wejściowego natychmiast po wysłaniu żądania do adresu URL.
Metoda POST musi nawiązać dwa kontakty z serwerem WWW, a GET właśnie ją tworzy. Żądania POST są zarządzane w ten sam sposób, w jaki są zarządzane w metodzie GET, gdzie spacje są reprezentowane w znaku plus (+), a pozostałe znaki są kodowane we wzorcu adresu URL. Może również wysyłać elementy pliku.
Kluczowe różnice między metodą GET i POST w HTML
- Metoda GET umieszcza parametry wewnątrz URI, podczas gdy metoda POST dołącza parametry do ciała.
- GET jest zasadniczo używany do pobierania informacji. W przeciwieństwie do tego celem metody POST jest aktualizacja danych.
- Wyniki zapytania POST nie mogą być zakładkami, natomiast wyniki zapytań GET można dodać do zakładek, ponieważ istnieją one w postaci adresu URL.
- W metodzie GET informacje są widoczne w adresie URL, co zwiększa podatność na zagrożenia i ryzyko włamania. Natomiast metoda POST nie pokazuje zmiennej w adresie URL i można w niej również zastosować wiele technik kodowania, które sprawiają, że jest ona elastyczna.
- Gdy w formularzu jest używana metoda GET, w typach danych akceptowane są tylko znaki ASCII. Wręcz przeciwnie, metoda POST nie wiąże typów danych formularzy i nie zezwala na znaki binarne, a także ASCII.
- Zmienna wielkość w metodzie GET wynosi około 2000 znaków. Odwrotnie, metoda POST dopuszcza rozmiar zmienny do 8 Mb.
- Dane metody GET są buforowane, natomiast dane metody POST nie.
Przykład GET
Gdy użytkownik wprowadzi dowolny adres URL na pasku adresu przeglądarki, np. Http // www.example.com / xyz / plik1.htm . Adres jest następnie konwertowany na prawidłowe żądanie HTTP GET, na przykład GET / xyz / plik1.htm HTTP / 1.0 .
To żądanie jest następnie przesyłane do serwera www.example.com . Zapytanie prosi o plik1.htm w katalogu xyz i czy łączy się z dialektem 1.0 protokołu HTTP. Tutaj użytkownik sam nie otrzymuje pliku po przesłaniu pliku, w rzeczywistości program działa w tle w celu obsługi danych formularza.
Użytkownik musi przekazać dane formularza z nazwą programu do jego wykonania. Aby osiągnąć to wykonanie, informacje o formularzu są dołączane do żądanego adresu URL. Generuje adres URL zawierający setki znaków wraz z rzeczywistymi danymi, na przykład //www.example.com/cgi-x/comments.exe?Name=AI+Alena&Age=23&Gender=female .
Przykład POST
Dane wysyłane przez formularz mogą wyglądać tak: Nazwa = AI + Alena i Wiek = 23 & Płeć = kobieta . Program obsługuje dane poprzez podział danych. Dane formularza mogą być zakodowane w inny sposób przy użyciu atrybutu ENCTYPE w metodzie POST.
Zawartość formularza zwykle nie jest widoczna w adresie URL, a jego główną zaletą jest to, że znaczna ilość danych może być przesłana za pomocą metody POST.
Wniosek
Metoda GET i POST służy do wysyłania danych do serwera, a główną różnicą między nimi jest to, że metoda GET dołącza dane do identyfikatora URI zdefiniowanego w atrybucie działania formularza. Odwrotnie, metoda POST przyłącza dane do żądanego organu. Korzystanie z metody GET jest niewłaściwe, gdy informacje poufne muszą zostać wypełnione w formularzu. Metoda POST jest przydatna, gdy użytkownik wymaga wypełnienia haseł lub innych poufnych informacji.