一
个WEB站点每天可能要接收到上百万的用户请求,为了提高系统的效率,HTTP
1.0规定浏览器与服务器只保持短暂的连接,浏览器的每次请求都需要与服务器建立一个TCP连接,服务器完成请求处理后立即断开TCP连接,服务器不跟踪
每个客户也不记录过去的请求。但是,这也造成了一些性能上的缺陷,例如,一个包含有许多图像的网页文件中并没有包含真正的图像数据内容,而只是指明了这些
图像的URL地址,当WEB浏览器访问这个网页文件时,浏览器首先要发出针对该网页文件的请求,当浏览器解析WEB服务器返回的该网页文档中的HTML内
容时,发现其中的<img>图像标签后,浏览器将根据<img>标签中的src属性所指定的URL地址再次向服务器发出下载图像
数据的请求,如图3.3所示。
图3.3
显然,访问一个包含有许多图像的网页文件的整个过程包
含了多次请求和响应,每次请求和响应都需要建立一个单独的连接,每次连接只是传输一个文档和图像,上一次和下一次请求完全分离。即使图像文件都很小,但是
客户端和服务器端每次建立和关闭连接却是一个相对比较费时的过程,并且会严重影响客户机和服务器的性能。当一个网页文件中包含
Applet,JavaScript文件,CSS文件等内容时,也会出现类似上述的情况。
为了克服HTTP
1.0的这个缺陷,HTTP
1.1支持持久连接,在一个TCP连接上可以传送多个HTTP请求和响应,减少了建立和关闭连接的消耗和延迟。一个包含有许多图像的网页文件的多个请求和
应答可以在一个连接中传输,但每个单独的网页文件的请求和应答仍然需要使用各自的连接。HTTP
1.1还允许客户端不用等待上一次请求结果返回,就可以发出下一次请求,但服务器端必须按照接收到客户端请求的先后顺序依次回送响应结果,以保证客户端能
够区分出每次请求的响应内容,这样也显著地减少了整个下载过程所需要的时间。基于HTTP 1.1协议的客户机与服务器的信息交换过程,如图3.4所示。
图3.4
可见,HTTP 1.1在继承了HTTP 1.0优点的基础上,也克服了HTTP 1.0的性能问题。不仅如此,HTTP 1.1
还通过增加更多的请求头和响应头来改进和扩充HTTP 1.0
的功能。例如,由于
HTTP
1.0不支持Host请求头字段,WEB浏览器无法使用主机头名来明确表示要访问服务器上的哪个WEB站点,这样就无法使用WEB服务器在同一个IP地址
和端口号上配置多个虚拟WEB站点。在HTTP
1.1中增加Host请求头字段后,WEB浏览器可以使用主机头名来明确表示要访问服务器上的哪个WEB站点,这才实现了在一台WEB服务器上可以在同一
个IP地址和端口号上使用不同的主机名来创建多个虚拟WEB站点。HTTP 1.1
的持续连接,也需要增加新的请求头来帮助实现,例如,Connection
请求头的值为Keep-Alive
时,客户端通知服务器返回本次请求结果后保持连接;Connection
请求头的值为close
时,客户端通知服务器返回本次请求结果后关闭连接。
HTTP 1.1还提供了与身份认证、状态管理和Cache缓存等机制相关的请求头和响应头。
分享到:
相关推荐
在HTTP版本方面,课程提到了HTTP/1.0、HTTP/1.1和HTTP/2的区别。HTTP/1.0是最早的版本,每个TCP连接只能处理一个请求,而HTTP/1.1引入了持久连接,允许多个请求复用一个TCP连接,提高了效率。HTTP/2则进一步优化了...
总结,张孝祥老师的HTTP协议详解课程涵盖了HTTP的基础概念、请求与响应机制、方法、状态码、头部字段等内容,对于理解和应用HTTP协议具有重要指导意义。通过深入学习,我们可以更好地理解和优化网络应用,提升用户...
【标题】"传智播客张孝祥老师的经典"指的是由知名教育机构传智播客的讲师张孝祥教授的一系列Java编程教学资料,这些资料因其高质量和深度被广大编程学习者视为经典。这个标签强调了张孝祥老师在IT教育领域的权威性和...
【张孝祥老师书籍源码(全)】这个资源包含了张孝祥老师的javaweb和javascript书籍中的源代码,这是一份非常宝贵的编程学习材料。张孝祥老师在IT教育领域有着深厚的造诣,他的书籍深入浅出,是许多初学者入门和进阶的...
《张孝祥老师基础加强源代码和PPT》是一份珍贵的教育资源,源自著名IT教育专家张孝祥老师的教学资料。这份资料集包含了张孝祥老师2009年精心录制的Java高新技术视频课程,旨在为学习者提供深入浅出的基础加强教程,...
此外,张孝祥老师还讲解了HTTP协议的版本迭代,从HTTP/1.0到HTTP/2的改进,包括二进制分帧、多路复用等技术,以及最新的HTTP/3对QUIC协议的采纳,旨在解决HTTP/2的延迟问题。 最后,课程可能涵盖了HTTPS,即HTTP...
张孝祥老师在书中详细介绍了CSS的选择器、属性和值,如何控制字体、颜色、背景,以及页面布局的技巧。读者将学习到盒模型、定位、浮动、响应式设计等核心概念,使网页设计达到美观且适应不同设备的需求。 ...
此外,课程可能还会讲解HTTP/1.0和HTTP/1.1的区别,以及HTTP/2的特性,例如多路复用、头部压缩等。对于Java Web开发者来说,理解这些协议细节有助于优化Web应用的性能和用户体验。 总之,"Java Web_HTTP协议详解第...
张孝祥的JAVA课堂中可能还涵盖了如何使用JAVA实现HTTP客户端和服务器,包括使用HttpURLConnection、Apache HttpClient等库进行HTTP通信,以及使用Tomcat等服务器部署JAVA Web应用。 通过深入学习这个课程,开发者...
张孝祥老师讲解java的多线程的配套ppt,很实用的
"张孝祥Struts视频源代码"很可能是由知名IT讲师张孝祥制作的一系列关于Struts框架的教程,其中包含了相应的源代码,帮助学习者通过实际操作理解Struts的工作原理和应用。 在深入探讨Struts框架之前,我们首先需要...
张孝祥老师的"Java基础加强ppt.ppt"可能包含了以上部分或全部内容的详细讲解,通过PPT的形式,以清晰的结构和实例演示帮助学习者深入理解每一个知识点,并且针对面试常见问题进行解析和解答,以提高求职者的竞争力。...
他可能会深入讨论HTTP和HTTPS协议,包括它们的区别和应用场景,以及如何进行网络请求和响应。此外,他还可能涉及网络抓包工具如Wireshark的使用,帮助学员理解网络通信过程。 "正则表达式"是编程中用于文本模式匹配...
本文将根据张孝祥老师提供的《Java面试试题》中的内容进行深入解析,旨在帮助读者更好地准备Java相关的面试。 #### 关键知识点梳理 ##### 1. 学习方法与职业规划 - **学习方法**:在IT领域,尤其是Java开发中,...
张孝祥老师会讲解如何使用JDBC连接数据库,进行SQL查询,以及事务管理。此外,还可能涉及流行的数据库管理系统,如MySQL或Oracle,以及ORM框架,如Hibernate或MyBatis,它们能简化数据库操作,提高开发效率。 随着...
【描述】提到的"张孝祥 java 教程"表明这是一个系统的教学资源,与张孝祥的视频教程配套使用,旨在帮助学习者通过视频讲解和实践操作,深入理解和掌握Java编程。"和他的视频教程是同步的"意味着课程内容可能按照视频...
张孝祥JavaWEB课堂PPT同步教程,HTTP、Request的应用、Response引用。
张孝祥老师的"HTTP协议详解第二讲"课程,作为JAVA课堂的一部分,深入浅出地探讨了HTTP协议的核心概念和技术细节。 在这一讲中,我们首先会接触到HTTP协议的基础知识,包括它的起源、版本发展,以及它在网络通信中的...
详细的java高级视频目录,适合初学者打好基础,赞美张孝祥老师。