admin管理员组文章数量:1580456
当我们在浏览器中输入了一个URL 地址(如),从等待到页面显示的过
程中,后台究竟发生了什么处理呢?
. 解析域名地址为IP 地址
浏览器DNS 缓存:以Chrome 为例,在浏览器窗口中输入
chrome://net-internals/#dns,就可以查看 前浏览器DNS 缓存记录,chrome 的DNS
缓存过期时间还是比较短的,大约为 1 分钟。
本机DNS 缓存:在Windows 命令行模式下输入ipconfig /displaydns,就可以查看本机
DNS 缓存记录。许多主机在启动时从本地域名服务器下载域名和地址的全部数据库,维护
存放自 最近使用的域名的缓存。
本地域名服务器:在Windows 命令行模式下输入ipconfig /all,就可以查看本地DNS 服
务器的IP 地址,一般而言本地域名服务器都是由ISP 提供,主机通过UDP 和本地域名服
务器通信。如果在本地域名服务器高速缓存中搜索不到要转换的域名,就向更高级别的域名
服务器发起迭代查询,按根域名服务器 (一般查询根域名服务器都是遵循就近原则,中国有
3 个根服务器,位置分别为北京,香港,台北)-> 顶级域名服务器-> 权限域名服务器的
顺序查询。假如本地域名服务器高速缓存中存在顶级域名服务器 的IP 地址,那么本
地域名服务器可以不向根域名服务器进行查询,而是直接向com 顶级域名服务器发送UDP
请求报文,这样就可以大大减轻根域名服务器的负荷。维护本地域名服务器数据库的主机自
然应该定期地检查域名服务器以获取新的映射信息,而且主机必须从缓存中删掉无效的项。
二. TCP 连接建立
由上一步获取 的IP 地址8 后,客户端主机就会选择
一个未使用的端口 8:80 通信,在Windows 命令行模式下输入netstat,
就可以查看当前正在活动的TCP 连接。
Client 首先发送一个连接试探,ACK=0 表示确认号无效,SYN = 1 表示这是一个连接请
求或连接接受报文,同时表示这个数据报不能携带数据,seq = x 表示Client 自 的初始
序号。
Server 监听到连接请求报文后,如同意建立连接,则向Client 发送确认。TCP 报文首部
中的SYN 和 ACK 都置1 ,ack = x + 1 表示期望收到对方下一个报文段的第一个数据
字节序号是x+1,同时表明x 为止的所有数据都已正确收到,seq = y 表示Server 自
的初始序号。
Client 收到确认后还需再次发送确认,同时携带要发送给Server 的数据。ACK 置 1 表示
确认号ack= y + 1 有效,Client 自 的序号seq= x + 1 。
三. 浏览器给服务器发送一个http 请求
上一步中有提到Client 收到确认后还需再次发送确认,这时就可以携带要发送给Server
的数据,这个数据就是HTTP 请求报文。
HTTP 请求行:GET / HTTP/ 1.1
HTTP 请求首部:
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Charset: GBK,utf-8;q=0.7,*;q=0.3
Accept-Encoding: gzip,deflate,sdch
Accept-Language: zh-CN,zh;q=0.8
Connection: keep-alive
Cookie: 省略
Host:
If-Modified-Since: Mon, 22 Apr 2013 09:12:11 GMT
User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.21 (KHTML, like Gecko) Chrome/25.0.13
这里重点提一下Connection。
Connection 设置为keep-alive,就是Server 在发送响应后仍然在一段时间内保持这条
连接,使同一Client 可以继续在这条连接上传送后续的HTTP 请求报文和响应报文。对于
不同的web 服务器,如IIS,Apache,都有不同的keep-alive 过期时间, 然如果过期
时间太短,就达不到重用连接的效果,如果过期时间太长,则会造成占用资源的坏处。
四. 服务器给浏览器发送一个http 响应
Server 接收到http 请求的时候,
版权声明:本文标题:pdf意外的服务器响应,浏览器及服务器响应流程.pdf 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1726531722a1074217.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论