Difference Between HTTP and HTTPS


HTTP (Hyper-Text Transfer Protocol) is an application level protocol for distributed, collaborative, hypermedia information systems. It’s defined in RFC 2616 (Request for Comments).Basically the main feature of HTTP is the negotiation part of the data transfer. Typical examples of HTTP services are web server communication and Domain Name Service Communication.

In application level end to end data communication one end acts as server and another end acts as client. In order to communicate to the server client should know the IP address and the port number of the server. IP address helps to reach the server and port number only defines what service the client is looking for. (In technical terms it’s defined as socket).

Same here in HTTP; just take web server as example, in this model, the web server is application software running on a hardware server and client is user’s browser. Web server application is listening to port number 80 to accept HTTP connections. So this port 80 is defined as HTTP port.

HTTPS is also similar to HTTP but the ‘S’ stands for Secure. In HTTP the data is transmitted as it is which is called plain text. Anyone can read on its way between server and the client. But in HTTPS no one can read the information between server and the client, which are typically your web browser and the web server.

Additional, implementation of TLS (Transport Layer Security) or SSL (Secure Socket Layer) establishes end to end encrypted tunnel for the data transmission. Encrypted tunnel means, the data communication between server and client is closed and server and client only can read the communication.

In this case, client, which is your web browser in our example, communicates with the web server via port number 443. In most banking  applications, user login information exchange uses HTTPS.

In Summary:

(1) HTTP transmits normal data where as HTTPS transmits closed or encrypted data

(2) HTTP is for normal applications and HTTPS is mostly for banking or secure applications

(3) HTTP uses port 80 where as HTTPS uses port 443

(4) HTTP is defined in RFC 2616 and HTTPS is defined in RFC 2817 (Upgrading to TLS Within HTTP/1.1)