HTTP 协议(超文本传输协议),基于TCP协议的,它对应于应用层,主要解决包装数据和解析。
参考:https://www.jianshu.com/p/ac22fb251339
http访问网站的步骤原理:
- DNS域名解析,通过域名获取对应IP地址
- 根据IP地址访问网站服务器,TCP三次握手过程
- 用户向网站服务请求信息,HTTP请求过程(HTTP请求报文)
- 网站服务对用户请求进行响应,HTTP响应过程(HTTP响应报文)
- 断开连接,4次挥手过程
下面我们主要讲解前两步过程,后面有时间再补充
DNS域名解析
访问一个网站,都是使用主机名或域名来访问,通常不会直接通过IP地址来访问。为什么我们不用IP地址去访问呢?因为IP地址是一组纯数字,比较难记。但是易读的域名就比较清晰了。可是,计算机和人不一样。计算机比较擅长处理一长串数字。
为了解决这个问题,就有了DNS服务,提供域名到IP地址之间的解析服务。
步骤:
- 发起一个访问,第一步是请求本地DNS解析器,在缓存文件hosts中查找。
- 如果没有,请求本地的DNS服务器。
- 本地的DNS服务器一般部署在你的数据中心或所在运营商的网络中,本地DNS服务器需要查看本地是否有缓存,如果有则返回。
-
若无,本地DNS需要递归的从根DNS服务器,查到顶级域名服务器,最终查到权威DNS服务器,返回给本地DNS服务器。
图片.png
TCP三次握手过程
649054-20151022003050427-83789181.jpg- 握手过程中使用了TCP的标志-SYN和ACK。发送端首先发送一个S带SYN标志的数据包给对方。
- 接收端接到后,就会回传一个带有SYN/ACK标志的数据包 以表示传达确认信息。
- 最后,发送端再回传一个带ACK标志的数据包 给接收端。
网友评论