前端笔记
一、白屏
1、dns解析不到目标服务器→ 修改本地dns 8.8.8.8(海外)
2、页面请求304→ nginx cache-control:no-cache; → 页面响应为200 绕过缓存;
2.1、同时因为没有上cdn 静态资源存储在 /static 目录下 ,
location /static {
proxy_pass http://www_sayabc_com;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Request-ID $request_trace_id;
proxy_set_header X-Request-Seq $request_trace_seq;
}
location / {
proxy_pass http://www_sayabc_com;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Request-ID $request_trace_id;
proxy_set_header X-Request-Seq $request_trace_seq;
proxy_set_header Cache-Control no-cache;
}
|
3、网络缓慢,加载超时→ 500k+ (只能重构瘦身)
4、网络运营商广告注入,内容关键字屏蔽→ 终极 https防止篡改
二、域名加速厂商 ,CDN的坑
1、新版上线 发现 线上问题 不能退出登录,立刻fixed,但是刷新后bug仍然存在,查看代码,线上仍然是旧的;
加速规则:
1)exe, wmv,mp3,mp4 swf....jpeg,jpg, gif 等静态文件,
2)文件如果有带 ?则缓存10分钟;
3)html ,htm,js结尾的缓存12小时
4)3)中的文件中 带了 ?则不缓存
5)不符合上述规则的不缓存;
-》 修改规则为 服务站点 html不缓存,静态资源上CDN 不在规则内;
3、加速&缓存策略
3.1 缓存分为:浏览器缓存,dns缓存,服务器缓存,三方缓存
3.2 Expires 过期时间,格林威治时间,浏览器支持良好 case: Expires: Fri, 30 Oct 1998 14:19:41
3.3 Cache-Control
3.4 Last-Modify/If-Modified-Since → 304 没有修改,则直接使用本地缓存
3.5 ETag/If-None-Match ,rtag 资源的标签服务器生成,是否修改,否则304,
Last-Modified,Etag,Expire 混合
通常 Last-Modified,Etag,Expire 是一起混合使用的,特别是 Last-Modified 和 Expire 经常一起使用,因为 Expire 可以让浏览器完全不发起 Http 请求,而当浏览器强制 F5 的时候又有 Last-Modified ,这样就很好的达到了浏览器段缓存的效果。
Etag 和 Expire 一起使用时,先判断 Expire ,如果已经过期,再发起 Http 请求,如果 Etag 也过期,则返回 200 响应。如果 Etag 没有过期则返回 304 响应。
Last-Modified,Etag,Expires 三个同时使用时。先判断 Expire ,然后发送 Http 请求,服务器先判断 last-modified ,再判断 Etag ,必须都没有过期,才能返回 304 响应。
二、服务连接缓慢
1、ep节点解析问题,大部分国内dispatcher缓慢,原因为 ayaka解析 统统分发到了美国。
2、小运营商 www.sayabc.com域名解析不到
3、https 在无布点情况下,会导致更明显的延迟
4、特殊地区https ,wss的支持度堪忧,要分析是否是 网络监测故意为之;