admin 管理员组文章数量: 887021
我是荔园微风,作为一名在IT界整整25年的老兵,年轻的时候我经常把HTTP和访问网页看Web页划等号,这种错误观念曾导致我对HTTP的理解一直浮于表面。今天我就把我的经验在这里写一写。
HTTP是工作在客户/服务器模式下的基于TCP的协议。HTTP使用TCP而不是UDP的原因在于,打开一个网页必须传送很多数据,而TCP协议提供传输控制,可以按顺序组织数据,并且期间可以对错序数据进行纠正。客户端一般是终端用户,服务器端一般是网站服务器。
客户端通过使用Web浏览器或其他工具,发起一个到服务器上指定端口(默认为80)的HTTP请求。一旦收到请示,服务器向客户端发回响应消息,消息的内容可能是以下三种:
1.请示的文件
2.错误消息
3.其他信息
客户端请示和连接端口需要大于1024。
当你在浏览器上单击 http://www.csdn/blog/index.html这条URL会发生什么事情呢,我们来看一下:
1.发生地点:客户端浏览器
发生动作:用户单击URL
2.发生地点:客户端浏览器——>域名服务器
发生动作:请示解析www.csdn的IP地址
3.发生地点:域名服务器——>客户端浏览器
发生动作:返回www.csdn的IP地址
4.发生地点:客户端浏览器<——>www.csdn服务器(注意箭头,是双向的)
发生动作:建立TCP连接,服务器端口80
5.发生地点:客户端浏览器——>www.csdn服务器
发生动作:请求报文GET /blog/index.html
6.发生地点:www.csdn服务器——>客户端浏览器
发生动作:响应并传输HTML文件
7.发生地点:客户端浏览器<——>www.csdn服务器(注意箭头,是双向的)
发生动作:释放TCP连接
Web服务器往往访问压力比较大,为了提高效率,HTTP1.1规定浏览器与服务器的连接时间很短,浏览器的每次请求都需要与服务器建立新的TCP的连接,服务器处理完请求之后立即断开TCP连接,服务器不记录过去的请求。
按这种行为方式,访问具有多个文档、图像或图片的网页时,需要建立多个独立连接进行请求与响应,每个连接只传输一个文档、图像或图片。客户端和服务器端需要频繁的建立和关闭连接,会严重影响双方的性能。网页中如果包含Applet、JavaScript、CSS时,也会出现性能下降。
为了解决这个问题,HTTP1.1后来开始支持持久连接。这样通过一个TCP连接,就能传送多个HTTP请求和响应,大大减少建立和关闭连接造成的消耗和延迟。这样访问一个多图片的网页文件,可以在同一连接中传输多个请求与应答。当然,多文件请求与应答,还是需要分别进行连接。
HTTP1.1允许客户端可以不用等待上一次请求返回的结果,就可以进行下一次请求,但是服务器端必须按照接收到请求的先后顺序依次返回结果,以确保客户端能分清每次请求的响应内容。
后来HTTP出现了更多的协议,大家可以直接搜索相关信息。
各位小伙伴,这次我们就说到这里,下次我们再深入研究Windows这个强大的系统,相信你一定能喜欢上Windows。如果要转载我的文章请说明出处哦。
作者简介:荔园微风,1981年生,高级工程师,浙大工学硕士,软件工程项目主管,做过程序员、软件设计师、系统架构师,早期的Windows程序员,Visual Studio忠实用户,C/C++使用者,是一位在计算机界学习、拼搏、奋斗了25年的老将,经历了UNIX时代、桌面WIN32时代、Web应用时代、云计算时代、手机安卓时代、大数据时代、ICT时代、AI深度学习时代、智能机器时代,我不知道未来还会有什么时代,只记得这一路走来,充满着艰辛与收获,愿同大家一起走下去,充满希望的走下去。
版权声明:本文标题:Windows环境下浏览器里的HTTP——说说你是怎么访问Web网页的 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1728366099h1234281.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论