!DOCTYPE
是html5标准⽹⻚声明,且必须声明在HTML⽂档的第⼀⾏,来告知浏览器的解析器⽤什么⽂档标准解析这个⽂档,不同的渲染模式会影响到浏览器对于 CSS 代码甚⾄ JavaScript 脚本的解析。新特新
https://blog.csdn.net/weixin_42734488/article/details/81367690- 常见的
meta
标签,由name和content两个属性来定义,来描述⼀个HTML⽹⻚⽂档的属性,例如作者、⽇期和时间、⽹⻚描述、关键词、⻚⾯刷新等
<!-- 移动端视口 -->
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1,user-scalable=no"/>
<!-- 优先使用 IE 最新版本和 Chrome -->
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
名称 | 功能 |
---|---|
charset | ⽤于描述HTML⽂档的编码形式 |
viewport | 以控制视⼝的⼤⼩和⽐例 |
– | – |
– | – |
data-
属性,访问在 HTML或 DOM中的元素上设置的所有自定义数据属性(data-*)集
而现在,不鼓励使用data-属性。原因之一是,用户可以通过在浏览器中利用检查元素,轻松地修改属性值,借此修改数据。数据模型最好存储在 JavaScript 本身中,并利用框架提供的数据绑定,使之与 DOM 保持更新。
<div id="user" data-id="1234567890" data-user="johndoe" data-date-of-birth>John Doe
</div>
var el = document.querySelector('#user');
// el.id == 'user'
// el.dataset.id === '1234567890'
// el.dataset.user === 'johndoe'
// el.dataset.dateOfBirth === ''
el.dataset.dateOfBirth = '1960-10-03'; // set the DOB.
// 'someDataAttr' in el.dataset === false
el.dataset.someDataAttr = 'mydata';
// 'someDataAttr' in el.dataset === true
语义化
⽤恰当语义的html标签,让⻚⾯具有良好的结构与含义,⽐如<p>
标签就代表段落,<article>
代表正⽂内容等等。
开发者友好:能够清晰地看出⽹⻚的结构,也更为便于团队的开发和维护;
机器友好:带有语义的⽂字表现⼒丰富,更适合搜索引擎的爬⾍爬取有效信息
- 前端存储
-
网页之间的交互是通过HTTP协议传输数据的,而Http协议是无状态的协议 (数据提交后,浏览器和服务器的链接就会关闭,再此交互的时候 需要重新建立新的连接)
-
都是会话技术,会话是指浏览器和服务器之间的多次请求和响应,也就是说,从浏览器访问服务器开始,到访问服务器结束,浏览器关闭为止的这段时间内容产生的多次请求和响应,合起来叫做浏览器和服务器之间的一次会话。
-
超市积分卡,cookie可以跟踪会话,弥补HTTP无状态协议的不足。
- 实际上大多数的应用都是用 Cookie来实现Session跟踪的,第一次创建Session的时候,服务端会在HTTP协议中告诉客户端,需要在 Cookie 里面记录一个Session ID,以后每次请求把这个会话ID发送到服务器,我就知道你是谁了。即:session 的运行依赖 session id,而 session id 是存在 cookie中的。
- https://juejin.im/post/59c907d46fb9a00a4746e2db
https://juejin.im/post/5ad5b9116fb9a028e014fb19
https://juejin.im/post/5d73bbf3e51d4561e721df68
- script标签中
defer
和async
的区别?
src
和href
的区别:
src,当浏览器解析到该元素时,会暂停其他资源的下载和处理,知道将该资源加载、编译、执⾏完毕,所以⼀般js脚本会放在底部⽽不是头部。
href,是指向⽹络资源所在位置(的超链接),⽤来建⽴和当前元素或⽂档之间的连接,当浏览器识别到它他指向的⽂件时,就会并⾏下载资源,不会停⽌对当前⽂档的处理。- 浏览器渲染流程:https://pandapm.github.io/2017/10/24/Browser-rendering-process/#more