HTTP协议解析姓名:¥¥¥学号:41212244HTTP概述•HTTP(HyperTextTransferProtocol)即超文本传输协议,是客户端浏览器或其他程序与Web服务器之间的应用层通信协议。在Internet上的Web服务器上存放的都是超文本信息,客户机需要通过HTTP协议传输所要访问的超文本信息。HTTP包含命令和传输信息,不仅可用于Web访问,也可以用于其他因特网/内联网应用系统之间的通信,从而实现各类应用资源超媒体访问的集成。总的来说HTTP的作用就是传送WEB数据。HTTP协议的主要特点1.支持客户/服务器模式:HTTP协议由两部分程序实现,一个客户机程序和一个服务器程序,通过交换HTTP报文进行会话。2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。3.灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。4.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。5.无状态:HTTP协议是无状态协议。因为HTTP服务器并不保存关于客户机的任何信息。HTTP的运作方式客户端建立TCP连接关闭TCP连接发出请求信息响应请求信息服务器•HTTP有两类报文:(1)请求报文——从客户端向服务器发送请求报文。(2)响应报文——从服务器到客户端的回答。一个HTTP报文由3部分组成,分别是:(1)起始行(startline)(2)首部(header)(3)主体(body)示例:HTTP/1.0200OK//起始行Content-type:text/plain//首部Content-length:19//首部HiI'mamessage!主体请求报文一个HTTP请求报文由请求行(requestline)、请求头部(header)、空行和请求数据4个部分组成请求报文格式:methodrequest-UTLversion请求行headers请求头部空行entity-body请求数据(主体)HTTP协议的请求方法有GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT,我们最常见的两种种请求方法是GET和POST。请求报文请求行由请求方法字段、URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔请求头部由关键字/值对组成,每行一对,关键字和值用英文冒号“:”分隔。请求头部的作用:请求头部是用来通知服务器有关于客户端请求的内容的。最后一个请求头之后是一个空行,发送回车符和换行符,通知服务器以下不再有请求头请求数据不在GET方法中使用,而是在POST方法中使用。POST方法适用于需要客户填写表单的场合。与请求数据相关的最常使用的请求头是Content-Type和Content-Length。用360浏览器打开,体现简单快速的特点命名了所请求资源,或者URL路径组件的完整URL报文所用的HTTP版本使服务器能够发送的文件类型显示了所要请求的资源用户代理,显示使用什么客户端发出的请求,这里显示了浏览器的详细信息服务器能够发送的编码类型指定目标所在的主机显示当前的连接状态DNT:DONOTTRACK的缩写、要求服务器不要跟踪记录用户信息。为1时表示开启、0时表示关闭,相当于浏览痕迹,无状态的体现响应报文HTTP响应也由四个部分组成,分别是:状态行、消息报头、空行和响应正文。响应报文与请求报文唯一真正的区别在于第一行中用状态信息代替了请求信息。状态行(statusline)通过提供一个状态码来说明所请求的资源情况。。响应报文格式versionstatusreason-phrase状态行header消息报头空行entity-body响应正文响应报文结构常见状态代码、状态描述的说明如下200OK:客户端请求成功。400BadRequest:客户端请求有语法错误,不能被服务器所理解。401Unauthorized:请求未经授权,这个状态代码必须和报头域一起使用。403Forbidden:服务器收到请求,但是拒绝提供服务。404NotFound:请求资源不存在,举个例子:输入了错误的URL。500InternalServerError:服务器发生不可预期的错误。503ServerUnavailable:服务器当前不能处理客户端的请求,一段时间后可能恢复正常,举个例子:HTTP/1.1200OK(CRLF)。响应报文抓包分析状态码200原因短语OK,表示客户端请求成功响应代码是200服务器应用程序软件的名称和版本Jsp3/2.04\r\n响应的时间日期响应类型为HTML文本,体现灵活的特点响应的主体内容的长度为2751个字节解决Last-Modified无法解决的问题Last-Modified是一个和文件相关的标记,用来判断请求的文件是否被修改.实体不在有效,要从原始的源端再次获取此实体的日期和时间响应持续时间随报文传送缓存指示cache-controlmax-age0时直接从游览器缓存中提取,max-age=0时向server发送http请求确认,该资源是否有修改有的话返回200,无的话返回304.服务器可接收的范围类型