HTTP is the Internet technology that powers the World Wide Web.
Every time a web page is opened on the internet, HTTP is the protocol (otherwise known as the method) that sends data from the web server to the customer’s web browser.
Originally defined in 1991 HyperText Transfer Protocol – HTTP is a set of standards developed by the Internet Engineering Task Force (IETF) and the World Wide Web Consortium (W3C) and is the most widely adopted application protocols used today.
HTTP provides basic operations to GET information from a web server and PUT or POST information to a web server.
A GET operation, for example, can be used to get an image as part of opening a web page or a POST operation could be used to send the contents of a completed web form back to a server.
HTTP vs HTTPS
HyperText Transfer Protocol Secure or HTTPS is the secure version of HTTP where all communications between the server and the web browser (sometimes called the client) is encrypted.
By default, info exchanged using HTTP is sent as what is known as “clear text”, meaning the exchange of information between the server and a client and can be read by anyone capable of intercepting this data.
In the early days of the web, this was a non issue, however when sensitive information such as financial data started being exchanged over the Internet HTTPs was essential to keeping this data private and secure.
Before any sensitive information is sent the server and the client exchange “keys”, these keys are used to encrypt and decrypt communications. During the key exchange the client decides if it will “trust” the server, this is done by checking against a pre-installed database of key (certificate) issuers. Once the server verified and is trusted, secure communications can commence.
HTTP/2 is the next generation HTTP and is the first major revision of HTTP since 1999. HTTP/2 aims to increase performance by reducing latency, the time to transfer information between a server and client, data compression and through multiplexing multiple requests to the server into a single connection.