1 解析URL
浏览器做的第一步就是解析 URL 得到里面的参数。拆分访问协议(http/https),获得服务器域名(www.baidu.com),或得请求资源路径名(/userinfo/index.php)或得请求参数(username=nick)。将域名和需要请求的资源分离开来,从而了解需要请求的是哪个服务器,请求的是服务器上什么资源等等。
2 浏览器封装HTTP请求报文
解析完url后,浏览器此时就确定了请求的协议、服务器域名、请求路径、参数。接下来浏览器会根据这些内容封装成一个HTTP请求报文发出去。
请求行 GET /userinfo/index.php HTTPS/2.0
请求头 HOST:www.baidu.com
Contention:keey-alive
Content-Type:application/x-www-form-urlencoded
Content-Length:16
请求体 username=nick