1. TCP/IP to grupa protokołów, którą można podzielić na trzy warstwy: warstwę sieciową, warstwę transportową i warstwę aplikacji.
W warstwie sieciowej znajdują się protokoły IP, protokoły ICMP, protokoły ARP, protokoły RARP i protokoły BOOTP.
W warstwie transportowej znajdują się protokoły TCP i UDP.
W warstwie aplikacji istnieją protokoły takie jak FTP, HTTP, TELNET, SMTP i DNS.
Dlatego sam HTTP jest protokołem, protokołem transmisji służącym do przesyłania hipertekstu z serwera WWW do lokalnej przeglądarki.
2. Protokół HTTP opiera się na modelu żądanie/odpowiedź. Najpierw klient ustanawia połączenie TCP z serwerem i wysyła do serwera żądanie, które zawiera metodę żądania, identyfikator URI, wersję protokołu i powiązane komunikaty w stylu MIME. Serwer odpowiada linią stanu zawierającą wersję protokołu wiadomości, kod powodzenia i niepowodzenia oraz powiązany styl MIME wiadomości.
HTTP/1.0 ustanawia nowe połączenie TCP dla każdego żądania/odpowiedzi HTTP, więc strona zawierająca treść HTML i obrazy będzie musiała ustanowić wiele krótkoterminowych połączeń TCP. Nawiązanie połączenia TCP będzie wymagało 3 uścisków dłoni.
Ponadto, aby uzyskać odpowiednią prędkość transmisji, protokół TCP musi poświęcić dodatkowy czas połączenia w obie strony (RTT). Utworzenie każdego łącza wymaga tego rodzaju regularnego narzutu i nie przenosi faktycznie przydatnych danych, a jedynie zapewnia niezawodność łącza. Dlatego HTTP/1.1 proponuje zrównoważoną metodę implementacji łącza. HTTP/1.1 ustanowi połączenie TCP tylko raz i użyje go wielokrotnie do przesłania serii komunikatów żądania/odpowiedzi, zmniejszając w ten sposób liczbę nawiązań połączeń i obciążenie związane z regularnym połączeniem.

3. Wniosek: Chociaż HTTP sam w sobie jest protokołem, ostatecznie opiera się na protokole TCP. Jednak obecnie niektórzy studiują protokół HTTP oparty na mieszaninie TCP+UDP.
Co to jest gniazdo?
Socket to pośrednia warstwa abstrakcji oprogramowania służąca do komunikacji pomiędzy warstwą aplikacji a rodziną protokołów TCP/IP i stanowi zbiór interfejsów. W trybie projektowania Socket jest w rzeczywistości trybem fasadowym, który ukrywa złożoną rodzinę protokołów TCP/IP za interfejsem Socket. Dla użytkowników wystarczy zestaw prostych interfejsów, a Socket organizuje dane zgodnie z określonym protokołem.





