Co to jest http?
Pierwsza to pełna forma HTTP to protokół transferu hipertekstu. HTTP to protokół warstwy aplikacji w modelu ISO lub TCP/IP. Zobacz poniższe zdjęcie, aby dowiedzieć się HTTP, który znajduje się pod warstwą aplikacji.
HTTP jest używany przez World Wide Web (w.w.w) i określa sposób, w jaki wiadomości są sformatowane i przesyłane przez przeglądarkę. Więc HTTP zdefiniuje ponownie, jakie działanie należy podjąć, gdy przeglądarka odbiera polecenie HTTP. A także HTTP definiuje reguły przesyłania polecenia HTTP, aby uzyskać dane z serwera.
Na przykład po wprowadzeniu adresu URL w przeglądarce (Internet Explorer, Chrome, Firefox, Safari itp.) W rzeczywistości wysyła polecenie HTTP na serwer.I odpowiedzi serwera za pomocą polecenia odpowiednio.
Metody HTTP:
Istnieje kilka metod dla HTTP/1.1 (to jest wersja HTTP)
Zdobądź, skieruj się, publikuj, umieść, usuń, połącz, opcję i śledzenie.
Zamiast tego nie będziemy szczegółowo opisać każdej metody.Jak na przykład
DOSTAWAĆ: Uzyskaj żądanie Zapytanie danych z serwera WWW. Jest to główna metoda używana przez dokumenty. Zobaczymy jeden praktyczny przykład tej metody.
POST: Metoda postu jest stosowana, gdy jest wymagana do wysyłania niektórych danych na serwer.
HTTP to przewody:
Spróbujmy czegoś praktycznego, aby zrozumieć, jak działa HTTP ?
Więc w tym przykładzie pobramy „Alice.txt ”(plik danych obecny na serwerze) z „Gaia.Cs.Umass.edu ” serwer.
Zestaw:
Wymiana pakietów HTTP w Wireshark:
Zanim przejdziemy do HTTP, powinniśmy wiedzieć, że HTTP wykorzystuje port 80 i TCP jako protokół warstwy transportowej [wyjaśnimy TCP w innej dyskusji tematu].
Teraz zobaczmy, co dzieje się w sieci, kiedy umieścimy ten adres URL i naciśnij Enter w przeglądarce.
Oto zrzut ekranu dla
TCP 3-dłoniowy uścisk dłoni-> HTTP OK-> Dane TCP [Treść Alice.txt] ->
HTTP-OK
Teraz zobaczmy, co jest w HTTP Get i HTTP OK Packets.
Uwaga: Wyjaśnimy wymianę TCP w innej dyskusji tematycznej.
HTTP Get:
Po 3-drogowym uścisku dłoni [SYN, SYN+ACK i ACK PACKET] jest dokonywane HTTP GET Żądanie jest wysyłane na serwer, a oto ważne pola w pakiecie.
1.Metoda żądania: Get ==> Pakiet to HTTP Get .
2.Żądanie URI: /Wireshark-Labs /Alice.tekst ==> Klient prosi o plik Alice.TXT obecny pod /wireshark-labs
3.Wersja żądania: HTTP/1.1 ==> To wersja HTTP 1.1
4.Zaakceptuj: Text/html, aplikacja/xhtml+xml, image/jxr, */ * ==> Opowiada serwer o typu pliku, który [przeglądarka po stronie klienta] może zaakceptować. Tutaj klient oczekuje Alice.txt, który jest typem tekstu.
5.Akceptuj język: en-us ==> Przyjęty standard języka.
6.Agent użytkownika: Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; RV: 11.0) Podobnie jak gecko ==> Typ przeglądarki bocznej klienta. Nawet jeśli korzystaliśmy z Internet Explorer, ale widzimy to zawsze/maksymalny czas mówi Mozilla
7.Akceptacja: gzip, deflate ==> Zaakceptowane kodowanie po stronie klienta.
8.Gospodarz: Gaia.Cs.Umass.Edu ==> To jest nazwa serwera WWW, w której klient wysyła żądanie HTTP.
9.Połączenie: Keep-Alive ==> Połączenie kontroluje, czy połączenie sieciowe pozostaje otwarte po zakończeniu bieżącej transakcji. Typ połączenia jest utrzymywany przy życiu.
Oto zrzut ekranu dla pól pakietów HTTP
Http ok:
Po danych TCP [zawartość Alice.txt] jest wysyłany pomyślnie HTTP OK jest wysyłany do klienta, a oto ważne pola w pakiecie.
1. Wersja odpowiedzi: HTTP/1.1 ==> Tutaj serwer również w wersji 1 HTTP.1
2.Kod stanu: 200 ==> Kod stanu wysyłany przez serwer.
3.Wyrażenie odpowiedzi: OK ==> Wyrażenie odpowiedzi wysyłane przez serwer.
Tak więc od 2 i 3 otrzymujemy 200 OK, co oznacza, że żądanie [HTTP GET].
4.Data: Sun, 10 lutego 2019 06:24:19 GMT ==> Obecna data, godzina w GMT, kiedy http otrzymał przez serwer.
5.Serwer: Apache/2.4.6 (centos) OpenSSL/1.0.2K-FIPS PHP/5.4.16 mod_perl/2.0.10 perl/v5.16.3 ==> Wersje szczegółów serwera i konfiguracje.
6.Ostatnio zmodyfikowany: Sobota, 21 sierpnia 2004 14:21:11 GMT ==> Ostatnia zmodyfikowana data i godzina pliku „Alice.tekst".
7.ETAG: „2524A-3E22ABA3A03C0” ==> ETAG wskazuje, że treść nie jest zmieniana, aby pomóc buforowanie i poprawić wydajność. Lub jeśli treść się zmieniła, ETAG są przydatne, aby zapobiec jednoczesnym aktualizacjom zasobu od wzajemnego zastąpienia.
8. Akceptuj (bajty ==> Bajt to jednostka używana na serwerze dla treści.
9.Długość treści: 152138 ==> To jest całkowita długość Alice.TXT w bajtach.
10. Utrzymać przy życiu: limit czasu = 5, maks. = 100 ==> Zachowaj parametry przy życiu.
11.Połączenie: Utrzymać przy życiu ==> Kontroluje połączenie, czy połączenie sieciowe pozostaje otwarte po zakończeniu bieżącej transakcji. Typ połączenia jest utrzymywany przy życiu.
12.Typ zawartości: Zwykły tekst; Charset = UTF-8 ==> Treść [Alice.TXT] Typ to tekst, a standard znakowania to UTF-8.
Oto zrzut ekranu dla różnych pól pakietu HTTP OK.
Więc teraz wiemy, co się stanie, gdy żądamy dowolnego pliku obecnego na serwerze WWW.
HTTP to prosty protokół aplikacji, którego używamy każdego dnia w naszym życiu. Ale nie jest bezpieczny, więc HTTPS został wdrożony. Że „s” oznacza bezpieczne. Dlatego tak maksymalna nazwa serwera WWW zaczyna się od HTTPS: // [WebSiteName]. Oznacza to, że cała komunikacja między tobą a serwerem jest szyfrowana. W przyszłości będziemy przeprowadzić osobną dyskusję na temat tego HTTPS.