http是一种协议,计算机(其他终端也可以)只有通过遵守这种协议才能进行彼此的相互通信
HTTP流程
大致流程
- http客户端发起请求,创建端口
- http服务器在端口监听客户端请求
- http服务器向客户端返回状态和内容
具体流程(以Chrome为例)
- Chrome搜索自身的DNS缓存(可以通过chrome://net-internals/#dns查询)
- 搜索操作系统自身的DNS缓存(浏览器没有找到缓存或缓存已经失效)
- 读取本地的HOST文件(windows在C:\Windows\System32\drivers\etc )
- 浏览器发起一个DNS的一个系统调用(向本地主控DNS服务器(一般是宽带运营商提供)发起的一个域名解析请求)
宽带运营商的DNS服务器
- 宽带运营商服务器查看本身缓存
- 运营商服务器发起一个迭代DNS解析的请求(首先找根域的DNS IP地址)
运营商服务器把结果返回操作系统内核同时缓存起来
操作系统内核把结果返回浏览器
最终浏览器拿到xxxxx对应的IP地址
5.浏览器获得域名对应的IP地址后,发起HTTP”三次握手“