




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第页下表显示了常见的HTTP1.1状态代码以及它们对应的状态信息和含义。应当慎重地使用那些只有HTTP1.1支持的状态代码,因为许多浏览器还只能够支持HTTP1.0。如果你使用了HTTP1.1特有的状态代码,最好能够检查一下请求的HTTP版本号。状态代码状态信息含义100Continue初始的请求已经承受,客户应当继续发送请求的其余局部。〔HTTP1.1新〕101SwitchingProtocols效劳器将遵从客户的请求转换到另外一种协议〔HTTP1.1新〕200OK一切正常,对GET和POST请求的应答文档跟在后面。201Created效劳器已经创立了文档,Location头给出了它的URL。202Accepted已经承受请求,但处理尚未完成。203Non-AuthoritativeInformation文档已经正常地返回,但一些应答头可能不正确,因为使用的是文档的拷贝〔HTTP1.1新〕。204NoContent没有新文档,浏览器应该继续显示原来的文档。如果用户定期地刷新页面,而Servlet可以确定用户文档足够新,这个状态代码是很有用的。205ResetContent没有新的内容,但浏览器应该重置它所显示的内容。用来强制浏览器去除表单输入内容〔HTTP1.1新〕。206PartialContent客户发送了一个带有Range头的GET请求,效劳器完成了它〔HTTP1.1新〕。300MultipleChoices客户请求的文档可以在多个位置找到,这些位置已经在返回的文档内列出。如果效劳器要提出优先选择,那么应该在Location应答头指明。301MovedPermanently客户请求的文档在其他地方,新的URL在Location头中给出,浏览器应该自动地访问新的URL。302Found“MovedTemporatily〞。出现该状态代码时,浏览器能够自动访问新的URL,因此它是一个很有用的状态代码。注意这个状态代码有时候可以和301替换使用。例如,如果浏览器错误地请求〔缺少了后面的斜杠〕,有的效劳器返回301,有的那么返回302。严格地说,我们只能假定只有当原来的请求是GET时浏览器才会自动重定向。请参见307。303SeeOther类似于301/302,不同之处在于,如果原来的请求是POST,Location头指定的重定向目标文档应该通过GET提取〔HTTP1.1新〕。304NotModified客户端有缓冲的文档并发出了一个条件性的请求〔一般是提供If-Modified-Since头表示客户只想比指定日期更新的文档〕。效劳器告诉客户,原来缓冲的文档还可以继续使用。305UseProxy客户请求的文档应该通过Location头所指明的代理效劳器提取〔HTTP1.1新〕。307TemporaryRedirect和302〔Found〕一样。许多浏览器会错误地响应302应答进展重定向,即使原来的请求是POST,即使它实际上只能在POST请求的应答是303时才能重定向。由于这个原因,HTTP1.1新增了307,以便更加去除地区分几个状态代码:当出现303应答时,浏览器可以跟随重定向的GET和POST请求;如果是307应答,那么浏览器只能跟随对GET请求的重定向。〔HTTP1.1新〕400BadRequest请求出现语法错误。401Unauthorized客户试图未经授权访问受密码保护的页面。应答中会包含一个头,浏览器据此显示用户名字/密码对话框,然后在填写适宜的Authorization头后再次发出请求。403Forbidden资源不可用。效劳器理解客户的请求,但拒绝处理它。通常由于效劳器上文件或目录的权限设置导致。404NotFound无法找到指定位置的资源。这也是一个常用的应答。405MethodNotAllowed请求方法〔GET、POST、HEAD、DELETE、PUT、TRACE等〕对指定的资源不适用。〔HTTP1.1新〕406NotAcceptable指定的资源已经找到,但它的MIME类型和客户在Accpet头中所指定的不兼容〔HTTP1.1新〕。407ProxyAuthenticationRequired类似于401,表示客户必须先经过代理效劳器的授权。〔HTTP1.1新〕408RequestTimeout在效劳器许可的等待时间内,客户一直没有发出任何请求。客户可以在以后重复同一请求。〔HTTP1.1新〕409Conflict通常和PUT请求有关。由于请求和资源的当前状态相冲突,因此请求不能成功。〔HTTP1.1新〕410Gone所请求的文档已经不再可用,而且效劳器不知道应该重定向到哪一个地址。它和404的不同在于,返回407表示文档永久地离开了指定的位置,而404表示由于未知的原因文档不可用。〔HTTP1.1新〕411LengthRequired效劳器不能处理请求,除非客户发送一个Content-Length头。〔HTTP1.1新〕412PreconditionFailed请求头中指定的一些前提条件失败〔HTTP1.1新〕。413RequestEntityTooLarge目标文档的大小超过效劳器当前愿意处理的大小。如果效劳器认为自己能够稍后再处理该请求,那么应该提供一个Retry-After头〔HTTP1.1新〕。414RequestURITooLongURI太长〔HTTP1.1新〕。416RequestedRangeNotSatisfiable效劳器不能满足客户在请求中指定的Range头。〔HTTP1.1新〕500InternalServerError效劳器遇到了意料不到的情况,不能完成客户的请求。501NotImplemented效劳器不支持实现请求所需要的功能。例如,客户发出了一个效劳器不支持的PUT请求。502BadGateway效劳器作为网关或者代理时,为了完成请求访问下一个效劳器,但该效劳器返回了非法的应答。503ServiceUnavailable效劳器由于维护或者负载过重未能应答。例如,Servlet可能在数据库连接池已满的情况下返回503。效劳器返回503时可以提供一个Retry-After头。504GatewayTimeout由作为代理或网关的效劳器使用,表示不能及时地从远程效劳器获得应答。〔HTTP1.1新〕505HTTPVersionNotSupported效劳器不支持请求中所指明的HTTP版本。〔HTTP1.1新〕HTTP的早期版本为HTTP/0.9,它适用于各种数据信息的简洁快速协议,但是其远不能满足日益开展各种应用的需要。但HTTP/0.9作为HTTP协议具有典型的无状态性:每个事务都是独立进展处理的,当一个事务开场就在客户与效劳器之间建立一个连接,当事务完毕时就释放这个连接。HTTP/0.9包含
Simple-Request&Simple-Responsed的报文构造。但是客户无法使用内容协商,所以效劳器也无法返回实体的媒体类型。
1982年,TimBerners-Lee提出了HTTP/1.0,在此后的不断丰富和开展中,HTTP/1.0成为最重要的面向事务的应用层协议。该协议对每一次请求/响应,建立并撤除一次连接。其特点是简单、易于管理,所以它符合了大家的需要,得到了广泛的应用。其缺点是仍会发生以下问题:对用户请求响应慢、网络拥塞严重、平安性等。
2019年形成的HTTP/1.1,也就是现在普遍使用的协议,在持续连接操作机制中实现流水方式,即客户端需要对同一效劳器发出多个请求时,其实现在多数的网页都是有多局部组成〔比方多张图片〕,可用流水线方式加快速度,流水机制就是指连续发出多个请求并等到这些请求发送完毕,再等待响应。这样就大大节省了单独请求对响应的等待时间,使我们得到更快速的浏览。
另外,HTTP/1.1效劳器端处理请求时按照收到的顺序进展,这就保证了传输的正确性。当然,效劳器端在发生连接中断时,会自动的重传请求,保证数据的完整性。
HTTP/1.1还提供了身份认证、状态管理和Cache缓存等机制。这里,我想特别提一下关于HTTP/1.1中的Cache缓存机制对HTTP/1.0的缺乏之处的改良,它严格全面,既可以减少时间延迟、又节省了带宽。HTTP/1.1采用了内容协商机制,选择最适宜的用户的内容表现形式。
现在,很多地方都有用到的虚拟主机技术在HTTP/1.1中也可以实现。所谓的虚拟主机技术,就是同一主机地址实际对应多台主机。通俗的讲,当你同时在一个网站申请两个主页时,用协议分析仪可以发现其实这两个主页对应的是同一个IP地址。这样用多台完全一样的机器形成WWW效劳器就可以提高处理的吞吐量。
传统的解决方案是改造域名效劳器使其可以根据一定的算法将同一域名解释成不同的IP地址。分别对应虚拟主机的每台机器,其缺点是要求每台机器占用完全独立的IP地址,这与IP地址的缺乏是相矛盾的。
HTTP/1.1提供的解决方案在HTTP协议自身中参加了指定不同主机的功能,从而多台主机可以共享一个IP地址,既提高了性能又便于管理。
因为HTTP/1.1是Internet现行的标准协议,这里详细介绍其相关语法。
首先,HTTP/1.1格式可写为:
[img:8d94cc43ef][/img:8d94cc43ef]
其中请求方法是请求一定的Web页面的程序或用于特定的URL。可选用以下几种:
GET:请求指定的页面信息,并返回实体主体。
HEAD:只请求页面的首部。
POST:请求效劳器承受所指定的文档作为对所标识的URI的新的附属实体。
PUT:从客户端向效劳器传送的数据取代指定的文档的内容。
DELETE:请求效劳器删除指定的页面。
OPTIONS:允许客户端查看效劳器的性能。
TRACE:请求效劳器在响应中的实体主体局部返回所得到的内容。
PATCH:实体中包含一个表,表中说明与该URI所表示的原内容的区别。
MOVE:请求效劳器将指定的页面移至另一个网络地址。
COPY:请求效劳器将指定的页面拷贝至另一个网络地址。
LINK:请求效劳器建立链接关系。
UNLINK:断开链接关系。
WRAPPED:允许客户端发送经过封装的请求。
Extension-mothed:在不改动协议的前提下,可增加另外的方法。
比方:
GET/index.htmlHTTP/1.1
Accept:text/plain/*纯ASCII码文本文件*/
Accept:text/html/*HTML文本文件*/
User-Agent:Mozilla/4.5(WinNT)
说明浏览器使用Get方法请求文档/index.html。浏览器那么只允许接收纯ASCII码文本文件和HTML文本文件,其使用的引擎是Mozilla/4.5〔Netscape〕。
当效劳器响应时,其状态行的信息为HTTP的版本号,状态码,及解释状态码的简单说明。现将5类状态码详细列出:
①客户方错误
100继续
101交换协议
②成功
200OK
201已创立
202接收
203非认证信息
204无内容
205重置内容
206局部内容
③重定向
300多路选择
301永久转移
302暂时转移
303参见其它
304未修改〔NotModified〕
305使用代理
④客户方错误
400错误请求〔BadRequest〕
401未认证
402需要付费
403制止〔Forbidden〕
404未找到〔NotFound〕
405方法不允许
406不承受
407需要代理认证
408请求超时
409冲突
410失败
411需要长度
412条件失败
413请求实体太大
414请求URI太长
415不支持媒体类型
⑤效劳器错误
500效劳器内部错误
501未实现〔NotImplemented〕
502网关失败
504网关超时
505HTTP版本不支持
比方:〔在?TELNET……?一文中用telnet登陆80端口,一样的方法用在HTTP/1.1中,会发现没有显示,下面补充说明之〕
telnet80
HEAD/HTTP/1.1
host:/*本行为输入内容*/
HTTP/1.1501MethodNotImplemented
Date:Web,01Nov200007:12:29GMT/*当前的日期/时间*/
Server:Apache/1.3.12(Unix)/*Web效劳器信息*/
Allow:GET,HEAD,OPTION,TRACE/*支持的方法类型*/
Connection:close
Connect-Type:Text/html;charset=iso-8859-1/*连接的媒体类型*/
<!DOCTYPEHTMLPUBLIG"-//IETF//DTDHTML2.0//EN">
<HTML><HEAD>
<TITLE>501Method
NotImplemented</TITLE>
</HEAD><BODY>
<H1>MethodNotImplemented</H1>
headto/inde
x.htmlnotsupported.<P>
Invalidmethodinrequesthead/htp/1.1<P>
<HR>
<ADDRESS>
Apache/1.3.12ServeratPort80</ADDRESS>
</BODY></HTML>
关于实体头部的内容还可以有:
LastModified:请求文档的最近修改时间。
Expires:请求文档的过期时间。
Connect-length:文档数据的长度。
:通知客户端需要的认证信息。
Connect-encoding:说明有无使用压缩技术。
Transfer-encoding:说明采用的编码变换类型。
随着Internet的开展,下一代的HTTP协议HTTP-ng已经在酝酿之中,它将会提供更好的平安性、更快的速度,其改良要点为:模块化强、网络效率高、平安性更好、构造更简单。HTTP协议是我们网络中必不可少的重要协议。那么下面我们就来对这方面的问题进展一下深入讲解。那么我们就针对GET方法实现HTTP协议的具体操作进展一下分析。HTTP协议用于在Internet上发送和接收消息?HTTP协议是一种请求-应答式的协议??客户端发送一个请求,效劳器返回该请求的应答,所有的请求与应答都是HTTP包?HTTP协议使用可靠的TCP连接,默认端口是80?HTTP的第一个版本是HTTP/0.9,后来开展到了HTTP/1.0,现在最新的版本是HTTP/1.1?HTTP/1.1由RFC2616定义?
在HTTP中,Client/Server之间的会话总是由客户端通过建立连接和发送HTTP请求包初始化,效劳器不会主动联系客户端或要求与客户端建立连接?浏览器和效劳器都可以随时中断连接,例如,在浏览网页时你可以随时点击“停顿"按钮中断当前的文件下载过程,关闭与Web效劳器的HTTP连接?
1HTTP请求包
HTTP请求包(GET?POST等请求方法)由三个局部构成,分别是:方法-URI-协议/版本,请求头,请求正文?下面是一个HTTP协议请求包(GET)的例子:
1.GET/index.jspHTTP/1.1
2.Accept-Language:zh-cn
3.Connection:Keep-Alive
4.Host:06
5.Content-Length:37
6.userName=new_andy&password=new_andy
请求包的第一行是方法-URI-协议/版本:
GET就是请求方法,根据HTTP标准,HTTP协议请求可以使用多种请求方法?HTTP1.1支持七种请求方法:GET?POST?HEAD?OPTIONS?PUT?DELETE和TRACE等,常用的为请求方法是GET和POST?
/ind
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 战略合作方销售代理合同范本
- 土地使用权买卖合同样本
- 临时雇佣合同标准文本
- 高校毕业生实习协议合同
- 股份合作企业合同范本
- 婚礼场地租赁合同书
- 度企业信用反担保合同协议
- 企业安全生产责任协议合同
- 劳动合同样本:员工长期雇佣
- 海滨度假村物业销售合同协议
- 2024年新人教版一年级数学下册《第2单元第5课时 20以内的退位减法解决问题(1)》教学课件
- 2022年陕西省普通高校职业教育单独招生统一考试语文甲(A)试题
- DB11T 212-2017 园林绿化工程施工及验收规范
- 失业保险待遇申领表
- 2024-2025学年初中信息技术(信息科技)第二册河北大学版(第3版)教学设计合集
- 期末测试卷(一)(试题)2023-2024学年二年级上册数学苏教版
- 携程在线能力测评真题
- 感知觉与沟通评估三明医学科技职业
- 人教版(2024)六年级全一册 第17课 设计我的种植园
- 承包商入厂安全培训试题附参考答案【完整版】
- 加盟京东商城合同模板
评论
0/150
提交评论