1. Το TCP/IP είναι μια ομάδα πρωτοκόλλου που μπορεί να χωριστεί σε τρία επίπεδα: επίπεδο δικτύου, επίπεδο μεταφοράς και επίπεδο εφαρμογής.
Στο επίπεδο δικτύου, υπάρχουν πρωτόκολλο IP, πρωτόκολλο ICMP, πρωτόκολλο ARP, πρωτόκολλο RARP και πρωτόκολλο BOOTP.
Υπάρχουν πρωτόκολλο TCP και πρωτόκολλο UDP στο επίπεδο μεταφοράς.
Στο επίπεδο εφαρμογής, υπάρχουν πρωτόκολλα όπως FTP, HTTP, TELNET, SMTP και DNS.
Επομένως, το ίδιο το HTTP είναι ένα πρωτόκολλο, ένα πρωτόκολλο μετάδοσης για τη μετάδοση υπερκειμένου από έναν διακομιστή web σε ένα τοπικό πρόγραμμα περιήγησης.
2. Το πρωτόκολλο HTTP βασίζεται στο μοντέλο αίτησης/απόκρισης. Αρχικά, ο πελάτης δημιουργεί μια σύνδεση TCP με τον διακομιστή και στέλνει ένα αίτημα στον διακομιστή, το οποίο περιλαμβάνει τη μέθοδο αιτήματος, το URI, την έκδοση πρωτοκόλλου και σχετικά μηνύματα στυλ MIME. Ο διακομιστής απαντά με μια γραμμή κατάστασης που περιέχει την έκδοση πρωτοκόλλου του μηνύματος, έναν κωδικό επιτυχίας και αποτυχίας και το σχετικό στυλ MIME του μηνύματος.
Το HTTP/1.0 δημιουργεί μια νέα σύνδεση TCP για κάθε αίτημα/απόκριση HTTP, επομένως μια σελίδα που περιέχει περιεχόμενο HTML και εικόνες θα πρέπει να δημιουργήσει πολλές βραχυπρόθεσμες συνδέσεις TCP. Η δημιουργία μιας σύνδεσης TCP θα απαιτήσει 3 χειραψίες.
Επιπλέον, για να αποκτήσει την κατάλληλη ταχύτητα μετάδοσης, το TCP πρέπει να δαπανήσει επιπλέον χρόνο σύνδεσης μετ' επιστροφής (RTT). Η δημιουργία κάθε συνδέσμου απαιτεί αυτού του είδους τακτικά γενικά έξοδα και δεν φέρει πραγματικά χρήσιμα δεδομένα, αλλά διασφαλίζει μόνο την αξιοπιστία του συνδέσμου. Επομένως, το HTTP/1.1 προτείνει μια μέθοδο υλοποίησης βιώσιμης σύνδεσης. Το HTTP/1.1 θα δημιουργήσει μια σύνδεση TCP μόνο μία φορά και θα τη χρησιμοποιήσει επανειλημμένα για τη μετάδοση μιας σειράς μηνυμάτων αιτήματος/απόκρισης, μειώνοντας έτσι τον αριθμό των εγκαταστάσεων σύνδεσης και τα γενικά έξοδα σύνδεσης.

3. Συμπέρασμα: Αν και το ίδιο το HTTP είναι ένα πρωτόκολλο, τελικά βασίζεται στο TCP. Ωστόσο, επί του παρόντος, μερικοί άνθρωποι μελετούν το πρωτόκολλο HTTP με βάση το μείγμα TCP+UDP.
Τι είναι το Socket;
Το Socket είναι ένα ενδιάμεσο επίπεδο αφαίρεσης λογισμικού για επικοινωνία μεταξύ του επιπέδου εφαρμογής και της οικογένειας πρωτοκόλλων TCP/IP και είναι ένα σύνολο διεπαφών. Στη λειτουργία σχεδίασης, το Socket είναι στην πραγματικότητα μια λειτουργία πρόσοψης, η οποία κρύβει τη σύνθετη οικογένεια πρωτοκόλλων TCP/IP πίσω από τη διεπαφή Socket. Για τους χρήστες, ένα σύνολο απλών διεπαφών είναι το μόνο και το Socket οργανώνει δεδομένα ώστε να πληρούν το καθορισμένο πρωτόκολλο.





