12

技术周刊 2020-10-27:Node.js 15 发布

 3 years ago
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.
neoserver,ios ssh client

技术周刊 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 将默认抛出异常
v2-d1ab8a87c2340bfe3eba52e96ef098b4_720w.jpg
  • 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 等。还可能会对网站埋点、页面分析、缓存优化、服务器日志分析等功能造成影响。

点评:Referer 正确拼写是 Referrer,但是在写入标准的时候,没人发现少了一个字母 r,为了保持向下兼容,后面只能将错就错,这恐怕是计算机界「最有名」的错别字了

Referrer-Policy 的取值如下(MDN 有一份完整的请求列表示例):

    • no-referrer 不发送 Referer
    • no-referrer-when-downgrade Chrome 85 之前的默认值,当从 HTTPS 网站发起 HTTP 请求时,不发送 referrer,其他情况 (HTTP→HTTP, HTTPS→HTTPS, HTTP→HTTPS) 发送完整的 URL
    • origin 始终只发送 referrer 中的 origin 信息(协议、域名、端口),例如 :https://example.com/page.html 将会只发送 https://example.com/
    • origin-when-cross-origin 当同源时发送完整的 URL,跨域时只发送 origin 信息
    • same-origin 只在同源时才发送完整 URL,跨域时不发送 Referer
    • strict-origin 只在安全降级的情况下(HTTPS→HTTP)不发送 Referer
    • unsafe-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>
  • Chrome 87 实现了 CSS text-decoration-thicknesstext-underline-offset 属性,分别可以控制文本装饰线(underline、overline、line-through、blink)的厚度和下划线(underline)的偏移位置。至此,所有现代浏览器均已支持这两个属性。
  • 第十五届 D2 前端技术论坛将于 2020 年 12 月 19 日12 月 20 日两天在优酷进行线上直播,本次 D2 调整了往年一天并行三个专场的形式,今年进行串行的内容设置,以便两天时间让大家可以看完全部的内容,收获更多的知识,获得更多的成长

优秀 Demo

v2-df1a8c7a8bc9141038d9a2d60fcaeed1_b.jpg
v2-f554624f26d6eeed49248fde12e65a5b_b.jpg

本期编辑:@一丝;审阅:@承虎。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK