【问题标题】:Send some data to server without REST in JS在 JS 中不使用 REST 将一些数据发送到服务器
【发布时间】:2022-12-14 12:02:40
【问题描述】:

据我所知,REST 所做的就是通过添加一些标头来标准化发送到服务器的数据。例如 REST 请求可以生成一行字节,如下所示:POST /qwe HTTP/1.1 Host: 127.0.0.1 Connection: keep-alive 并以一些用户输入结束它。

现在我只是在玩写我自己的 JS 服务器,这是我的问题:在 JS 中是否有一种方法可以发送一些数据(字节)而无需像标头/方法这样的 REST 添加,它是否适用于浏览器和 HTTP 协议本身?

例如,不是发送POST /qwe HTTP/1.1 Host: 127.0.0.1 Connection: keep-alive MY DATA OVER THERE!!!,而是发送MY DATA OVER THERE!!!,这样我的服务器就可以只读取用户数据而没有其他任何内容。

我尝试用谷歌搜索并最终发现 XMLhttpRequestfetch 都需要指定一些 CRUD 方法并在请求中添加一些标头。

【问题讨论】:

  • 您的意思是要创建和使用自己的协议来替代 HTTP 吗?出于什么目的?

标签: javascript http


【解决方案1】:

HTTP 请求:

  • 需要指定方法
  • 需要将主机指定为标头(在 HTTP 1.1 和更新版本中)
  • 在浏览器中使用 JS 时会自动包含一些其他请求标头

这有与 REST 无关.这就是 HTTP 的工作原理。


非 HTTP 协议可以避免这种情况。浏览器中的 JavaScript 没有允许发出非 HTTP 请求的机制。


您可能想研究WebSocket,它允许通过单个连接进行双向通信……但这是由 HTTP 引导的,因此不能真正满足您的要求。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-03
    • 2017-06-15
    • 2014-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-05
    相关资源
    最近更新 更多