Co to jest metoda przesyłania danych. Atrybut i metoda działania
Istnieją dwa pojęcia, które są wspólne dla prawie wszystkich programów — przetwarzanie danych wejściowych i wyprowadzanie wyników. Na tej stronie skupimy się na obsłudze danych wejściowych programów CGI. Po pierwsze, skąd pochodzi dane wejściowe, a po drugie, w jaki sposób dane wejściowe są przekazywane do serwera. Aby pisać efektywne programy CGI, musisz mieć jasne zrozumienie tych rzeczy.
Trochę o HTTP
Serwer akceptuje trzy typy żądań: GET, POST i HEAD. Żądanie programu do serwera WWW wygląda tak:
POBIERZ /index.html HTTP / 1.0
Pierwsza część, w tym przypadku GET, to metoda żądania, druga, index.html, to żądany adres URL, a trzecia, HTTP / 1.0, to protokół używany przez klienta.
Dwie główne metody żądania to GET i POST. Są to te same metody, które są dostępne podczas tworzenia formularza. Metoda HEAD jest rzadko używana przez przeglądarkę, ponieważ żąda tylko nagłówka odpowiedzi, a treść odpowiedzi nie jest w tym przypadku wysyłana. Na przykład, aby sprawdzić, czy strona się zmieniła, przeglądarka może poprosić o nagłówek, ale nie generuje to pełnej wymiany danych.
Metoda GET
Domyślnie żądanie korzysta z metody GET. Metoda POST jest używana tylko wtedy, gdy jest to wyraźnie określone w żądaniu formularza. Dla programisty CGI bardzo ważne jest, aby zrozumieć, że gdy wykonywane jest żądanie GET, dane formularza są wysyłane na serwer wraz z adresem URL. Serwery internetowe obsługujące CGI kopiują te dane do Zmienna środowiskowa o nazwie QUERY_STRING. Następnie program CGI jest odpowiedzialny za pobieranie danych ze zmiennej środowiskowej i ich przetwarzanie.
Adres URL z ciągiem zapytania wygląda tak:
Http://www.nazwa-domena.com/login.pl?nick=maks&psw=parol
Znak? oddziela ciąg zapytania od rzeczywistego adresu URL zasobu; nick i psw są zmiennymi przekazywanymi do serwera, maks i parol są odpowiednio ich wartościami.
Metoda POST
Metoda POST jest używana, gdy jest wyraźnie określona w atrybucie METHOD formularza. W przeciwieństwie do metody GET, POST nie umieszcza danych w adresie URL, ale w treści żądania. Żądanie POST jest bardzo podobne do odpowiedzi HTTP. Pierwsza linia to standardowe żądanie HTTP, które określa metodę POST. Może zawierać niezbędne dodatkowe nagłówki, oddzielone od treści żądania pustą linią.
Podczas korzystania z metody POST treść żądania jest przekazywana do programu jako standardowe wejście.
Wybór między GET i POST
Oczywiste jest, że podczas opracowywania formularzy programista CGI stanie przed pytaniem, której z tych metod użyć. W większości przypadków obie metody będą działać i obie będą działać dobrze. Zdarzają się jednak sytuacje, w których zastosowanie takiej czy innej metody daje pewne korzyści.
Przyjrzyjmy się kilku sytuacjom, w których warto preferować metodę GET lub POST.
- Jeśli chcesz, aby Twój program był wywoływany przez odwołanie, preferowana powinna być metoda GET.
- Jeśli nie chcesz, aby argumenty przekazywane do twojego programu były zapisywane w pliku dziennika serwera, użyj metody POST. Na przykład, jeśli formularz wymaga nazwy użytkownika i hasła, prawdopodobnie nie chcesz, aby nazwy i hasła były zapisywane w pliku raportu. Ponadto nie jest rozsądne przekazywanie hasła jako części adresu URL.
- Jeśli Twój formularz ma znaczne wymiary, na przykład zawiera pola tekstowe z notatkami i komentarzami, powinieneś użyć metody POST. Ogólnie rzecz biorąc, w tym przypadku możesz użyć metody GET, ale wtedy możesz napotkać ograniczenia rozmiaru adresu URL, które są różne dla różnych system operacyjny i przeglądarki (ograniczone wielkością zmiennych środowiskowych). Łatwiej jest skorzystać z metody POST.
- Jeśli formularz zawiera pole pliku, użyj metody POST. Dodatkowo w tym przypadku należy ustawić wartość atrybutu ENCTYPE na multipart / form-data.
POBIERZ metody i POST do HTTP i HTTPS to dwie najpopularniejsze metody używane do przesyłania danych od klienta do serwera za pomocą protokołu HTTP (Hypertext Transfer Protocol). Zarówno GET, jak i POST mogą być używane do wysyłania żądania i odbierania odpowiedzi, ale istnieje między nimi znacząca różnica.
Różnica między żądaniami GET i POST w HTTP lub HTTPS jest popularnym pytaniem w każdej rozmowie z programistami internetowymi. Ponieważ HTML jest niezależny od technologii serwera WWW, takiej jak Java, ASP czy PHP, a HTTP jest głównym protokołem w przestrzeni internetowej, nie można wyraźnie zignorować znaczenia zrozumienia metod GET i POST. W tym artykule przyjrzymy się, czym jest metoda HTTP GET, czym jest metoda HTTP POST, kiedy należy użyć konkretnego żądania i jaka jest między nimi różnica. Przeanalizujmy każdą koncepcję osobno.
Co to jest HTML?
HTML to język używany do tworzenia stron internetowych. Hipertekst odnosi się do hiperłączy, które może zawierać strona HTML. Język znaczników odnosi się do sposobu, w jaki znaczniki są używane do definiowania układu strony i elementów na stronie.
Poniżej znajduje się Przykład HTML który służy do zdefiniowania podstawowej strony internetowej z nagłówkiem i jednym akapitem tekstu:
<Голова>
<Название>TechTerms.com название>
HEAD>
<Тело>
To jest przykład akapitu w HTML. p>
Body>
Html>
Pierwsza linia określa rodzaj treści zawartej w dokumencie.,
oraz które są zawarte w powyższym przykładzie. Tytuł strony, metadane i linki do pliku kotwicy są umieszczane między Rzeczywista zawartość strony znajduje się między tagami .
W ciągu ostatnich kilkudziesięciu lat sieć przeszła wiele zmian, ale HTML zawsze był głównym językiem używanym do tworzenia stron internetowych. Co ciekawe, podczas gdy strony internetowe stały się bardziej zaawansowane i interaktywne, HTML stał się prostszy. Jeśli porównasz źródło strony HTML5 z podobną stroną napisaną w HTML 4.01 lub XHTML 1.0, na stronie HTML5 będzie mniej kodu. Dzieje się tak, ponieważ współczesny HTML wykorzystuje kaskadowe arkusze stylów lub JavaScript do formatowania prawie wszystkich elementów na stronie.
Wiele dynamicznych witryn internetowych generuje strony internetowe w locie przy użyciu języka skryptowego po stronie serwera, takiego jak PHP lub ASP. Jednak nawet strony dynamiczne muszą być sformatowane za pomocą HTML. Dlatego języki skryptowe często generują kod HTML, który jest wysyłany do przeglądarki internetowej.
![](https://i1.wp.com/fb.ru/misc/i/gallery/45074/2211810.jpg)
Hypertext Transfer Protocol (HTTP) jest przeznaczony do komunikacji między klientami a serwerami i działa jak protokół żądanie-odpowiedź.
Klientem może być przeglądarka internetowa, a serwerem aplikacja na komputerze hostującym serwis.
Klient (przeglądarka) wysyła do serwera żądanie HTTP, serwer zwraca odpowiedź, która zawiera informacje o statusie żądania, a także może zawierać żądaną treść.
Dwie metody żądania GET i POST
Dwie powszechnie używane metody odpowiedzi na żądanie między klientem a serwerem:
GET - żąda danych z określonego zasobu;
POST — wysyła dane do przetworzenia do określonego zasobu.
Tłumaczenie GET i POST dosłownie oznacza pobieranie i przetwarzanie końcowe.
Więcej o HTTP
HTTP to protokół używany do przesyłania danych przez Internet. Jest częścią pakietu protokołu internetowego i definiuje polecenia i usługi używane do przesyłania danych na stronę internetową.
HTTP używa modelu serwer-klient. Klientem może być komputer domowy, laptop lub urządzenie przenośne... Serwer HTTP jest zwykle hostem internetowym z oprogramowanie serwer WWW, taki jak Apache lub IIS. Gdy użytkownik uzyskuje dostęp do strony internetowej, przeglądarka wysyła żądanie do odpowiedniego serwera WWW i odpowiada kodem stanu HTTP. Jeśli adres URL jest prawidłowy, a połączenie jest zapewnione, serwer wyśle stronę internetową i powiązane pliki do przeglądarki.
![](https://i1.wp.com/fb.ru/misc/i/gallery/45074/2211800.jpg)
Typowe kody stanu HTTP obejmują:
200 - udane żądanie (strona istnieje);
301 - porusza się stale (często przekierowuje do nowego adresu URL);
401 - nieautoryzowane żądanie (wymagana autoryzacja);
500 — Błąd wewnętrzny serwer (często nazywany błędna konfiguracja serwer).
POST i GET w HTTP
HTTP definiuje polecenia GET i POST, które są używane do przetwarzania formularzy przesyłanych na stronach internetowych. Polecenie CONNECT służy do ułatwienia bezpiecznego połączenia szyfrowanego przy użyciu protokołu SSL. Szyfrowane połączenia HTTP odbywają się przez HTTPS, rozszerzenie HTTP zaprojektowane do bezpiecznego przesyłania danych.
Adresy URL rozpoczynające się od „http: //” są dostępne za pośrednictwem standardowych protokołów przesyłania hipertekstu i domyślnie korzystają z portu 80. Adresy URL rozpoczynające się od „https: //” są dostępne za pośrednictwem bezpiecznego Połączenie HTTPS i często używa portu 443.
![](https://i0.wp.com/fb.ru/misc/i/gallery/45074/2211797.jpg)
POCZTA
POST to seria kontrole systemu wykonywane przez komputery i inne urządzenia elektroniczne, gdy są włączone. Wyniki testu mogą być wyświetlane na ekranie, wyświetlane za pomocą migających diod LED lub po prostu zapisywane wewnętrznie. V systemy komputerowe operacja POST jest wykonywana na początku sekwencji rozruchowej. Jeśli wszystkie testy zakończą się pomyślnie, reszta procesu uruchamiania będzie kontynuowana automatycznie.
Systemy operacyjne Mac i Windows uruchamiają test POST przy każdym uruchomieniu lub ponownym uruchomieniu komputera. Kontrole skanowania Sprzęt komputerowy i zapewnia prawidłowe działanie procesora, pamięci RAM i urządzeń pamięci masowej. Jeśli podczas testu POST wystąpi błąd, proces uruchamiania może zostać całkowicie wstrzymany lub zatrzymany, a monitor może wyświetlić komunikat, że na ekranie informacyjnym systemu BIOS są często wyświetlane błędy testu POST. Mogą być wyprowadzane jako kody kryptograficzne, takie jak „08” lub jako komunikat systemowy, taki jak „Błąd pamięci systemowej przy przesunięciu”. Na Macu błędy POST są często oznaczane prostą grafiką, taką jak ikona uszkodzonego folderu, która wskazuje, że nie znaleziono urządzenia rozruchowego.
manifestacje fizyczne
W niektórych przypadkach ekran komputera może się nawet nie włączyć przed błędami POST. W takim przypadku kody błędów mogą być wyświetlane za pomocą migających diod LED lub sygnały dźwiękowe... Na przykład, Apple iMac odtworzy trzy kolejne tony, zatrzyma się na pięć sekund, a następnie powtórzy tony, gdy podczas uruchamiania zostanie wykryta uszkodzona pamięć RAM. Większość komputerów wydaje również sygnał dźwiękowy, gdy wykryte zostaną błędy testu POST, chociaż każdy producent używa własnych kodów.
![](https://i1.wp.com/fb.ru/misc/i/gallery/45074/2211796.jpg)
POST to dość techniczny termin używany tylko przez technicy komputerowi regularnie. Jest to jednak dobry akronim, ponieważ pomaga lepiej zrozumieć komunikaty o błędach, które mogą pojawiać się na komputerach lub innych urządzenia elektryczne... Jeśli komputer nie uruchamia się z powodu błędu POST, możesz użyć innego urządzenia, aby znaleźć znaczenie i przyczynę błędu na stronie producenta. Następnie możesz podjąć odpowiednią akcję - wyjąć moduł pamięci lub ponownie zainstalować kartę graficzną, a następnie ponownie uruchomić sprzęt.
DOSTWAĆ
POST to także metoda przekazywania zmiennych formularze HTML z jednej strony internetowej na drugą bez wyświetlania ich na pasku adresu. Alternatywną metodą jest GET, która dodaje wartości do adresu URL. Żądania HTTP POST dostarczają dodatkowe dane od klienta (przeglądarki) do serwera w treści wiadomości. Natomiast żądania GET zawierają wszystkie wymagane dane w adresie URL. Formularze w HTML mogą używać dowolnej metody, określając element method = POST lub method = GET (domyślnie)
Jeżeli użytkownik wpisze dowolny tekst w polu tekstowym i kliknie przycisk „Prześlij”, to na serwer zostanie wysłana zmienna tekstowa z wartością treści wprowadzonej przez użytkownika.
Żądania POST i GET w prostych słowach
Ta zmienna zostanie wysłana metodą POST.
Jeśli piszesz w takiej formie: