问题标签 [http-protocols]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
38 浏览

protocols - coap 服务是否存在描述文件?

COAP 是否有等效的 WADL 或 WSDL?Restlet 等 Rest 服务的 API 具有 addQueryParameter for Request 之类的功能,可用于在通过 WADL 知道查询或路径参数后生成请求 JSON。但 COAP 只是给出和接受字符串。那么用什么分隔符来分隔不同的参数呢?描述文件不应该提供有关此的信息吗?

0 投票
1 回答
341 浏览

node.js - Tor ControlPort 访问 - 安全问题?

如果我启用我的 Tor 控制端口 9051 以允许所有 localhost 连接发送信号和修改 Tor,我会遇到什么安全风险?

建议我要求对控制端口访问进行密码验证,但说我不要,或者不能 -生成 Tor 控制端口密码

如果我不设置密码会发生什么或可能发生什么?谢谢

0 投票
1 回答
5024 浏览

c# - 在 c# 中通过 tcp 连接发出 post 请求

我问这个问题主要是为了学习。首先,我尝试发出一个常规的发布请求,但我收到了这个错误:C#:Handling WebClient "protocol violation"。然后我试图建立一个原始的联系以了解正在发生的事情并最终成为古玩。

无论如何,这是我的问题:

我正在使用提琴手来捕获我试图复制的发布请求。以下是在 fiddler 上捕获请求时的样子:

在此处输入图像描述

请注意,顶部有请求,底部有响应。另请参阅我的响应是 200 OK

另一个证明这有效的证据是当我运行这个 curl 命令时: 在此处输入图像描述 注意我是如何得到响应的。

现在我想用 c# 做同样的事情,这是我的代码:

为什么我没有收到 200 响应?我做错了什么:/。我想知道我做错了什么。

0 投票
0 回答
608 浏览

java - 如何正确管理 HTTP 连接?

考虑到我发送给客户端的文件包含代表未来 HTTP 请求的其他链接文件,我想知道如何正确管理以下 HTTP 响应。

我知道我可以关闭 PrintWriter,这将向客户端指示正文已完成,但如果我这样做,我看不到如何接收对“first.html”中链接页面的后续请求。我尝试包含内容长度标头,但似乎我可能错误地计算了长度,因为在发送“first.html”块/停止后尝试从输入流中读取。这告诉我客户端没有意识到 first.html 文件已完成发送。我已经阅读了 RFC 2616,但坦率地说,如果没有适当的例子,我很难理解它。在协议方面,我是一个真正的孩子,所以任何帮助将不胜感激!

0 投票
1 回答
1805 浏览

database - 用于软删除和恢复软删除资源的 REST 是有限的

这不是一个技术问题,而是对这个主题的反思。

REST 已经民主化了一种使用 HTTP 协议提供资源的好方法,并让开发人员通过拆分资源和用户界面来做最干净的项目(后端现在真的只使用 REST API 来处理后端)。

关于这些 API,大多数时候我们使用 GET、PUT/PATCH(嗯?)、POST 和 DELETE,它们都模仿 CRUD 数据库。

但是随着我们项目花费的时间的流逝,我们觉得可以通过添加大量出色的功能来改进用户体验。例如,为什么用户会害怕删除资源?为什么不只是放置一个恢复系统(就像我们在 Google Keep 应用程序中看到的那样,它可以让我们撤消删除,我认为这在 UX 方面很棒)。

防止无意删除的一种做法是在表中使用表示资源的列。例如,我要删除一本书,因此通过单击删除按钮,我只会在我的数据库中将此行标记为“deleted = TRUE”,并防止在浏览资源列表(GET)时显示已删除的行.

最后一个与我们亲爱的 REST 模式相冲突,因为 DELETE 和 DESTROY “方法”之间没有区别。

我的意思是,我们是否应该考虑让 REST 发展到我们的用户体验需求,所以我的意思是也让 HTTP 协议发展,或者这应该保持作为一种纯粹的资源管理,我们应该遵循 HTTP 协议而不是试图打扰它和只是使用解决方法来适应它(比如使用 PATCH 进行软删除)?

