资源描述
,超文本传输协议,HTTP,H,yper,T,ext,T,ransfer,P,rotocol,太原大学计算机工程系:白文江,start,end,20,min,1,2,4,HTTP,简介,HTTP,的工作原理,3,HTTP,报文结构,HTTP,代理,【,目录,】,HTTP,简介,H,yper,T,ext,T,ransfer,P,rotocol,什么是超文本,(HyperText),?,包含有超链接,(Link),和各种多媒体元素标记,(Markup),的文本。这些超文本文件彼此链接,形成网状,(Web),,因此又被称为网页,(Web Page),。这些链接使用,URL,表示。最常见的超文本格式是超文本标记语言,HTML,。,site5,site1,site2,site3,site4,什么是,URL,?,URL,即统一资源定位符,(,U,niform,R,esource,L,ocator),,用来唯一地标识万维网中的某一个文档。,URL,由协议、主机和端口,(,默认为,80),以及文件名三部分构成。如:,http:/,:80,/,news/index.html,协议,:/,主机,:,端口,(80)/,文件名及其路径,什么是超文本传输协议,HTTP,?,是一种按照,URL,指示,将超文本文档从一台主机,(Web,服务器,),传输到另一台主机,(,浏览器,),的应用层协议,以实现超链接的功能。,start,end,20,min,1,2,HTTP,简介,HTTP,的工作原理,请求,/,响应交互模型,HTTP,的工作原理,Internet,Web,服务器,客户机,(,浏览器,),Index.html,IP:,202.2.16.21,在用户点击,URL,为, over TCP,4,浏览器与服务器建立,TCP,连接,(80,端口,),5,浏览器请求文档:,GET /index.html,6,服务器给出响应,将文档,index.html,发送给浏览器,7,释放,TCP,连接,8,浏览器显示,index.html,中的内容,TCP,连接,建立,TCP,连接,请求文档,1,HTTP,请求报文,响应文档,2,HTTP,响应报文,释放,TCP,连接,HTTP,的工作原理,HTTP,的连接方式和无状态性,非持久性连接,持久性连接,无状态性,即浏览器每请求一个,Web,文档,就创建一个新的连接,当文档传输完毕后,连接就立刻被释放。,HTTP1.0,、,HTTP0.9,采用此连接方式。,对于请求的,Web,页中包含多个其他文档对象(如图像、声音、视频等)的链接的情况,由于请求每个链接对应的文档都要创建新连接,效率低下。,即在一个连接中,可以进行多次文档的请求和响应。服务器在发送完响应后,并不立即释放连接,浏览器可以使用该连接继续请求其他文档。连接保持的时间可以由双方进行协商。,是指同一个客户端,(,浏览器,),第二次访问同一个,Web,服务器上的页面时,服务器无法知道这个客户曾经访问过。,HTTP,的无状态性简化了服务器的设计,使其更容易支持大量并发的,HTTP,请求。,Internet,Web,服务器,客户机,(,浏览器,),建立,TCP,连接,释放,TCP,连接,请求文档,1,响应文档,1,请求文档,2,响应文档,2,请求文档,n,响应文档,n,start,end,20,min,1,2,HTTP,简介,3,HTTP,报文结构,HTTP,的工作原理,HTTP,报文结构,请求报文,即从客户端,(,浏览器,),向,Web,服务器发送的请求报文。报文的所有字段都是,ASCII,码。,方法,URL,版本,CRLF,首部字段名,:,值,CRLF,首部字段名,:,值,CRLF,首部字段名,:,值,CRLF,CRLF,实体主体,(Entity body),空格,CRLF,回车换行,请求行,如,:,GET /index.html HTTP/1.1,首部行,:,用来说明浏览器、服务器或报文主体的一些信息。如,:,Host: ,Connection: close,User-Agent: Mozilla/5.0,Accept-Language: cn,请求报文,HTTP,报文结构,响应报文,即从,Web,服务器到客户机,(,浏览器,),的应答。报文的所有字段都是,ASCII,码。,版本,状态码,短语,CRLF,首部字段名,:,值,CRLF,首部字段名,:,值,CRLF,首部字段名,:,值,CRLF,CRLF,实体主体,(Entity body),空格,CRLF,回车换行,状态行,如,:,HTTP/1.1 200 OK,首部行,:,用来说明浏览器、服务器或报文主体的一些信息。如,:,Date: Wed,08 May 2008 22,Sever: Apache/1.3.2(Unix),Content-Length: 4096,Content-Type: text/html,响应报文,HTTP,报文结构,请求报文中的,方法,方法,(,操作,),含义,方法,(,操作,),含义,GET,请求读取一个,Web,页面,HEAD,请求读取一个,Web,页面的首部,POST,附加一个命名资源,(,如,Web,页面,),PUT,请求存储一个,Web,页面,DELETE,删除,Web,页面,TRACE,用于测试,要求服务器送回收到的请求,CONNECT,用于代理服务器,OPTION,查询特定选项,方法,(Method),是对所请求对象所进行的操作,也就是一些命令。请求报文中的操作有,:,HTTP,报文结构,响应报文中的,状态码,状态码,(Status-Code),是响应报文状态行中包含的一个,3,位数字,指明特定的请求是否被满足,如果没有满足,原因是什么。状态码分为以下五类:,状态码,含义,例子,1xx,通知信息,100=,服务器正在处理客户请求,2xx,成功,200=,请求成功,(OK),3xx,重定向,301=,页面改变了位置,4xx,客户错误,403=,禁止的页面;,404=,页面未找到,5xx,服务器错误,500=,服务器内部错误;,503=,以后再试,具体各状态码的含义,请参考,W3C,的,HTTP1.1,标准规范,RFC2616 ,http:/www.w3.org/Protocols/rfc2616/rfc2616.html,HTTP,报文结构,首部字段或消息头,头,(header),类型,说明,User- Agent,请求,关于浏览器和它平台的信息,如,Mozilla5.0,Accept,请求,客户能处理的页面的类型,如,text/html,Accept-Charset,请求,客户可以接受的字符集,如,Unicode-1-1,Accept-Encoding,请求,客户能处理的页面编码方法,如,gzip,Accept-Language,请求,客户能处理的自然语言,如,en(,英语,),,,zh-cn(,简体中文),Host,请求,服务器的,DNS,名称。从,URL,中提取出来,必需。,Authorization,请求,客户的信息凭据列表,Cookie,请求,将以前设置的,Cookie,送回服务器器,可用来作为会话信息,Date,双向,消息被发送时的日期和时间,Server,响应,关于服务器的信息,如,Microsoft-IIS/6.0,Content-Encoding,响应,内容是如何被编码的(如,gzip),Content-Language,响应,页面所使用的自然语言,Content-Length,响应,以字节计算的页面长度,Content-Type,响应,页面的,MIME,类型,Last-Modified,响应,页面最后被修改的时间和日期,在页面缓存机制中意义重大,Location,响应,指示客户将请求发送给别处,即重定向到另一个,URL,Set-Cookie,响应,服务器希望客户保存一个,Cookie,HTTP,报文结构,实例,请求行,首部字段,(,行,),状态行,首部字段,(,行,),start,end,20,min,1,2,4,HTTP,简介,3,HTTP,报文结构,HTTP,代理,HTTP,的工作原理,HTTP,代理,什么是,HTTP,代理?,HTTP,代理又称,Web,缓存或代理服务器,(Proxy Server),是一种网络实体,能代表浏览器发出,HTTP,请求,并将最近的一些请求和响应暂存在本地磁盘中,当请求的,Web,页面先前暂存过,则直接将暂存的页面发给客户端,(,浏览器,),,无须再次访问,Internet,。,使用,HTTP,代理的,Web,访问过程,Internet,源,Web,服务器,校园网,浏览器,HTTP,代理,浏览器向,HTTP,代理发出页面请求,HTTP,代理查找缓存页面,用缓存页面响应请求,找到,代表浏览器向源,Web,服务器发出请求,未找到,源,Web,服务器响应,HTTP,代理,HTTP,代理缓存请求到的页面,将请求到的页面响应给浏览器,Thanks For Your Time,Thanks For Your Time,Thanks For Your Time,
展开阅读全文