12
技术周刊 2020-10-27:Node.js 15 发布
source link: https://zhuanlan.zhihu.com/p/269920382
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
技术周刊 2020-10-27:Node.js 15 发布
前端开发话题下的优秀回答者
- Node.js 15 正式发布,同时 Node.js 14 进入 Active LTS 阶段(长期支持),Node.js 15 主要的新功能有:
- AbortController
- N-API 7
- QUIC (实验)
- V8 8.6(包含 Promise.any()、String.prototype.replaceAll()、
&&=, ||=, ??=
等) - 在应用未设置
unhandledRejection
回调时,Promise 中发生unhandledRejection
将默认抛出异常
- 在 Chrome 85 中,将 Referrer-Policy 的默认值从
no-referrer-when-downgrade
ref="https://www.chromestatus.com/feature/6251880185331712">改为了 strict-origin-when-cross-origin。Referrer-Policy 是用来控制浏览器请求头中 Referer 可以发送哪些信息,此次修改可以减少用户隐私的泄露,例如 URL 中可能包含的用户 ID、搜索关键词、token 等。还可能会对网站埋点、页面分析、缓存优化、服务器日志分析等功能造成影响。- Edge 80 起也将默认值切换为
strict-origin-when-cross-origin
- Firefox 68 起在 Nightly 版本默认启用了该策略,正式版尚未启用
- Safari 13.0.4 启用了类似的功能
- Edge 80 起也将默认值切换为
点评:Referer 正确拼写是 Referrer,但是在写入标准的时候,没人发现少了一个字母 r,为了保持向下兼容,后面只能将错就错,这恐怕是计算机界「最有名」的错别字了
Referrer-Policy 的取值如下(MDN 有一份完整的请求列表示例):
no-referrer
不发送 Refererno-referrer-when-downgrade
Chrome 85 之前的默认值,当从 HTTPS 网站发起 HTTP 请求时,不发送 referrer,其他情况 (HTTP→HTTP, HTTPS→HTTPS, HTTP→HTTPS) 发送完整的 URLorigin
始终只发送 referrer 中的 origin 信息(协议、域名、端口),例如 :https://example.com/page.html 将会只发送 https://example.com/origin-when-cross-origin
当同源时发送完整的 URL,跨域时只发送 origin 信息same-origin
只在同源时才发送完整 URL,跨域时不发送 Refererstrict-origin
只在安全降级的情况下(HTTPS→HTTP)不发送 Refererunsafe-url
始终发送完整的 URL 信息strict-origin-when-cross-origin
Chrome 85 的默认值,类似于origin-when-cross-origin
,当同源时发送完整的 URL,跨域时只发送 origin 信息,不同的是,同源且降级的时候不发送 Referer。例如:从 https://example.com/page 请求 http://example.org 将不会发送 Referer
解决方案:推荐仅在需要在 Referer 传入完整的 URL 信息的地方才手动设置为 no-referrer-when-downgrade
<!-- 通过 <a>, <area>, <img>, <iframe>, 或者<link>元素设置 referrerpolicy 属性 -->
<img src="" referrerpolicy="no-referrer-when-downgrade">
<!-- JS 中设置 referrerPolicy -->
<script>
fetch(url, { referrerPolicy: 'no-referrer-when-downgrade' })
</script>
- CSS Masonry(瀑布流)布局现在已经正式成为 CSS Grid Level 3 草案的一部分,Firefox Nightly 84 已经默认启用该特性。该规范的编辑和实现者是来自 Mozilla 的 Mats Palmgren。
- Chrome 87 实现了 CSS
text-decoration-thickness
和text-underline-offset
属性,分别可以控制文本装饰线(underline、overline、line-through、blink)的厚度和下划线(underline)的偏移位置。至此,所有现代浏览器均已支持这两个属性。 - 第十五届 D2 前端技术论坛将于 2020 年 12 月 19 日 和 12 月 20 日两天在优酷进行线上直播,本次 D2 调整了往年一天并行三个专场的形式,今年进行串行的内容设置,以便两天时间让大家可以看完全部的内容,收获更多的知识,获得更多的成长。
优秀 Demo
本期编辑:@一丝;审阅:@承虎。
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK