URL请求过程阶段
– 浏览器进程通过进程间通信(IPC)把URL发送到网络进程,网络进程开始URL请求
—— 网络进程判断本地是否缓存过此资源,我们认为没有缓存过(如果缓存过直接返回资源给浏览器进程)
—— 网络进程判断是否需要进行DNS解析获取IP,或者使用协议HTTPS时, 网络进程判断是否需要进行TLS连接,我们认为不需要这些额外步骤
负责把域名??映射为IP的系统就叫做“域名系统”,简称DNS。
SSL(Secure Sockets Layer 安全套接层), 及其继任者TLS(Transport Layer Security 传输层安全)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。
– 网络进程利?IP地址和服务器建?TCP连接
– 网络进程向服务器发送请求信息(请求?、请求头等信息)
– 服务器接收到请求信息后,根据请求信息生成响应数据(包括响应?、响应头和响应体等信息),并发给网络进程
– 网络进程接收了响应行和响应头之后,开始解析响应数据
(1)可能需要重定向
在导航过程中,如果服务器响应?的状态码包含了301、302?类的跳转信息,浏览器会跳转到新的地址继续导航,这就是重定向。
—— 我们认为响应?是200,不需要重定向,网络进程判断可以继续处理该请求。(需要重定向即跳转到新地址继续导航)
(2)处理响应数据类型
Content-Type是HTTP头中?个?常重要的字段, 它告诉浏览器服务器返回的响应体数据是什么类型。
浏览器会根据Content-Type的值来决定如何显?响应体的内容。
Content-Type的值是application/octet-stream,显?数据是字节流类型的,通常情况下,浏览器会按照下载类型来处理该请求,那么该请求会被提交给浏览器的下载管理器,同时该URL请求的导航流程就此结束。
Content-type字段的值是text/html,这就是告诉浏览器,服务器返回的数据是HTML格式。
—— 我们认为Content-type字段的值是text/html,服务器返回的数据是HTML格式,浏览器判断继续进?导航流程。