最近在学习web基础知识,发现有一个很基础但也比较重要的问题,我们在输入url后按下回车键到底发生了什么,这中间涉及到较多问题,我就简单的总结一下
大概的步骤是这样:
- DNS解析
- 建立TCP连接
- 发送HTTP请求报文
- 服务器接收请求并返回响应报文
- 浏览器对返回报文进行处理并显示出来
- 结束
1、DNS解析
我们日常中输入的url并不是真正的地址,它其实需要DNS服务器进行解析来获得目标IP地址来进行访问,这中间的过程暂且不讨论,最后的结果就是浏览器通过DNS服务器知道了url的IP地址,为了减少时间的消耗,我们可以通过使用DNS高速缓存对一些url对应的IP地址进行记录,从而使下次更快一些
2、建立TCP连接
通信有TCP和UDP两种方式,这里使用的是TCP,但是TCP目前掌握的不是很好,暂且不说
3、发送HTTP请求报文
请求报文有三部分:请求行、头部、数据体
4、服务器接受请求并返回相应报文