The Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative, hypermedia information systems. This is the foundation for data communication for the World Wide Web (i.e. internet) since 1990. HTTP is a generic and stateless protocol which can be used for other purposes as well using extensions of its request methods, error codes, and headers. Show Basically, HTTP is a TCP/IP based communication protocol, that is used to deliver data (HTML files, image files, query results, etc.) on the World Wide Web. The default port is TCP 80, but other ports can be used as well. It provides a standardized way for computers to communicate with each other. HTTP specification specifies how clients' request data will be constructed and sent to the server, and how the servers respond to these requests. Basic FeaturesThere are three basic features that make HTTP a simple but powerful protocol:
HTTP/1.0 uses a new connection for each request/response exchange, where as HTTP/1.1 connection may be used for one or more request/response exchanges. Basic ArchitectureThe following diagram shows a very basic architecture of a web application and depicts where HTTP sits: The HTTP protocol is a request/response protocol based on the client/server based architecture where web browsers, robots and search engines, etc. act like HTTP clients, and the Web server acts as a server. ClientThe HTTP client sends a request to the server in the form of a request method, URI, and protocol version, followed by a MIME-like message containing request modifiers, client information, and possible body content over a TCP/IP connection. ServerThe HTTP server responds with a status line, including the message's protocol version and a success or error code, followed by a MIME-like message containing server information, entity meta information, and possible entity-body content. Since its development in the early 1990s, the World Wide Web has become a central part of most people’s lives, enabling opportunities for work, research, commerce, and social connection, as well as an endless stream of cat videos. By opening up a web browser on an internet-enabled device, you can access a nearly endless universe of information. One of the principles behind the design of the Web is openness—the disclosure and standardization of the rules by which web applications should operate and interact with each other. This openness enables interoperability, allowing web applications from different vendors that adhere to agreed-upon rules in order to work correctly and reliably with one another. The rich media experience supported on the modern internet has evolved from its original text-based concept. Yet the underlying mechanism for retrieving information from a website is still much the same as originally conceived. The key to this communication is called HTTP, a simple protocol that supports the Web. What is HTTP and why do we need it?HTTP stands for Hypertext Transfer Protocol. It’s a formally defined set of rules for communication between a client (the network resource requesting data or services) and a server (the resource that receives and responds to the request). In other words: If the Internet is the infrastructure connecting web clients and servers, HTTP is the “language” they speak to each other over that connection. This is how we make web pages load and YouTube videos play. Standardized computer network protocols ensure that hardware and software produced by different vendors can work together reliably. HTTP does this for web communications. The HTTP protocol specifies the rules for resource requests and responses between web clients and the servers. HTTP is an application layer protocol in the seven-layer OSI networking model, which standardizes the communication functions of telecommunications or computing systems regardless of the underlying internal structure and technology. The definition and ongoing development of this protocol is now the responsibility of an international organization called the Internet Engineering Task Force (IETF). HTTP is most commonly used with a web browser client (such as Chrome, Safari, or Edge) and a web server running on a computer system located somewhere on the Internet. HTTP supports many other web applications and services as well. Important terminologySome of the vocabulary used in this discussion may benefit from a bit more definition and discussion. These terms include:
How does HTTP work?The World Wide Web uses HTTP to communicate between web clients and servers—requests for web pages, updates to web resources, status of requests, and so on. The HTTP protocol defines how the web client and server interact with each other. It specifies in detail the requests a client is allowed to ask of a server, as well as how a server should respond. This encompasses the syntax of the allowable communications—essentially, the permitted grammar rules and semantics of those communications, as well as the intended meaning of requests and responses. This also defines the capabilities available to web clients as they interact with web servers. In the client-server model, the client always initiates requests of a server. In web applications, a web browser is usually the client and a web server is the server. For example, a browser might ask “Send me the web page http://neeva.com/learn.” The server then sends back the appropriate response, perhaps “Here’s the HTML for that web page. Good luck!” or, alternatively, “That page doesn’t exist, sorry.” Requests and responses are addressed to the appropriate resources and are transmitted as HTML documents over TCP/IP. The HTTP protocol defines eight “verbs” by which a web client can request to retrieve, update, or manage content on a web server resource. These eight types of HTTP requests are known as HTTP Request Methods, and these include: For retrieving a resource (typically web content)
For updating a resource
For removing a resource
For debugging messages
For creating a network connection
A user can request a web page by typing an HTTP URL into a browser’s address bar. This causes the browser to formulate a request to the web server for fetching the HTML document at the specified URL. This typically uses the “GET” HTTP Request Method. If the requested document exists, and if the client user has permission to access it, a copy of it is returned to the browser, which is responsible for parsing and properly displaying the document to the user. There may be several complicating factors here:
HTTP vs HTTPSThe internet is not a private communications channel. HTTP requests and responses are transferred in plain text. They can be easily intercepted and read by people or software other than their intended recipients. This might not be a big deal for your cat videos, but when dealing with passwords, credit card numbers, or other sensitive information, bad things can happen. The evolution of ecommerce in particular created an early need for more secure communication online. Another problem with HTTP is “spoofing,” in which a malicious website impersonates the site being addressed and intercepts the communications. HTTP alone cannot guarantee the identity of the remote server, and a client can be fooled into communicating with an imposter without assured authentication of the remote server identity. HTTPS (an acronym for HTTP Secure) is an enhancement to HTTP. It allows for secure authentication of the remote server and the encrypted transfer of HTTP data. HTTPS relies on a digital certificate from a trusted third party (known as the “certificate authority”) to secure the connection and ensure that the site is legitimately who it says it is. It also uses TLS to encrypt the HTTP requests and responses, preventing sneaky scammers from stealing sensitive information. Both HTTP and HTTPS are commonly supported today. A link that you enter or click on may begin with http:// or https://, designating which protocol is to be used. Modern web browsers display a padlock in the address bar next when using a secure HTTPS connection. They omit that graphic when using the less secure HTTP. Is HTTP safe?HTTP is less than 100% safe, and the privacy of our online activity is increasingly a priority for many individuals and businesses. Much of what we do online involves personal, work, financial, and other sensitive data. HTTPS ensures that you connect with the intended web service, and that the communication between your browser and the web service cannot be read by eavesdroppers. Some modern browsers warn a user when they try to access a website using the HTTP protocol, calling it “not secure.” Because of this, more websites are specifically supporting HTTPS, and redirecting HTTP requests to a more secure HTTPS communications channel. Ready to protect your privacy online and use products that benefit you, not scammers and advertisers? Try Neeva, the world’s first private, ad-free search engine. We will never sell or share your data with anyone, especially advertisers, and we are committed to showing you the best results for every search. Try Neeva for yourself, at neeva.com. What is the role of HTTP in the World Wide Web?HTTP is the foundation of data communication for the World Wide Web. HTTP functions as a request-response protocol in the client-server computing model. In HTTP, a web browser, for example, acts as a client, while an application running on a computer hosting a web site functions as a server.
What is HTTP and why is it useful?HTTP is a protocol for fetching resources such as HTML documents. It is the foundation of any data exchange on the Web and it is a client-server protocol, which means requests are initiated by the recipient, usually the Web browser.
|