<<<返回

HTTP协议
World Wide Web真正是怎样工作的？当你在浏览器的地址拦中敲入正确的网页地址，如果顺利的话，网页就显示出来。这一切在后台是怎样发生的呢？ 当你的浏览器在从一个网站接受到HTML文件，那么就会使用Hypertext Transfer Protocol(HTTP).(超文本链接传输协议)。这个协议限定了哪些信息可以在网络之间传送。通常，这种协议限定了浏览器和网站之间交互的方式。 注：目前大部分浏览器以及网站支持HTTP1.0协议，不过，Interenet Information Server也支持HTTP1.1协议，HTTP1.1比HTTP1.0快很多，因为它支持持续连接以及管线连通。如果想要了解更多，请参看Http://w3.org
当你从一个网站上接受到主页后，你的浏览器就建立了一个到网站的连接并发出一个请求，网站接受请求后发出一个响应，因此，HTTP协议也叫做请求响应协议。
所有的从浏览器到网站间的通讯都是分开的请求和响应对，浏览器总是通过发送请求初始化这种通讯过程，因此网站十分被动的由这些请求触发来作出响应。
浏览器请求为这种结构：一个请求信息包括请求行、头域，以及或者的信息体。最普遍的一个简单的主页请求信息如下例：
GET /index.htm HTTP/1.1
Host: www.magicw3.com
这个请求信息是从www.magicw3.com站点上请求index.htm文件。第一行中，限定了请求的方式、资源名称以及所使用的HTTP协议版本。
在这个例子中，请求的方式是GET。GET方式是接受一个特定的资源，在这里，GET用来接受Index.htm文件。其他的请求方式包括POST, HEADER, OPTIONS, DELETE, TRACE, 以及PUT。通常只是使用GET 和POST, 其中POST方式主要用来接受HTML的FORM中的内容。
例子的第二行是header，主要是限定了资源的网络地址，在这里这个地址是：www.magicw3.com
特别的，一个请求也会包含多个header，Headers提供了一些针对于请求的附加信息或者请求的起源，有些Headers是标准的，但是也有浏览器限定的，本章最后部分专门讨论这种问题。
一个请求也可能包括信息体，例如，你使用POST方式来传输FORM中的内容时，当你点击submit按钮并且使用的是action=post，那么你在form中添入的内容就会通过请求的信息体发送到网站上。
网站在接受到请求后就会发送一个响应，响应结构为，每个响应都有一个状态行，包括headers的数量以及可选择的、也许还有个信息体。
你也许已经很熟悉这个状态行了。如果你输入错了一个网络地址，你的浏览器上会显示HTTP/1.0 404Object Not Found，这就是那个状态行，状态行包括所用协议，状态代码，以及文本信息（问题原因等），例如：网站接受的请求如果有问题，那么它响应的状态行中就返回一个错误信息以及原因，如果成功接受请求，则返回200 ok.
注：状态行和浏览器底下的状态条绝对是两码事，一般情况下，你是看不到状态行的，通常浏览器接受到错误信息后会在浏览器主窗口中显示出状态行内容。
Response headers包含了响应的内容信息或者是有关服务端作出响应的信息。这些headers有些是标准的，有些则是由网站而定。下一个部分“利用headers工作”有更加详细的介绍。
最后，信息体就是响应的主页内容，例如，请求index.htm，那么index.htm的内容就在信息体内，当然，有时候信息体的内容也可能是文本文件。word文件等等。