Hypertext transfer protocol (HTTP) is the core communications protocol used to reach the World Wide Web and nowadays is used by all of the web applications. It is a simple protocol that was originally generated for retrieving static text-based resources. Hypertext is structured text that uses logical links (hyperlinks) between nodes containing text.
HTTP uses a server-client model. A client may be a home computer, laptop, or mobile device. The HTTP server is typically a web host running web server software, such as Apache or IIS. When you access a website, your browser sends a request to the web server, and it responds with an HTTP status code. If the URL is valid and the connection is granted, the server will send your browser the webpage and related files.
It defines methods such as GET and POST, which are used to manage form submissions on websites. Encrypted HTTP connections take place over HTTPS, an extension of HTTP designed for secure data transmissions.
It uses a message-based model in which a client sends a request message and the server returns a response message. The protocol is essentially connectionless: although HTTP uses the stateful TCP protocol as its transport mechanism, each exchange of request and response is an autonomous transaction and may use a different TCP connection.
Normal HTTP request consists of these items:
- A verb indicating the HTTP method.
- The requested URL.
- The HTTP version being used.
- The Referer header is used to indicate the URL from which the request originated
- The User-Agent header is used to provide information about the browser or other client software that generated the request.
- The Host header specifies the hostname that appeared in the full URL being accessed.
- The Cookie header is used to submit additional parameters that the server has issued to the client.