浏览器基础

为什么有些网页打开过程会很慢?

1)网络速度慢、

2)js加载位置错误放在了html前 阻塞了页面的加载、

3)没有做资源缓存、

4)资源过大、过多、没有做压缩,没有配置到cdn

浏览器为什么第二次比第一次快?

第一次加载会dns查找ip映射,并把这个缓存到浏览器;

第二次直接读缓存,根据ip建立tcp 链接,发送http请求,这时候如果资源已经加载过的,会从本地缓存读取;

资源本地缓存的过程?

通过http头部的cache-control max-age 设置过期时间,

如果过期了 ,会在请求头上 if-none-match 来判断资源是否更新,

如果没有更新,会返回304, 继续使用该资源 ,

如果更新了,会返回最新的资源。

如何保持登录状态?

在登录的时候把客户端的用户名密码发送给服务器 ,

服务器验证过后会生成用户标识token ,并且在头部信息里塞入 set cookie,

浏览器拿到这个信息后 ,会存到本地 ,下次再进入该网站,会把本地的cookie塞入到header头部 cookie中 ,服务器去做校验

页面加载

域名解析,得到ip,找到服务器,

三次握手,服务器返回html,浏览器解析html,

请求css和js静态资源,生成dom树和css树,变成合成树,

渲染真实dom,呈现页面,请求完成后四次挥手;

优化

1)图片懒加载

2)防抖节流

3)静态资源按需加载 (import) ,放到cdn

4)服务端渲染ssr 将css放到顶部,优先渲染,js在底部

5)使用虚拟dom渲染方案,做到最小化操纵真实的dom

(虚拟dom 就是javascript 对象树, 并不实际操作dom ,并且渲染也是渲染最小单位

,所以性能高)

http 状态码

200 成功

204 请求成功 但是没有资源

301 永久重定向

304 缓存

400 客户端请求错误

401 需要http认证

403 权限问题

404 找不到服务器上的资源

500 服务器错误

502 网关错误

503 服务器超载

504 网关超时

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值