3.4 Deno网络平台api

Deno的目标是使用网络平台API(例如fetch),而不是发明新的专有API。这些API通常遵循规范,并且与Chrome和Firefox中的实现相匹配。在某些情况下,由于Deno具有不同的安全模型,因此略微偏离规范是有意义的。

以下是Deno实现的网络平台API的列表:

fetch api

概述

fetchAPI可用于发出HTTP请求。它是按照WHATWGfetch规范中指定的方式实现的。

您可以在MDN上找到有关此API的文档 。

规范偏差

  • Deno用户代理没有cookie包。这样,set-cookie 响应上的标头不会被处理,也不会从可见的响应标头中过滤出来。
  • Deno不遵循同源策略,因为Deno用户代理当前没有起源的概念,并且它没有cookie包。这意味着Deno不需要采取措施防止利用身份验证的数据跨源泄漏。因此,Deno无法实现WHATWGfetch规范的以下部分:
    • 章节3.1\. 'Origin' header
    • 章节3.2\. CORS protocol
    • 章节3.5\. CORB
    • 章节3.6\. 'Cross-Origin-Resource-Policy' header
    • Atomic HTTP redirect handling.
    • opaqueredirect响应类型。
  • 一个fetchredirect的模式manual将返回一个basic响应,而不是opaqueredirect反应。

CustomEventEventTargetEventListener

概述

DOM事件API可用于分发和侦听应用程序中发生的事件。它是按照WHATWG DOM规范中指定的方式实现的 。

您可以在MDN上找到有关此API的文档 。

定义偏差

  • 事件不会冒泡,因为Deno没有DOM层次结构,所以没有树可以使事件冒泡/捕获。

Web Worker API

概述

WebWorker API可用于在单独的线程中执行代码。它是按照WHATWG HTML规范中指定的方式实现的 。

您可以在MDN上找到有关此API的文档 。

规范偏差

  • 当前不支持从Blob URL创建工作程序。
  • 当前发布的数据将序列化为JSON而不是结构化克隆。
  • 当前,对象所有权无法在工作人员之间转移。

其他API


typings

可以在lib.deno.shared_globals.d.tslib.deno.window.d.ts 文件中找到已实现的Web API的TypeScript定义 。

可以在lib.deno.worker.d.ts 文件中找到特定于工作人员的定义 。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第一步 此页面包含一些示例,以教您有关Deno的基础知识。 本文档假定您具有JavaScript的某些先决知识,尤...
    9e8aeff1c70c阅读 2,206评论 0 1
  • 随着掘金开启了第一期技术专题之“聊聊 Deno 的一些事儿”的征稿活动,赶在截稿日的最后一天(08/04),一篇新...
    hylerrix阅读 3,828评论 0 0
  • 要高效地使用Deno,您应该设置您的环境。这意味着设置shell自动完成,环境变量以及您选择的编辑器或IDE。 [...
    9e8aeff1c70c阅读 4,476评论 0 1
  • Deno可在macOS,Linux和Windows上运行。Deno是单个二进制可执行文件。它没有外部依赖。 [ht...
    9e8aeff1c70c阅读 4,048评论 0 1
  • 默认情况下,Deno是安全的。因此,除非您专门启用它,否则deno模块不能访问文件,网络或环境。要访问安全敏感的区...
    9e8aeff1c70c阅读 3,480评论 0 1

友情链接更多精彩内容