在浏览器中输入URL地址到显示主页全过程
其中涉及的协议如下图:
该过程一共有七个步骤:
一、浏览器查找域名的IP地址——DNS解析
DNS解析就是一个递归查询过程:
比如域名:www.baidu.com.,
1、先在本地域名服务器中查询IP地址,如果没有会向根服务器发送请求;
2、根域名服务器不存在该域名时,给出对应的.com顶级域名服务器;
3、顶级域名服务没有,则会继续返回下一级域名服务器,依次类推下去
4、直到返回域名对应的IP地址
网址真正的解析过程是:.->.com.->baidu.com.->www.baidu.com.
DNS存在多级缓存:浏览器缓存、系统缓存、路由器缓存、IPS服务器缓存、根域名服务器缓存、顶级域名服务器缓存、主域名服务器缓存。
二、与服务器建立连接
三、发送HTTP请求
1、http协议
HTTP是一个客户端和服务器端请求和应答的标准(TCP)。客户端是终端用户,服务器端是网站。通过使用Web浏览器、网络爬虫或者其它的工具,客户端发起一个到服务器上指定端口(默认端口为80)的HTTP请求,也就是计算机通过网络进行通信的规则,是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据。
2、HTTP请求报文
一个HTTP请求报文由请求行、请求报头和请求正文三部分组成
请求行
=请求方法+请求地址+协议版本
比如:GET index.html HTTP/1.1
请求方法:GET、POST、PUT、DELETE、PATCH、HEAD、OPTIONS、TRACE。
请求地址:<协议>://<主机>:<端口>/<路径>注意:端口和路径有时可以省略
eg:https://localhost:8080/index.html?key1=value1&keys2=value2
协议版本:HTTP/主版本号.次版本号,常用的有HTTP/1.0和HTTP/1.1
请求报头
:允许客户端向服务器传递请求的附加信息和客户端自身的信息,常见的请求报头有: Accept, Accept-Charset, Accept-Encoding, Ac