问题标签 [rfc]

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 投票
1 回答
1464 浏览

http - Conformant HTTP 1.1 Server and client-side connection half-close

I've observed a HTTP 1.1 Server implementation, which terminates a client connection as soon as it detects a client-side connection shutdown of its outgoing channel (or rather, either before or after sending a proper http response). Is this a conforming HTTP 1.1 implementation?

RFC 2616 Section 8.1.4 seems to suggest this is to be the proper behaviour:

When a client or server wishes to time-out it SHOULD issue a graceful close on the transport connection. Clients and servers SHOULD both constantly watch for the other side of the transport close, and respond to it as appropriate.

...

Servers SHOULD NOT close a connection in the middle of transmitting a response, unless a network or client failure is suspected.

Am I interpreting it right? Is there a more explicit reference about half-closed connection handling in the context of HTTP 1.1?

0 投票
2 回答
1942 浏览

java - RFC2396 - 什么是有效路径段?

问题领域

我需要定义特定路径段是否对RFC2396有效。规范说:

因此,例如,/foo是一个有效的路径段,但/fo?o不是因为 non-escaped ?。为了更正上面的例子,路径段应该写成/fo%3Fo

然而,规范只定义到达服务器的 URI 的有效性(想想:在 URL 栏中输入)。

我真正需要验证的是未转义的路径段是否有效。继续上面的例子,/fo?o这将是一个有效的资源,?就像你在 unescaping 时得到的一样%3F

这也意味着 URLhttp://foo.com/first/sec%2fond将解析为两个未转义的路径段,/first/sec/ond, 后者不仅必须被视为单个段而不是两个单独的段,而且在语法上也是有效的(作为未转义的路径段)。

问题

  • 我是否正确理解规范?
  • 任何人都可以为未转义的路径段建议一个 Java 验证器吗?
  • 任何人都可以提出一个不平凡的失败案例吗?
  • U + 00FF以上的字符怎么样,不能在路径段中使用吗?我认为它们是受支持的,至少在域名方面是这样。

编辑:正如迈克正确指出的那样,RFC3986 已经过时了 RFC2396。无论如何,我相信新的 RFC 比旧的 RFC 处理更多的案例(并且不会使某些路径段变得非法),因此同样的问题也适用。

0 投票
2 回答
13358 浏览

video - 如何在符合 RFC3984 的 RTP 中对 H264 数据包进行分段

我有 FFMPEG 流基线 h264 视频,我必须将其封装在 RTP 中并发送到 SIP 电话进行解码。我将 Linphone 与适用于 Windows 的 h264 插件和 Miria 一起用于解码进度。但是,有时我会从 FFMPEG 获得巨大的帧大小(3Kb ~ 9Kb),这显然不适合 MTU。

如果我“按原样”发送这些帧并信任 IP 分段功能,则某些手机能够很好地播放它,但其他手机会窒息并且无法解码流。我认为这是因为流不符合 RFC 3984,该 RFC 3984 规定不适合 MTU 的数据包必须分离到不同的 NALU 中,并使用 RTP 的标记功能标记帧的结尾。

我怎么知道我可以在哪里“剪切”I 或 P 帧?我注意到碎片化的 h264 数据包(没有标记标签的数据包)有时以 0xF8 结束,但无法完全得到模式,并且在描述如何通过 RTP 发送这些数据包的 RFC 3984 中没有指定如何执行此操作。

更新:有谁知道如何告诉 X264 库如何生成最大尺寸的 NALU?这样我应该能够避免这个问题。谢谢大家

0 投票
5 回答
1863 浏览

email - root@[127.1] 是语法上有效的电子邮件地址吗?

root@[127.1]语法上有效的电子邮件地址吗?

为什么?为什么不?

0 投票
5 回答
42788 浏览

url - 可以在 URL 中使用哪些字符?

我有一个应用程序,它采用 url 中的所有参数,如下所示:/category/subcategory/sub-subcategory. 我希望能够在 URL 的末尾给出额外的参数,比如page-2/order-desc. 这将使整个 URL 变为cat/subcat/sub-subcat{delimiting-character}page-2/order-desc.

