1.背景
平时我们浏览网页,在浏览器的地址栏输入网址后回车,就可以看到相应网页的内容了。看起来很简单,但是这个过程的背后,实际经历了一系列复杂的交互。下面我们来讨论一下这个过程,本文只说明我所了解的主要过程。
2.说明
在计算机网络中,机器之间的交互实际是以ip地址进行请求路由的。因此,当我们输入网址后,需要进行一个映射,把网站的域名映射为对应的物理机ip地址。这个过程叫做域名解析。域名解析之后,主机会得到一个ip地址,主机会向这个ip地址发起一个tcp连接请求,连接上主机之后,主机会向web服务器发送一个http请求。web服务器收到请求后会进行处理,然后返回结果。然后根据http请求头的某个字段判断是否要关闭这个tcp连接。收到响应后,主机就会对收到的消息进行解析,然后把解析的结果渲染到浏览器页面上,最终就是我们看到的结果了。
3.补充
上面的过程有两个需要注意的地方,一个是DNS解析,这其实是一个比较复杂的过程。另一个是,当我们输入地址后,并不是每次都会向web服务器发起请求,可能会直接利用缓存的结果,这个缓存可能是浏览器的缓存,也可能是代理服务器的缓存,也可能是CDN缓存,还可能是数据库缓存。
后面会继续介绍一下这两个方面:DNS解析和缓存。
4.推荐文章