The abbreviation HTTP stands for Hypertext Transfer Protocol. This is a network communications protocol used for transferring web pages and files on the internet. Originally created as a tool for publishing HTML-based web pages this protocol has eventually lead to the creation of the World Wide Web (WWW). The development of the protocol is a result of the coordinated work between the World Wide Web Consortium (W3C)and the Internet Engineering Task Force. The final result is the newest and the most used standard since 1999 – HTTP/1.1. Today all web sites in the world are using the HTTP protocol to deliver their content to the website visitors. There are 2 types of HTTP connection – unencrypted HTTP, which is the default one and encrypted – HTTPS.
What is HTTPS?
HTTPS is a secured HTTP Protocol widely used for the encryption of the communication between the web server and the client. Technically it is the standard HTTP protocol but on the top of the SSL/TLS protocol which encrypts the connection. In order to have an encrypted connection established between the client and the server, an SSL certificate is mandatory to be installed on the server. The main difference between HTTP and HTTPS is that a URL with encrypted connection will begin with https:// instead of the regular http://. Also, the HTTP Protocol uses port 80 by default while HTTPS uses port 443. The unencrypted HTTP is faster than HTTPS which can be noticed only when some larger data is being transferred so the slower speed, caused by the need to encrypt everything, is not obvious when it comes to the encryption of web pages with regular size.
How does the HTTP Protocol Work?
In order to be established a communication, there are two mandatory requirements – there must be a client – usually, these are the web browsers and applications, not the physical hosts in the network; and server – these are the web servers and they must be located using a Uniform Resource Locator (URL) address. When a user wants to visit a web page the browser sends a GET type of query to the webserver. This HTTP protocol query defines from which host (usually a common name with the client’s internet service provider), which user-agent (contains information about the web browser) and referrer (the source of origin – search engine, another site or directly typed in the browser) that request originates. When the server receives all the information above it sends the requested resource with these attributes: status code – indicating whether the query was or was not completed successfully; date – the server’s date and time; expires – indicating how long this version of the web page will be valid and can be cached on the user’s hard drive so it can load faster if the user returns to this page; server – the server’s application (like Apache) and the version of it; content-type – the type of the web content, or most pages it is text/html with UTF-8 encoding mode. The source code of any web page accessed through HTTP protocol is a plain HTML which is interpreted by the web browser and visualizes its text, forms, tables, etc.