浏览器输入地址到返回页面

看了一些文章,做个总结。

 web使用HTTP(HyperText transfer protocol,超文本传输协议)作为规范,完成从客户端到服务端等一系列操作流程,协议是指规则的预定,可以说,web是建立在HTTP协议之上来通信的。

涉及三个方面,一是浏览器,二是服务器,三是它们通信的协议。

三个过程,一是浏览器发送信息HTTP Request Message到服务器;二是服务器处理后发送HTTP Response Message回给浏览器;三是浏览器把数据处理渲染到页面。

过程图:

有两个主要的过程:

(一)、DNS解析域名找到IP地址

(二)、协议栈 http->tcp->ip->链路层协议

下面分别介绍。

(一)、DNS解析域名找到IP地址

域名解析,其实就是根据用户输入的网址去寻找它对应的IP地址,比如输入www.baidu.com的网址就会经历以下过程

1.先从浏览器缓存里找IP,因为浏览器会缓存DNS记录一段时间

2.如没找到,再从Hosts文件查找是否有该域名和对应IP

3.如没找到,再从路由器缓存找

4.如没找到,再从DNS缓存查找

5.如果都没找到,浏览器域名服务器向根域名服务器(baidu.com)查找域名对应IP,还没找到就把请求转发到下一级,直到找到IP
如图:

简单图:

(二)、协议栈 http->tcp->ip->链路层协议

 网络是在TCP/IP协议族的基础上运行的,而HTTP属于它内部的一个子集。

HTTP的方法:

 TCP:为了解决这个问题,提高网络可靠性,TCP协议就诞生了。这个协议非常复杂,但可以近似认为,它就是有确认机制的UDP协议,每发出一个数据包都要求确认。如果有一个数据包遗失,就收不到确认,发出方就知道有必要重发这个数据包了。因此TCP协议能够确保数据不会遗失。

它的缺点是过程复杂、实现困难、消耗较多的资源。TCP协议具体实现是"三次握手":如图:

UDP : 我们必须在数据包中加入端口信息,这就需要新的协议。最简单的实现叫做UDP协议,UDP数据包,也是由"标头"和"数据"UDP协议的优点是比较简单,容易实现.

缺点:可靠性较差,一旦数据包发出,无法知道对方是否收到。

参考: 理解一个简单的网页请求过程TCP/IP协议

浏览器页面渲染,待补充。

原文地址:https://www.cnblogs.com/luoa/p/10619249.html