本文共 1204 字,大约阅读时间需要 4 分钟。
HTTP协议和TCP/IP协议族内的众多的协议相同,用于客户端和服务器之间的通信。
应用HTTP协议是,在一段的通信线上一定是有一端是客户端,另一端是服务器端。
请求必定由客户端发出(从客户端开始建立通信),而服务器端回应响应。
下面则是从客户端发送给某个HTTP服务器端的请求报文中的内容
起始行开头的GET表示请求访问服务器的类型,称为方法。随后的字符串/index.htm指明了请求访问的资源对象,也叫做请求URI。最后的HTTP/1.1,即HTTP的版本号,用来提示HTTP客户端的协议功能。(请求访问某台HTTP服务器上的/index.htm页面资源)
请求报文是由请求方法、请求URI、协议版本、可选的请求首部字段和内容实体构成的。
响应报文的构成:
响应报文基本由协议版本、状态码(表示请求成功或失败的数字代码)、用以解释状态码的原因短语、可选的相应首部字段以及实体主体构成。
HTTP/1.1虽然是无状态协议,但为了实现期望的波爱吃状态功能,引入了Cookie技术。有了Cookie再用HTTP协议通信,就可以管理状态了。
GET:获取资源
如果是文本,保持原样返回;如果是像CGI(通用网关接口)那样的程序,则返回经过执行后的结果。
POST:传输实体主体
PUT:传输文件
PUT用于传输文件,就像FTP协议的文件上传功能一样,要求在请求报文的主体中包含文件内容,然后保存到请求URI指定的位置。
HEAD:获得报文首部
HEAD方法和GET方法一样,只是不返回报文主题内容,用于确认URI的有效性及资源更新的日期时间等。
DELETE:删除文件
DELETE用来删除文件,是与PUT相反的方法。DELETE方法按URI删除指定的资源。
OPTIONS:询问支持的方法
TRACE:追踪路径
让Web服务器将之前的请求通信还回给客户端的方法。
向请求URI指定的资源发送请求报文时,采用称为方法的命令。
方法的作用在于,可以指定请求的资源安期望产生某种行为。方法中有GET、POST和HEAD。
持久连接:只要任意一端没有明确提出断开连接,则保持TCP连接状态。
减少了TCP连接重复建立和断开所造成的的额外开销,减轻了服务器端的负载,使得HTTP请求和相应能够更早的结束,这样Web页面的显示速度也就相应的提高了。
管线化:持久连接使得多数请求以管线化方式发送成为可能。从前发送请求后需等待并收到响应,才能发送下一个请求。
Cookie技术通过在请求和响应报文中写入Cookie信息来控制客户端的状态。
转载地址:http://ebsduy.baihongyu.com/