网络是怎么连接的-探索浏览器内部(一)
网络是怎么连接的-探索浏览器内部(一)
探索之旅的看点
探索之旅即将出发,出发之前我们先来介绍一下本次的看点
1、生成HTTP请求消息
本次探索之旅从用户在浏览器中输入网址(URL)开始,接下来浏览器的工作会从对用户输入的网址解析开始。浏览器如何解析网址就是我们的第一个看点。然后浏览器会根据网址的含义来生成请求消息、浏览器通过请求消息将用户需要哪些数据告知服务器,而请求消息实际的样子就是我们的第二个看点。只要理解了具体的消息长什么样,我们也就能够理解访问Web服务器时使用的HTTP协议的原理了、
2、向DNS服务查询Web服务器的IP地址
请求消息生成之后,浏览器会委托操作系统向Web服务器发送请求。但是浏览器必须告诉操作系统接收方的IP地址才行。因此浏览器必须先查出Web服务器的IP地址、网址中只有Web服务器的域名,因此浏览器需要向DNS服务器查询域名对应的IP地址,浏览器如何进行这一个操作也是看点之一
3、全世界DNS服务器大接力
这时,我们的旅程进入到了DNS服务器帮助浏览器查询IP地址这一个环节了。全世界共有上万台DNS服务器。他们相互接力才能完成IP地址的查询。而他们进行接力的方法也是看点之一
4、委托协议栈发送消息
查询到IP之后,浏览器就可以将消息委托给操作系统发送给Web服务器了,但这个委托到底是如何完成的呢?这也是看点之一、“委托给操作系统”这句话看似简单,但是关于委托给操作系统,其实有非常详细的规则,必须要遵守这些规则才能完成操作。由于只有编写程序的人才需要精通这些规则,所以面对一般人的图书中几乎很少见对这些规则的解释。不过,对这些规则有个大概的理解还是会有很多好处的。因为理解了向操作系统进行委托是的规则,我们就能明白做出某个委托时操作系统会给我们怎样的反馈,这可以说是相当具体的理解了网络的潜在能力。
docker