您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > HTTP1.1与HTTP1.0的比较
文档名称文档密级2020-1-10华为保密信息,未经授权禁止扩散第1页,共6页HTTP1.1与HTTP1.0的比较一个WEB站点每天可能要接收到上百万的用户请求,为了提高系统的效率,HTTP1.0规定浏览器与服务器只保持短暂的连接,浏览器的每次请求都需要与服务器建立一个TCP连接,服务器完成请求处理后立即断开TCP连接,服务器不跟踪每个客户也不记录过去的请求。但是,这也造成了一些性能上的缺陷,例如,一个包含有许多图像的网页文件中并没有包含真正的图像数据内容,而只是指明了这些图像的URL地址,当WEB浏览器访问这个网页文件时,浏览器首先要发出针对该网页文件的请求,当浏览器解析WEB服务器返回的该网页文档中的HTML内容时,发现其中的img图像标签后,浏览器将根据img标签中的src属性所指定的URL地址再次向服务器发出下载图像数据的请求,如图3.3所示。图3.3显然,访问一个包含有许多图像的网页文件的整个过程包含了多次请求和响应,每次请求和响应都需要建立一个单独的连接,每次连接只是传输一个文档和图像,上一次和下一次请求完全分离。即使图像文件都很小,但是客户端和服务器端每次建立和关闭连接却是一个相对比较费时的过程,并且会严重影响客户机和服务器的性能。当一个网页文件中包含Applet,JavaScript文件,CSS文件等内容时,也会出现类似上述的情况。文档名称文档密级2020-1-10华为保密信息,未经授权禁止扩散第2页,共6页为了克服HTTP1.0的这个缺陷,HTTP1.1支持持久连接,在一个TCP连接上可以传送多个HTTP请求和响应,减少了建立和关闭连接的消耗和延迟。一个包含有许多图像的网页文件的多个请求和应答可以在一个连接中传输,但每个单独的网页文件的请求和应答仍然需要使用各自的连接。HTTP1.1还允许客户端不用等待上一次请求结果返回,就可以发出下一次请求,但服务器端必须按照接收到客户端请求的先后顺序依次回送响应结果,以保证客户端能够区分出每次请求的响应内容,这样也显著地减少了整个下载过程所需要的时间。基于HTTP1.1协议的客户机与服务器的信息交换过程,如图3.4所示。图3.4可见,HTTP1.1在继承了HTTP1.0优点的基础上,也克服了HTTP1.0的性能问题。不仅如此,HTTP1.1还通过增加更多的请求头和响应头来改进和扩充HTTP1.0的功能。例如,由于HTTP1.0不支持Host请求头字段,WEB浏览器无法使用主机头名来明确表示要访问服务器上的哪个WEB站点,这样就无法使用WEB服务器在同一个IP地址和端口号上配置多个虚拟WEB站点。在HTTP1.1中增加Host请求头字段后,WEB浏览器可以使用主机头名来明确表示要访问服务器上的哪个WEB站点,这才实现了在一台WEB服务器上可以在同一个IP地址和端口号上使用不同的主机名来创建多个虚拟WEB站点。HTTP1.1的持续连接,也需要增加新的请求头来帮助实现,例如,Connection请求头的值为Keep-Alive时,客户端通知服务器返回本次请求结果后保持连接;Connection请求头的值为close时,客户端通知服务器返回本次请求结果后关闭连接。HTTP1.1还提供了与身份认证、状态管理和Cache缓存等机制相关的请求头和响应头。《深入体验JavaWeb开发内幕——核心基础》文档名称文档密级2020-1-10华为保密信息,未经授权禁止扩散第3页,共6页HTTP协议老的标准是HTTP/1.0,目前最通用的标准是HTTP/1.1。HTTP/1.1是在HTTP/1.0基础上的升级,增加了一些功能,全面兼容HTTP/1.0。HTTP/1.0不支持文件断点续传,目前的Web服务器绝大多数都采用了HTTP/1.1。RANGE:bytes是HTTP/1.1新增内容,HTTP/1.0每次传送文件都是从文件头开始,即0字节处开始。RANGE:bytes=XXXX表示要求服务器从文件XXXX字节处开始传送,这就是我们平时所说的断点续传!原文英文版RFC1945-HypertextTransferProtocol--HTTP/1.0://://://://(Proposed)HTTP-NGWorkingGroup下一代超文本传输协议(HTTP-NG),为了克服当前HTTP协议的缺点,W3C(WorldWideWebconsortium)开始研究制定下一代HTTP协议?TTP-NG。它分三个层次:应用层、消息层、传输层。现有WEB上应用将转换到HTTP-NG平台上,最后整个平台都会更新为HTTP-NG。RFC1945-HypertextTransferProtocol--HTTP/1.0中文版://中文版1.0与1.1的区别,英文版KeyDifferencesbetweenHTTP/1.0andHTTP/1.1中文翻译版没有看到,有看到的告诉我:)附上:HTTP1.1状态代码及其含义状态代码状态信息含义100Continue初始的请求已经接受,客户应当继续发送请求的其余部分。(HTTP1.1新)101SwitchingProtocols服务器将遵从客户的请求转换到另外一种协议(HTTP1.1新)文档名称文档密级2020-1-10华为保密信息,未经授权禁止扩散第4页,共6页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类似于301,但新的URL应该被视为临时性的替代,而不是永久性的。注意,在HTTP1.0中对应的状态信息是“MovedTemporatily”。出现该状态代码时,浏览器能够自动访问新的URL,因此它是一个很有用的状态代码。注意这个状态代码有时候可以和301替换使用。例如,如果浏览器错误地请求~user(缺少了后面的斜杠),有的服务器返回301,有的则返回302。严格地说,我们只能假定只有当原来的请求是GET时浏览器才会自动重定向。请参见307。303SeeOther类似于301/302,不同之处在于,如果原来的请求是POST,Location头指定的重定向目标文档应该通过GET提取(HTTP1.1新)。304NotModified客户端有缓冲的文档并发出了一个条件性的请求(一般是提供If-Modified-Since头表示客户只想比指定日期更新的文档)。服务器告诉客户,原来缓冲的文档还可以继续使用。305UseProxy客户请求的文档应该通过Location头所指明的代理服务器提取(HTTP1.1新)。文档名称文档密级2020-1-10华为保密信息,未经授权禁止扩散第5页,共6页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新)。文档名称文档密级2020-1-10华为保密信息,未经授权禁止扩散第6页,共6页416RequestedRangeNotSatisfiable服务器不能满足客户在请求中指定的Range头。(HTTP1.1新)500InternalServerError服务器遇到了意料不到的情况,不能完成客户的请求。501NotImplemented服务器不支持实现请求所需要的功能。例如,客户发出了一个服务器不支持的PUT请求。502BadGat
本文标题:HTTP1.1与HTTP1.0的比较
链接地址:https://www.777doc.com/doc-2876467 .html