What does HTTP mean?

Source: Internet
Author: User

The Hyper-File Transfer Protocol (Http,hypertext Transfer Protocol) is one of the most widely used network transport protocols on the Internet. All WWW documents must comply with this standard. The original purpose of designing HTTP is to provide a way to publish and receive HTML pages. The current application is mainly in addition to HTML pages are also used to transmit hypertext data such as: Pictures, audio files (MP3, etc.), video files (rm, AVI, etc.), compressed packets (zip, RAR, etc.) ... Basically, as long as the file data can be transmitted using HTTP.

The web's application layer protocol HTTP is the core of the Web. HTTP is implemented in Web client programs and server programs. Client programs and server programs that run on different end systems communicate with each other by exchanging HTTP messages. HTTP defines the structure of these messages and how customers and servers exchange these messages. Before we explain HTTP in detail, let's review some of the terminology in the Web.

Web pages (Web page, also known as documents) are made up of multiple objects. Objects (object) are only files that can be addressed by a single URL, such as HTML files, JPG images, GIF images, Java applets, voice fragments, and so on. Most Web pages consist of a single basic HIML file and several referenced objects. For example, if a Web page contains HTML text and 5 JPEG images, it consists of 6 objects, that is, the base h1ml file plus 5 images. The base HTML file uses the appropriate URL to refer to other objects on this page. Each URL consists of both the server host name that holds the object and the path name of the object. For example, in the following URL:

Www.ddvip.com/skin/new/logo.gif

Www.ddvip.com is a path name. The browser is a Web user agent that displays the requested Web page and provides a wide range of navigation and configuration features. Web browsers also implement HTTP clients, so in the context of the web, we use the word "browser" and "customer" interchangeably in the process sense. Popular web browsers include Netscape Communicator,firefox and Microsoft's ie. The Web server holds Web objects that can be addressed by URLs. The Web server also implements the server side of HTTP. The popular web servers are Apache, Microsoft IIS, and Netscape Enterprise server. Netcraft provides a summary profiling of Web servers [NETCRFT 2000].

HTTP defines how a Web customer (that is, a browser) requests a Web page from a Web server, and how the server sends a Web page to the customer. The following illustration shows this request-response behavior. When a user requests a Web page (for example, by clicking a hyperlink), the browser sends an HTTP request message to the server requesting each object in the page. After the server receives the request, it responds with an HTTP response message containing the objects. By the end of 1997, virtually all browsers and Web server software had implemented the HTTP/1.0 version defined in RFC 1945. In early 1998, some Web server software and browser software began to implement the http/1.1 version as defined in RFC 2616. h1tp/1.1 is compatible with http/1.0, a Web server running version 1.1 can "talk" to a browser running version 1.0, and a 1.1-version browser can also "talk" to a Web server running the 1.0 version.

http/1.0 and http/1.1 both use TCP as the underlying transport protocol. The HTTP customer first initiates the establishment of a TCP connection to the server. Once a connection is established, the browser process and the server process can access TCP through their own sockets. As mentioned earlier, the client socket is the "door" between the client process and the TCP connection, and the server-side socket is the "door" between the server process and the same TCP connection. The customer sends HTTP request messages to their sockets and receives HTTP response messages from their sockets. Similarly, the server receives HTTP request messages from its sockets and sends HTTP response messages to its sockets. Once a client or server sends a message into its own socket, the message is completely in the control of TCP. TCP provides a reliable data transfer service for HTTP, which means that each HTTP request message sent by the customer will eventually reach the server without compromising, and that each HTTP response message sent by the server will eventually reach the customer without compromising. We can see one obvious advantage of a layered network architecture--http don't have to worry about losing data or how TCP can recover from the loss and error of data. These are the tasks of the lower protocol layer in TCP and protocol stacks.

TCP also uses a congestion control mechanism. This mechanism forces each new TCP connection to transmit data at a relatively slow rate at the start, but as long as the network is not congested, each connection can quickly rise to a relatively high rate. The initial phase of this slow transmission is called slow start (slow start).

It should be noted that the server does not store any state information about the client while sending the requested file to the customer. Even if a customer requests the same object again within a few seconds, the server does not respond by saying that it has just sent the object to it. Instead, the server resend the object because it has completely forgotten what it did earlier. Since the HTTP server does not maintain customer state information, we say HTTP is a stateless protocol (stateless protocol).



Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.