浏览器完成页面渲染的执行
https://www.starpool.cn
#Java开发#
览器根据这个ip以及相应的端口号,构造一个http请求,这个请求报文会包括这次请求的信息,主要是请求方法,请求说明和请求附带的数据,并将这个http请求封装再一个tcp包中,星池科技 这个tcp包会依次经过传输层,网络层,数据链路层,物理层到达服务器,服务器解析这个请求来作出响应,返回相应的html给浏览器浏览器拿到HTML后,遇见HTML和CSS之后渲染引擎会立即解析,如果遇到CSS连接会发起请求连接并继续解析剩下代码,等下载完后,则解析下载的,等遇到js代码则会停下来用JS解析器解析js代码,当遇到JS连接则会停下来下载JS等下载完后才继续解析,之后是渲染页面,因为html文件中会含有图片,视频,音频等资源,在解析DOM的过程中,遇到这些都会进行并行下载,浏览器对每个域的并行下载数量有一定的限制,一般是9-6个,当然在这些所有的请求中我们还需要关注的就是缓存,缓存一般通过Cache-Contorl,Last-Modify,Expires等首部字段控制。
Cache-Control和Expires的区别在于Cache-Control使用相对时间,Expires使用的是基于服务器端的绝对时间,因为存在时差问题,一般采用Cache-Control,在请求这些有设置了缓存的数据是,会先查看是否过期,如果没有过期则直接使用本地缓存,过期则请求并在服务器校验文件是否修改,如果上一次响应设置了ETag值会在这次请求的时候作为If-None-Match的值交给服务器校验。https://www.starpool.cn
#Java开发#