HTML及浏览器
HTML5新增一些标签
语义化标签:nav; header; content; footer; article;video
http的报文的主要组成
请求报文:
1,请求行。 该行包含了一个方法和一个请求的URL,还包含HTTP 的版本。
2,请求头
3,空行
4,请求体。
响应报文:
1,状态行。 该行包含了请求资源的状况。
2,响应头
3,空行
4,响应体。
DOCTYPE标签的作用
- 在标准模式中,浏览器以其支持的最高标准呈现页面。
- 在混杂模式中,浏览器以一种较宽松的方式向后兼容浏览器。
ContentType类型:
- application/x-www-form-urlencoded:提交post请求时会使用这种方式。浏览器提交原生form表单,不设置enctype时,会默认是这样的方式。
- multipart/form-data:用于上传文件。
- application/json:同样是请求时使用的,指定即可。
- text/html:
移动端适配
<meta name="viewport" content="width=device-width, initial-scale=1.0">
width=可视区域的宽度
inital-scale=页面首次显示可视区域的缩放级别
user-scalable=no 用户不可以手动缩放
移动端点透
移动端当弹窗点击关闭时可能触发底层元素的click事件
原因:当一个用户在点击屏幕的时候,系统会触发touch事件和click事件,touch事件优先处理,touch事件经过 捕获,处理, 冒泡 一系列流程处理完成后, 才回去触发click事件。 而移动端的click事件会延时300ms执行,所以触发底层元素。
解决:
- 引入github的fastclick.js文件
- click事件全换为touch事件
HTTP缓存又叫浏览器缓存
HTTP主要控制缓存的字段有
- Expires: 表示资源过期的日期
- Cache-control: 指的是从文档被访问后的存活时间,这个时间是个相对值(比如:3600s)
- Last-Modified: 表示最后一次更新资源的时间
HTTP缓存分为强制缓存和协商缓存
- 对于强制缓存,服务器返回一个过期时间,过期时间内,下次请求,直接用缓存,过期后执行协商缓存
- 带上缓存的头部字段,服务器验证资源是否改变,返回304,代表资源未改变。返回200,就重新请求资源。
浏览器的渲染过程
- 解析HTML生成DOM树
- 解析CSS生成CSS规则树
- 将DOM树和CSS规则树合并生成渲染树
- 遍历渲染树开始布局,计算每一个节点的位置信息,将渲染树中每个节点绘制到屏幕上。
回流与重绘
回流: 当渲染的一部分元素更改自己的宽高等,导致重新构建页面