性能检测工具-------
国外:
YSlow:23条性能军规,打分制,提供浏览器插件
WebPageTest:真实浏览器,多地区,视屏截图
GooglePageSpeed:真实浏览器,移动端
国内:
性能魔方(推荐):多地区 运营商 多角度 优化建议---http://www.mmtrix.com 账号Owen
阿里测(老牌):多地区 多浏览器 访问限制
17CE:多地区评测访问速度,更偏运维
API测试与兼容--------
HTTP协议入门
为什么?
绝大多数的web应用,都建在http协议之上
是什么?
无状态、B/S模式应用层协议,多基于TCP协议
包含啥?
请求:报文格式(报头、正文、URI)、请求方法、请求头
响应:状态码、消息报头、响应正文
FAQ?
常见请求头:User-Agent、Cookie、Referrer
常见响应头:Content-Type 、 content-Length 、Cache
常见状态码:2xx(请求成功) 3xx(页面跳转)4xx(客户端请求错误,数据格式)5xx(服务器端错误)
参考资料 HTTP权威指南 TCP/IP详解
浏览器打开网页时发生了什么?(浏览器基本工作原理)
地址栏输入URL 之后
DNS解析(多级缓存)--解析输入的URL
请求(TCP连接 HTTP报文)
解析(解压 缓存处理 引用资源)--对压缩过的js css代码进行解压,以及图片 等引用资源
构建:DOM树(节点显隐 层次结构)
构建:cssom树(css优先级)
构建:render树(css匹配规则)
(render树的改变,导致重绘) Repaint+Reflow
Repaint:皮肤类外观改变引发的重新渲染,如背景色
Reflow:位置 大小 盒模型等发生变化需要重新布局
常见诱因:
页面滚动
页面缩放
添加样式
操作DOM(属性 样式 增删节点)
计算宽高位置等
脚本:文档状态(阻塞和延迟 内联和外联)
渲染页面(DOM+CSSOM--> Render-Tree)
1.API测试数据
工具: 谷歌浏览器 有内置的 DHC, postman也是一款很不错的API测试工具
包括:
1.请求构造
请求参数,请求头 请求方法
响应查看 格式化
2.请求管理
保存 命名空间管理(项目 服务)
3高阶用法
请求复制
数据导入导出
2.浏览器兼容3部区
1如何发现问题?
QuirksMode:兼容性列表
CanIUse:查询js特性,css属性,html5等的支持情况(推荐)
CanIUse.com
2 如何解决问题:
1 BrowserHacks:不同浏览器及版本支持的各种黑科技
BrowserHacks.com
2 Shim:补充老旧浏览器的不足,让代码更顺手
ES5Shim
ES6Shim
HTML5Shim
JSONShim
3 如何把事做绝:
渐进增强,工具:Modernizr(推荐) Feature.js
Modernizr:现代浏览器特征检测,助你渐进增强
Feature.js:类似 Modernizr比较轻量,不支持css
基于Modernizr做渐进增强(增强老旧浏览器的功能)
全局安装:Modernizr
获取配置:自定义构建
生成构建:命令行用法
引入脚本:直接页面引用
使用方法:JS+CSS