如图:请问按回车键到跳转页面发生了什么?
url示例图
第一步:解析输入的URL
当我们输入url的时候,首先浏览器一般会从我们的历史记录或者书签中将url补齐;然后判断这个url是否合法,能否访问
第二步:找到URL对应的IP
首先浏览器会先从本地host文件寻找url目标服务器ip地址,如果本地host不存在映射记录则从本地DNS服务器解析对应的ip地址;而DNS服务一般是由网络运营商提供,比如中国移动、中国电信等
第三步:浏览器与服务端进行连接
首先客户端会与服务端进行3次握手建立一个安全的数据传输环境,首先客户端会发送一个syn请求给服务端,服务端会给客户端一个syn+ack响应,最后由客户端再发送一个ack给服务端确认可以建立连接(3次握手后续文章详讲)
三次握手示例图
第四步:客户端发起http请求
客户端与服务端建立连接之后客户端发起http给服务端请求数据包
第五步:服务端响应请求
服务端接收到客户端的http请求后,返回客户端所请求的内容(html文档或者json数据等)
第六步:断开连接
客户端接收数据完成后发起请求断开连接,这个过程叫做"4次挥手",保证数据传输完整后安全无误断开与服务端的连接,释放客户端与服务端的相关资源(4次挥手后续文章详讲)
第七步:客户端浏览器渲染页面
客户端接收到服务端返回得数据后开始渲染页面,其中也包括请求静态资源,比如加载css、js、image等资源文件到本地