标签:加载 端口 request 自身 开始 get uri dns服务器 类型
当我们在浏览器输入 www.baidu.com 时,浏览器就会加载出百度的主页,那么浏览器背后的处理是什么样的呢?当我们在浏览器中输入一个网址时,是不能直接连接的,需要用DNS地址解析将输入的URL网址转换为IP地址后才能连接。
具体过程分为:
1)在浏览器输入网址时,浏览器会先检查自己本地hosts文件有没有缓存,如果有,直接完成解析。
2)如果自身hosts文件没有缓存,则找LDNS(local DNS),本地DNS服务器如果有,直接完成解析。
3)如果hosts和本地DNS服务器都没有,则LDNS去外地的DNS服务器请求。
当我们发起一个请求时,首先要建立起socket连接,socket是要通过IP和端口建立的,所以要进行DNS解析。
连接成功建立后,开始向web服务器发送请求,当浏览器向Web服务器发出请求时,它向服务器传递了一个数据块,也就是请求信息,通常有get和post。
HTTP请求信息由3部分组成:
1)请求方法URI协议/版本
2)请求头(Request Header)
3)请求正文
服务器接到请求后进行处理。从它的文档空间中搜索子目录mydir的文件index.html。如果找到该文件,Web服务器把该文件内容传送给相应的Web浏览器。Web服务器首先传送一些HTTP头信息,比较常见的有:
1) HTTP 1.0 200 OK
2) MIME_Version:1.0
3) content_type ;指示HTTP体信息的MIME类型。
4) content_length
当应答结束后,浏览器与服务器必须断开,以保证其它浏览器能够与服务器建立连接。
标签:加载 端口 request 自身 开始 get uri dns服务器 类型
原文地址:https://blog.51cto.com/14375911/2415993