我的问题是:我可以使用哪些字符作为{delimiting-character}. 我倾向于更喜欢“:”,因为我确信它永远不会出现在其他任何地方,但我不知道它是否符合标准,或者至少将来不会给我带来问题。

我记得 vimeo 使用了这样的东西:vimeo.com/video:{code}但他们似乎已经改变了这一点。

0 投票
2 回答
704 浏览

networking - 有没有办法强制 FTP 客户端在传输之前发出 ALLO 命令?

我正在开发一个 FTP 服务器,在 STOR 发生之前我需要文件大小,我看到有一个名为 ALLO 的命令,我想知道是否有办法强制客户端发出该命令,因为当然,客户端事先知道文件大小。

干杯。

0 投票
2 回答
1454 浏览

udp - 使用 RTSP/UDP,服务器如何知道在哪里发送回复?

虽然我还没有看到支持 RTSP 的播放器使用 UDP 作为 RTSP控制通道,但 RFC2326 允许使用 UDP。但是,它没有指定客户端应如何告诉服务器将 RTSP 回复发送到何处。是否有任何既定的惯例,还是我必须编造一个?

0 投票
1 回答
1136 浏览

php - IMAP 和命令 APPEND 及其参数和 RFC 2060

您能帮我理解 RFC 2060 中 APPEND 命令示例中的最后一个参数是什么吗?示例 C: A003 APPEND saved-messages (\Seen) {310} 以及 {310} 的含义

谢谢M。

0 投票
2 回答
2702 浏览

java - RFC3986 - 哪些 pchar 需要进行百分比编码?

我需要生成href一个 URI。除了需要百分比编码的保留字符之外,一切都很容易,例如链接/some/path;element应该显示为<a href="/some/path%3Belement">(我知道它path;element代表单个实体)。

最初我正在寻找一个可以执行此操作的 Java 库,但我最终自己编写了一些东西(请看下面的 Java 失败的原因,因为这个问题不是 Java 特定的)。

因此,RFC 3986确实建议何时不编码。当我读到它时,当角色属于unreserved (ALPHA / DIGIT / "-" / "." / "_" / "~")班级时,这应该发生。到现在为止还挺好。但是相反的情况呢?RFC 只提到百分比 ( %) 总是需要编码。但是其他人呢?

问题:假设所有非保留的内容都可以/应该进行百分比编码是否正确?例如,左括号(不一定需要编码,但分号需要;。如果我不对其进行编码,我最终会在关注时寻找/first* <a href="/first;second">。但是,正如预期的那样,<a href="/first(second">我总是最终会寻找。/first(second让我感到困惑的是,就 RFC 而言,两者(;属于同一sub-delims类。正如我想象的那样,对所有非保留的内容进行编码是一个安全的选择,但是对于本地化 URI 而言,SEOability 和用户友好性又如何呢?

现在,Java 库失败了。我试过这样做,
new java.net.URI("http", "site", "/pa;th", null).toASCIISTring()
但这http://site/pa;th并不好。观察到类似的结果:

  • javax.ws.rs.core.UriBuilder
  • Spring的UriUtils - 我已经尝试encodePath(String, String)encodePathSegment(String, String)

[*]是点击时在服务器端/first调用的结果HttpServletRequest.getServletPath()<a href="/first;second">

编辑:我可能需要提到这种行为是在 Tomcat 下观察到的,并且我检查了 Tomcat 6 和 7 的行为方式相同。

0 投票
2 回答
2491 浏览

http - 当我的代理出现内部错误时,返回 502 状态码是否正确?

我写了一个小代理,我想知道502 Bad Gateway当代理服务器本身有内部错误时,我返回错误是否正确。RFC似乎说只有在另一端的服务器给出错误响应时才这样做。

服务器在充当网关或代理时,在尝试满足请求时从它访问的上游服务器接收到无效响应。

我认为这意味着,例如,如果上游服务器设置的content-length标头与响应正文长度不同,我们应该设置一个502错误,即当响应无效时。

我是否误解了 RFC?