Co je to HTTP?
Nejprve je celá plná forma protokolu HTTP HyperText Transfer Protocol. HTTP je protokol aplikační vrstvy v modelu ISO nebo TCP / IP. Na následujícím obrázku najdete HTTP, které se nachází pod aplikační vrstvou.
HTTP používá World Wide Web (např.w.w) a definuje, jak jsou zprávy formátovány a přenášeny prohlížečem. Takže HTTP definuje pravidla, co by mělo být provedeno, když prohlížeč obdrží příkaz HTTP. A také HTTP definuje pravidla pro přenos příkazu HTTP k získání dat ze serveru.
Když například zadáte adresu URL do prohlížeče (internetový prohlížeč, Chrome, Firefox, Safari atd.), Odešle na server příkaz HTTP.A server odpovídá odpovídajícím příkazem.
Metody HTTP:
Existuje několik sad metod pro HTTP / 1.1 (Toto je verze HTTP)
GET, HEAD, POST, PUT, DELETE, CONNECT, OPTION a TRACE.
Nebudeme se podrobněji věnovat jednotlivým metodám, místo toho se seznámíme s metodami, které jsou vidět docela často.Jako
DOSTAT: Požadavek GET požaduje data z webového serveru. Toto je hlavní metoda použitá k obnovení dokumentu. Uvidíme jeden praktický příklad této metody.
POŠTA: Metoda POST se používá, když je nutné odeslat některá data na server.
HTTP je Wiresahark:
Zkusme něco praktického, abychom pochopili, jak funguje HTTP ?
V tomto příkladu si tedy stáhneme "Alice.".txt ”(datový soubor na serveru) z "Gaia.".cs.umass.edu “ serveru.
Sety:
- Otevřete adresu URL http: // gaia.cs.umass.edu / kabelové laboratoře / Alice.txt [Známe úplnou adresu URL pro stažení Alice.txt] v prohlížeči počítače.
- Nyní vidíme stažený soubor v prohlížeči. Zde je snímek obrazovky
- Souběžně jsme zachytili pakety ve Wiresharku.
Výměny paketů HTTP ve Wiresharku:
Než se pustíme do HTTP, měli bychom vědět, že HTTP používá port 80 a TCP jako protokol transportní vrstvy [TCP si vysvětlíme v jiné diskusi na téma].
Nyní se podívejme, co se stane v síti, když dáme tuto adresu URL a stiskneme klávesu enter v prohlížeči.
Zde je snímek obrazovky pro
TCP 3-way handshake -> HTTP OK -> TCP Data [obsah Alice.txt] ->
HTTP-OK
Nyní se podívejme, co je uvnitř paketů HTTP GET a HTTP OK.
Poznámka: Výměny TCP vysvětlíme v jiné diskusi o tématu.
HTTP ZÍSKAT:
Po TCP 3-way handshake [SYN, SYN + ACK a ACK pakety] je odeslán HTTP GET požadavek na server a zde jsou důležitá pole v paketu.
1.Způsob vyžádání: ZÍSKAT ==> Paket je HTTP GET .
2.Vyžádejte si URI: / kabelové laboratoře / Alice.txt ==> Klient žádá o alice souboru.txt pod laboratořemi Wireshark
3.Vyžádejte si verzi: HTTP / 1.1 ==> Je to HTTP verze 1.1
4.Akceptovat: text / html, aplikace / xhtml + xml, obrázek / jxr, * / * ==> Říká serveru o typu souboru, který [prohlížeč na straně klienta] může přijmout. Zde klient očekává Alici.txt, což je textový typ.
5.Přijmout jazyk: en-US ==> Přijatý jazykový standard.
6.Uživatel-agent: Mozilla / 5.0 (Windows NT 10.0; WOW64; Trojzubec / 7.0; rv: 11.0) jako Gecko ==> Typ prohlížeče na straně klienta. I když jsme použili internetový prohlížeč, ale vidíme to vždy / maximální čas říká Mozilla
7.Přijmout-kódování: gzip, vyfouknout ==> Přijaté kódování na straně klienta.
8.Hostitel: Gaia.cs.umass.edu ==> Toto je název webového serveru, kam klient odesílá požadavek HTTP GET.
9.Spojení: Keep-Alive ==> Připojení určuje, zda síťové připojení zůstane otevřené po dokončení aktuální transakce. Typ připojení je udržovat naživu.
Zde je snímek obrazovky pro pole paketů HTTP-GET
HTTP v pořádku:
Po TCP data [obsah Alice.txt] je úspěšně odeslán HTTP OK je odeslán klientovi a zde jsou důležitá pole v paketu.
1. Verze odpovědi: HTTP / 1.1 ==> Zde server také ve verzi HTTP 1.1
2.Stavový kód: 200 ==> Stavový kód odeslaný serverem.
3.Fráze odpovědi: OK ==> Fráze odpovědi odeslaná serverem.
Takže od 2 a 3 dostaneme 200 OK, což znamená, že požadavek [HTTP GET] byl úspěšný.
4.datum: Ne, 10. února 2019 06:24:19 GMT ==> Aktuální datum, čas v GMT, kdy server přijal HTTP GET.
5.Server: Apache / 2.4.6 (CentOS) OpenSSL / 1.0.2k-fips PHP / 5.4.16 mod_perl / 2.0.10 Perl / v5.16.3 ==> Podrobnosti o serveru a verze konfigurace.
6.Naposledy změněno: So, 21. srpna 2004 14:21:11 GMT ==> Datum a čas poslední úpravy souboru „alice.txt “.
7.ETag: „2524a-3e22aba3a03c0“ ==> Značka ETag označuje, že se obsah nezmění, aby se usnadnilo ukládání do mezipaměti a zlepšil výkon. Nebo pokud se obsah změnil, etagy jsou užitečné, aby se zabránilo přepsání simultánních aktualizací prostředku.
8. Přijměte rozsahy: bytes ==> Byte je jednotka používaná na serveru pro obsah.
9.Délka obsahu: 152138 ==> Toto je celková délka alice.txt v bajtech.
10. Udržet naživu: časový limit = 5, max = 100 ==> Zachovat živé parametry.
11.Spojení: Udržet naživu ==> Připojení určuje, zda zůstane síťové připojení otevřené po dokončení aktuální transakce. Typ připojení je udržovat naživu.
12.Typ obsahu: text / prostý; charset = UTF-8 ==> Obsah [alice.txt] typ je text a standard znakové sady je UTF-8.
Zde je snímek obrazovky pro různá pole paketu HTTP OK.
Takže teď víme, co se stane, když požadujeme jakýkoli soubor, který je přítomen na webovém serveru.
Závěr:
HTTP je jednoduchý aplikační protokol, který používáme každý den v životě. Ale není to bezpečné, takže byl implementován HTTPS. To „S“ znamená bezpečné. Proto začínáte maximální název webového serveru s https: // [název webové stránky]. To znamená, že veškerá komunikace mezi vámi a serverem je šifrována. O tomto HTTPS budeme v budoucnu vést samostatnou diskusi.