1、构建请求
GET /index.html HTTP1.1<br>
3、准备IP地址和端口,即将发送TCP请求
1、首先搜索浏览器自身的DNS缓存,如果存在,则域名解析到此完成。
2、尝试读取操作系统的hosts文件看是否存在对应的映射关系,如果存在,则域名解析到此完成
3、查找本地DNS服务器(ISP服务器,或者自己手动设置的DNS服务器),如果存在,域名到此解析完成。
4、如果本地DNS服务器还没找到的话,它就会向根服务器发出请求,进行递归查询。
4、TCP连接
TCP的连接与断开
HTTP/0.9版本
请求以短连接进行,每次发送完HTTP响应之后,服务器就会断开TCP连接
HTTP/1.1 将Connection: Keep-alive写进标准
Connection: close 每次 HTTP请求都重新建立TCP连接
Connection: keep-alive 一次TCP连接发送多个HTTP请求,但是在响应的时候必须排队响应。
队头阻塞:单个TCP连接在一个时刻只能处理一个HTTP请求,也就是说一个请求处理完成后才能处理下一个请求,某个请求响应时间过长,后面的响应会被阻塞。
同一域名同时最多建立6个(chrome)TCP连接。