浏览器访问www.baidu.com的过程

1.将url转换成ip地址

我们如果想要访问百度网,肯定得先知道百度的ip地址,但是用户可记不住这么复杂的ip地址,baidu这个拼音就容易得多。但这样就必须有一种手段自动的将url转换成ip地址。在计算机中有一个DNS协议,它是用于将url转换成ip地址的,DNS是一个分布式的数据库,存储着所有有效的url对ip的映射。当我们往浏览器网址中输入url之后,浏览器首先会查看自己的缓存,即以前是否访问过该url,如果有则直接返回。如果没有,操作系统则会检查该url是否存在于本地DNS,如果有则返回,否则会查看host文件,如果有则返回,否则向本地DNS服务器发起请求,如果有则返回,否则,本地DNS服务器会请求根域名服务器获得顶级域名服务器ip,然后向顶级域名服务器请求返回得到权威域名服务器ip,再向权威域名服务器请求得到url->ip的映射返回给本地DNS服务器,本地DNS服务器将ip返回给操作系统并做缓存。

2.建立连接

得到了ip地址之后我们就需要建立http连接了。因为http是基于tcp的,所以我们需要通过三次握手来建立连接,客户端将SYN置为1,将tcp报文发送给服务器,序列号为x,服务端收到了这个包,识别出是一个请求连接的包,如果同意连接,服务器也将SYN置为1,将ACK置为1,确认号为x+1,序列号为y,将该tcp包发送给客户端,客户端收到了这个包并识别,发现确认号为x+1,就知道了这个是回应包,于是再发送一个确认号为y+1的tcp包,表示自己确认收到了服务端的回应,请求建立成功。三次握手的作用是为了确保客户端和服务端双方都具有发送和接受数据的能力,同时可以防止脏连接的建立。

3.发送http请求

接下来一步是发送http请求了,http请求包括请求行,请求头,请求体,但是一个http请求能够正确的到达服务器。是需要经过很多步骤的,比如必须要通过路由协议才能将这个http请求传达到服务器,路由协议的作用是找到最佳的一条路径快速的传送请求。

4.服务端执行代码并返回http响应

因为建立tcp连接的机器可能只是一个代理服务器,所以可能需要将http请求转发到真实的web服务器中,web服务器收到了请求,会执行服务端代码,得到数据之后将会封装到一个http响应中,会传送给客户端(该响应可能会通过代理服务器也可能不需要通过代理服务器)

5.浏览器收到http请求并进行渲染

以springmvc为例,http响应为ModelAndView,首先返回一个页面,然后再将数据渲染到页面形成我们的界面

6.断开连接

因为现在的http请求都是长连接的,并不会马上关闭,在一段时间没有进行交互之后,就会自动断开,时间大概为300秒左右。

大家一起快乐学Java 文章被收录于专栏

本人2021届应届本科生毕业于浙江海洋大学,校招拿到BAT等大厂offer,本专栏的目的是分享一些校招面试过程中的一些重要知识点,以及当前比较流行的技术底层原理和一些面试问的较多的知识点的剖析。后续也会分享一些在阿里工作过程中遇到的一些问题,把问题抽象出来给出我的思路,大家可以一起来思考,互相促进,互相学习。

全部评论
肚子哥牛逼
点赞 回复 分享
发布于 2020-11-10 14:56
666
点赞 回复 分享
发布于 2020-10-21 22:11
666
点赞 回复 分享
发布于 2020-09-28 21:05
tql
点赞 回复 分享
发布于 2020-09-20 20:00
tql
点赞 回复 分享
发布于 2020-09-20 20:00
太厉害了
点赞 回复 分享
发布于 2020-05-26 12:32

相关推荐

不愿透露姓名的神秘牛友
07-11 12:31
以前小时候我最痛恨出轨、偷情的人,无论男女,为什么会出轨?现在我成了自己最讨厌的人,没想到分享的东西在牛客会被这么多人看,大家的评价都很中肯,我也认同,想过一一回复,但我还是收声了,我想我应该说说这件事,这件事一直压在我心里,是个很大的心结,上面说了人为什么出轨,我大概能明白了。我们大一下半年开始恋爱,开始恋爱,我给出了我铭记3年的承诺,我对她好一辈子,我永远不会背叛,我责任心太重,我觉得跟了我,我就要照顾她一辈子,我们在一起3年我都没有碰过她,她说往东我就往东,她说什么我做什么,她要我干什么,我就干什么!在学校很美好,中途也出过一些小插曲,比如男闺蜜、男闺蜜2号等等等。但我都强迫她改掉了,我...
牛客刘北:两个缺爱的人是没有办法好好在一起的,但世界上哪有什么是非对错?你后悔你们在一起了,但是刚刚在一起的美好也是真的呀,因为其他人的出现,你开始想要了最开始的自己,你的确对不起自己,21岁的你望高物远,你完全可以不谈恋爱,去过你想要的生活,你向往自由,在一起之后,你要想的不是一个人,而是两个人,你不是变心了,就像你说的,你受够了,你不想包容了,冷静几天是你最优的选择,爱人先爱己。
社会教会你的第一课
点赞 评论 收藏
分享
06-07 00:00
已编辑
腾讯_后端开发
点赞 评论 收藏
分享
评论
2
10
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务