Wednesday 17 April 2019


Hypertext Transfer Protocol (HTTP)

HTTP, FTP, SMTP, Web Hosting, Hosting Reviews, Hosting Guides

The Hypertext Transfer Protocol (HTTP) is an application-level protocol that uses TCP as an underlying transport and typically runs on port 80. HTTP is a stateless protocol i.e. server maintains no information about past client requests.

File Transfer Protocol (FTP)

File Transfer Protocol(FTP) is an application layer protocol which moves files between local and remote file systems. It runs on the top of TCP, like HTTP. To transfer a file, 2 TCP connections are used by FTP in parallel: control connection and data connection.

Simple Mail Transfer Protocol (SMTP)

Email is emerging as the one of the most valuable service in internet today. Most of the internet systems use SMTP as a method to transfer mail from one user to another. SMTP is a push protocol and is used to send the mail whereas POP (post office protocol) or IMAP (internet message access protocol) are used to retrieve those mails at the receiver’s side.

HTTP stands for Hyper Text Transfer Protocol, FTP for File Transfer Protocol, while SMTP stands for Simple Mail Transfer Protocol. All the three are used to transfer information over a computer network, and are an integral part of today’s internet.

Why do we need three Protocols for transferring files?

We need the three protocols as they all serve different purposes. These are HTTP, FTP, and SMTP.

1. HTTP is the backbone of World Wide Web (WWW). It defines the format of messages through which Web Browsers (like Firefox, Chrome) and Web Servers communicate, whilst also defining how a web browser should respond to a particular web browser request.

2. FTP is the underlying protocol that is used to, as the name suggests, transfer files over a communication network. It establishes two TCP connections, “Control connection” to authenticate the user, and data connection to transfer the files.

3. SMTP is what is used by Email servers all over the globe to communicate with each other, so that the assignment you submitted at 11:59 pm reaches your professor’s inbox within the deadline.

How do their implementations differ?

All the three are Application Layer Protocols, using TCP as the underlying Transport layer protocol. But the way they use it, and are implemented in general, is vastly different. The below table briefly differentiates between them.

Port number 80  20 and 21  25 
Type of band transfer In-band  Out-of-band  In-band 
State Stateless  Maintains state  -  
Number of TCP connections 2 (Data Connection and Control Connection) 
Type of TCP connection Can use both Persistent and Non-persistent  Persistent for
Control connection.
Non-persistent for
Data Connection 
Type of Protocol Pull Protocol (Mainly)  Push Protocol (Primarily) 
Type of Transfer Transfer files between Web server and Web client  Transfer directly between computers  Transfers mails via Mail Servers 

◈ HTTP is stateless. A Stateless protocol implies that the HTTP Web Server does not maintains which request had originated from which user. Hence, to give a customized service to the user, HTTP uses Cookies.

◈ FTP is Out-of-band, as it uses a separate channel to send data (Data connection), as to send control information (Control connection).

◈ As SMTP is much older that HTTP, it restricts all its messages to be in 7-bit ASCII format. Whereas HTTP has no such restriction.

◈ HTTP encapsulates each file in a different HTTP message. Whereas, SMTP places all the contents of a mail in a single message.


Post a Comment


Popular Posts

Blog Archive

Total Pageviews