Personnaly 我希望看到至少 4 个新协议,因为我们正在尝试尽可能好地限定资源:

  • DELETE成为一种防止其他方法对其产生影响的方法
  • 通过完全删除此资源的痕迹,DESTROY变得更加引人注目
  • RECOVER是一种对其他方法说“嘿,伙计们,他回来了,敬请期待”的方式
  • TRASH类似于 GET 但仅适用于 DELETED 资源

让我想到它的是我对处理这种资源行为的干净 REST 解决方案的研究。我看过一些网站帖子,包括

这建议我们使用 PUT 或 PATCH 使软删除变得可用,但我觉得这听起来不对,不是吗?

我对这个问题的想法:

  • 在提出新的 HTTP 方法和更新以前的方法之间是否有很大的进步(我听说 HTTP/2 是一回事,也许我们可以将它们发布?)
  • 在网络开发领域之外有意义吗?我的意思是这种变化是否会影响我们的其他域?
0 投票
1 回答
391 浏览

c++ - 如何将 QWebEngineUrlRequestInfo 重定向到本地文件?

我有一个简单的 Qt 应用程序,可以在QWebEngineView. 我想将url中带有“static”一词的所有http请求重定向到本地文件。使用WebUrlRequestInterceptor我重新实现了该interceptRequest方法。这是代码:

在主要功能中我做了

interceptRequest似乎工作正常,但我收到一条消息。

不允许加载本地资源

我在网上搜索,我很多人都说我应该添加--disable-web-security标志。所以我在我的.pro文件中做了:

但这似乎不起作用。难道我做错了什么?有不同的解决方案吗?我可以制作自定义协议来提供本地文件并在 Qt 中重定向到它们作为解决方法吗?

我正在使用 Qt 5.9.1 和 QtCreator 4.3.1。

0 投票
0 回答
87 浏览

http - HTTP 1.1 标头值的格式是什么?

我阅读了 rfc7230 第 3.2 节。删除过时的规则后,关于 header 字段的规范是:

我对 的定义感到困惑field-content。它似乎匹配 1 或 2 VCHARs,其间有任意数量的空格,但匹配后不会匹配另一个空格field-content

例如 for name:a<sp>b<sp>c,field-name会匹配name, 但是field-content会匹配a<sp>b然后 next<sp>不能被 another 匹配field-content, 因此这个 header 是无效的。

但是,name:a<sp>bc<sp>d是有效的,因为field-content,a<sp>b和有两个匹配项c<sp>d

我认为这是不一致的。这是故意的还是我误解了什么?

0 投票
1 回答
1013 浏览

jmeter - 我们可以更改influx db的http协议的绑定地址吗

我正在尝试更改 [http] 协议的绑定地址,使用它我能够发送结果但我无法访问 iflux CLI。

我尝试将 [http] 的绑定地址从 8086 更改为其他数字。但是我无法访问 influx CLI。但是当我的绑定地址为 8086 时,我可以访问 influx CLI。

我可能必须将绑定地址从 8086 更改为任何其他地址,因为此端口已被其他服务使用。

请任何人都可以帮助我了解如何更改可以使用 influx CLI 的 [http] 绑定地址。

0 投票
1 回答
3165 浏览

asp.net-mvc - web.config 文件中的自定义标头

如何将实体/参数添加到我的 asp.net mvc 应用程序中。我想允许 cors 通过 asp.net webservice 将 ajax 请求发送到数据库中。有没有人有解决这个问题的经验?

它向我显示了一个错误,在我想要访问的值的 lang 和 host 部分下划线。

温暖的问候

0 投票
2 回答
1226 浏览

json - 从 System.JSONParser 到 JsonParser 的非法分配

在 JsnoToApex 类中,我尝试从https://openweathermap.org/current获取 JSON 文件。当我尝试解析 JSON.CreateParses 时出现以下错误: Illegal assignment from System.JSONParser to JsonParser

我尝试制作显示伦敦天气的 API。

公共共享类 JsonToApex {

}

我希望获得 Json 文件,并在未来使用https://json2apex.herokuapp.com/映射它