一:相关概念说明:html
1.1: DNS(Domain name System)缓存: (域名系统)(查看本机的ipconfig/displaydns)linux
当电脑把一个域名解析完以后,它把这个这个域名和那个主机Ip地址相关联起来了,电脑吧这个关系存到DNS缓存表中,下次电脑再输入www.baidu.com的时候,电脑经过查找DNS缓存,就能够知道这个域名对应的IP地址了,再也不进行域名解析了,提升了效率浏览器
1.2: ip地址:缓存
ip地址对应好像门牌号,咱们经过这个地址能够找到主机的位置服务器
1.3:域名:(domain name):dom
Ip地址是4个数字,用顿号隔开,这个东西很差记,咱们通常用字母搭配数字的方式使用好比.www.baidu.com.,Ip地址和域名不是一一对应的,一个域名能够绑定多个IP,但在同一时刻一个域名只能解析成一个Ip地址(这个活由咱们的DNS帮咱们完成)url
二:相关请求大体流程操作系统
1:浏览器根据域名解析出来Ip地址server
2:浏览器根据IP地址进行Socket通讯htm
3:浏览器和客户端进行通讯,浏览器请求,服务器接收请求
4:浏览器和服务器断开连接
三:具体的流程
3.1:查找过程
1:浏览器先从本身DNS表中查找看有没有.www.baidu.com(对应的IP地址)
2:从操做系统中的DNS表中查找(维护域名和ip地址对应关系的一张表)
3:从操做系统host文件夹中查找
4:操做系统将域名发送到LDNS(本地区域域名系统),好比我在工大,那么LDNS服务器就在 咱们学校, 查找DNS缓存,继续失败的话发送一个迭代的DNS解析请求.
4.1:LDNS向Root name server(根域名服务器,存储每一个域名的域),Root name Server返回com域的顶级域名服务器地址
4.2:LDNS向com顶级域名服务器发送请求,返回www.bai.com域名服务器的地址
4.3:LDNS向www.baidu.com域名服务器发送请求,获得www.baidu.com的ip地址
5:LDNS获得Ip地址返给操做系统,并把这个iP地址缓存到DNS表中
6:操做系统将地址返给浏览器.同时也将IP地址缓存起来
7:如今浏览器已经获得了Ip地址
3.2:创建链接(三次握手)(采用TCP协议)
知道了百度的Ip地址,接下来是三次握手的实现链接
1:客户机向服务器发送创建链接请求(你好,很高兴认识你)
2:服务器接到请求后发送赞成链接请求(好的,很高兴认识你)
3:客户机接收到服务器赞成请求后,再次向服务器发送确认信号(我也很高兴认识你),自此主机和服务器两个创建链接
3.3:网页请求和显示
创建链接以后,那么服务器和客户机之间就会进行通信
3.1:客户机浏览器根据IP地址生成Http请求,请求包含文件的位置,请求的方式
3.2:服务器接收到http请求内容决定如何获取相应的HTML文件
3.3:服务器将相应的HTML文件发送给浏览器
3.4: 浏览器还没彻底接收HTML文件的时候,开始渲染,显示网页
3.5:根据html代码,继续请求图片,
3.4:断开过程(四次挥手过程)
1:客户机向服务器发送一个断开的请求(不早了,我该走了)
2:服务器接受到请求发送确认请求的信号(知道了)
3:服务器向客户端发送断开通知(我也该走了)
4:客户机接受到断开通知,反馈一个信号(好的),服务器接收到反馈信号断开连接