P 协议在运行浏览器的计算机和运行的服务器的程序间传输数据。很多服务器应用程序使用 HTTP 之外的其他协议。他们在计算机之间维护一个持久性的连接。应用服务器可以清楚的知道是谁连接上来,而且何时中断连接。因为它们知道每一个连接的状态,以及每一个使用它的人。这称之为状态协议。相反, HTTP 是一个无状态协议。 HTTP Server 可以接受来自于各种客户的各种请求,并提供各种响应,即使是这个响应仅仅是说 No 。没有大量的协商和连接持久性,无状态协议可以处理大量的请求。这也是 可以扩展到很多计算机的原因。 HTTP 成为通用标准的原因是其简单性。HTTP 请求看起来就像一个平常的文本文档。这使应用程序很容易创建 HTTP 请求。你甚至可以通过标准的程序如 来手动传递一个 HTTP 请求。当 HTTP 响应返回时,它也是一个开发者可以直接阅读的平面文本。 HTTP 请求的第一行包含方法,其后是请求的来源地址和HTTP 版本。HTTP 请求头跟在首行后面,可以没有也可以有多个。HTTP 头向服务器提供额外的信息。可以包括浏览器的种类和版本,可接受的文档类型,浏览器的 cookies 等等。 7种请求方法中, GET 和POST 是用得最多的。一旦服务器接收到请求,它就要产生一个 HTTP 响应。响应的第一行称为状态行,包含了 HTTP 协议的版本,数字型状态,以及状态的简短描述。状态行后, 服务器将返回一个 HTTP 响应头,类似于 HTTP 请求头。如上所述, HTTP 并不在请求间保持状态信息。服务器接受请求,发出响应,并且继续愉快地处理文本请求。因为简单和效率,无状态协议不适合于需要跟踪用户状态的动态应用。 Cookies 和URL 重写是两个在请求间跟踪用户状态的方式。 cookie 是一种特殊的信息包,存储于用户的计算机中。URL 重写是在页面地址中存储一个特殊的标