输入网址后发生了什么

48次阅读

共计 861 个字符,预计需要花费 3 分钟才能阅读完成。

1、输入网址,浏览器 检查网址格式 ,无效网址提示出错。
比如 bai du.com 就是格式错误。

2、没有指明用哪个协议,浏览器默认使用 http 协议。

3、必须知道域名的 IP 地址 才能发送给对应服务器。

4、通过 DNS 查询网址,查询顺序为
(1)先查浏览器缓存(浏览器会保存一段时间)
(2)再查系统缓存
(3)再查路由器缓存
(4)都没有查到,就去查 ISP(互联网服务提供商)的 DNS 服务器缓存
(5)最后就先后从根域名服务器(root)、.com 顶级域名服务器、Facebook 域名服务器中查找。

5、浏览器得到 IP 地址之后先于其进行 三次握手 ,连接成功后发送 HTTP(s) 请求。
请求头如下:

GET http://facebook.com/ HTTP/1.1
Accept: application/x-ms-application, image/jpeg, application/xaml+xml, [...]
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; [...]
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
Host: facebook.com
Cookie: datr=1265876274-[...]; locale=en_US; lsd=WW[...]; c_user=2101[...]

(1)我要获取的页面
(2) 我能接受的类型
(3) 操作系统 + 浏览器
(4) 支持的压缩方式
(5) 链接类型:长 / 短
(6) 主机域名
(7) 发送 cookies

6、web 服务器接收请求,决定使用哪个 请求处理程序(接受请求并生成 HTML)

7、请求处理程序获取请求头的参数和 cookies,并更新信息

8、生成 HTML 压缩并返回

9、浏览器获取并显示,遇到其他需要的资源,再向服务器请求。

注:
http 状态码
1**:信息,服务器收到请求,需要请求者继续执行操作
2**:成功,操作被成功接收并处理
3**:重定向,需要进一步的操作来完成请求
4**:客户端错误
5**:服务器错误

正文完
 0