0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

正确的HTTP协议实现意味着什么

jf_wN0SrCdH 来源:Rust语言中文社区 作者:hsqStephenZhang 2022-10-12 09:57 次阅读

Fyrox 0.28 发布

Fyrox 是一个功能丰富、可用于生产的通用 2D/3D 游戏引擎,其采用 Rust 编写,并带有场景编辑器,能帮助你进行高效的开发。 近日,其发布了 0.28 版本,包括了一系列改进和修复,让你的游戏开发更加便捷。主要改动点为:

脚本的执行流改进;

用户界面的优化;

资源预览;

2D 游戏支持精灵图;

...

“正确的” HTTP 协议实现意味着什么

hyper 是一个非常完善且“正确的” HTTP 协议实现,广泛应用于各个项目中,有位网友在 reddit 上发帖问:像 hyper 这样的 HTTP 协议实现,声称是“正确的”,这到底意味着什么? 以下节选自高赞回答:

协议类似于一组规则。其规定了可接受的数据格式、在不同站点中允许哪些指令、应当采取的行为......。超文本传输协议(HTTP)也对应一个这样的规则列表,例如: a. 请求的第一行必须以动词(GET、POST 等)、url 和 HTTP 版本开头,然后是换行符; b. 标头必须采用特定格式。

例如,标题的名称不能包含 “:” 字符; c. 如果请求包含正文,则必须声明长度。 如果说 HTTP 协议的实现是“正确的”,背后的想法是,用户必须不可能生成无效的 HTTP 请求。例如,一旦您开始发送正文,就不可能设置 HTTP 头部,因为这样做是无效的。

从另一个角度来看,特别是对于像 HTTP 这样的协议,它比 RFC 规定的内容更难实现。最“正确的”实现,在应用于现实世界时,总会遇到一长串奇怪但合法的行为,这将使一些客户端或服务器在某些时候崩溃。

有时候在现实世界中,你需要忍受一些不正确的实现。例如 Cloudflare 就没有将 Hyper 应用于他们的 Rusty Proxy 服务中,因为它太严格了,不满足 Cloudflare 对于现实应用的需求。





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • RFC
    RFC
    +关注

    关注

    0

    文章

    16

    浏览量

    10086
  • HTTP协议
    +关注

    关注

    0

    文章

    59

    浏览量

    9680
  • Rust
    +关注

    关注

    1

    文章

    227

    浏览量

    6500

原文标题:【Rust日报】2022-10-11 “正确的” HTTP 协议实现意味着什么

文章出处:【微信号:Rust语言中文社区,微信公众号:Rust语言中文社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    在stm32中系统时钟到底意味着什么???

    stm32任何程序都要先配置时钟,这个时钟到底意味着什么?有什么意义? 是否就是一种开关? 还是有什么其他作用?? 求大神回答 ~~~
    发表于 07-22 20:11

    请问diagnostic测试失败意味着什么?板子有问题?

    本帖最后由 一只耳朵怪 于 2018-6-25 10:50 编辑 请问diagnostic测试失败意味着什么?板子有问题?(ps:u***和emulation这两项测试过了)。欢迎赐教,不胜感激。
    发表于 06-25 02:59

    单模模块意味着什么?

    我们的产品里有CYBLY-022001的BLE芯片。在数据表中,它被描述为蓝牙4.1“单模模块”,单模模块意味着什么?当使用这个SoC时,我是否能够采用BT核心版本4.2的BT特征,比如广告扩展
    发表于 12-04 14:48

    FPGA的底板尺寸意味着什么

    嗨,在5月的研究文章中,提到FPGA的底板假定为64 * 64 ..有些假设为80 * 120。那它究竟意味着什么呢?这是否意味着CLB被放置在2D数组中作为矩形(W * H)并且总共(64
    发表于 03-22 14:52

    请问CARTIAN在函数CysLysIsStValualValuy中意味着什么?

    CARTIAN在函数CysLysIsStValualValuy中意味着什么?
    发表于 10-18 10:15

    新表中的变量变成红色意味着什么?

    嗨,那里。我想问一个问题(对我来说非常重要),在单击“继续”按钮之后(在调试模式下),附件中的变量变为红色。这意味着程序已经经历了一个循环。但是其他变量不会改变颜色(应该是)。为什么会这样?请给我一些调试的线索。谢谢您。
    发表于 04-06 18:20

    请问端点是否意味着延迟?

    这是时间报告。我试图从我的代码中找到延迟。我无法专门找到延迟,但发现Max延迟高于此。这是最大延迟吗?这是否意味着输出需要138317个时钟周期?如果不是这意味着什么?先谢谢你
    发表于 04-22 10:13

    Virtex7 PCIe硬IP是否意味着FPGA内部的ASIC

    Virtex 7 PCIe硬IP是否意味着FPGA内部的ASIC?或者像Tandem方法一样,在第一阶段,CPLD将PCIe初始配置加载到FPGA? (http://www.em.avnet.com
    发表于 05-29 12:52

    POST约束是否意味着回读CRC启用

    之间的时间间隔?还有一个问题:当POST_CRC约束设置为ENABLE时,是否意味着配置数据(或至少其中的一部分)被回读到用户逻辑中...减少可用于用户设计的资源?谢谢。
    发表于 06-10 09:31

    请问导入SystemVerilog程序包意味着什么?

    导入SystemVerilog程序包意味着什么?
    发表于 12-11 06:53

    重负载和空载时的ZO意味着什么?

    最常用于小信号放大器的输出拓扑介绍重负载和空载时的ZO意味着什么?
    发表于 04-08 06:40

    系统最可靠意味着什么,如何实现

    每次看电视、听广播或看大街上的广告牌时,都能看到推销产品比竞争对手更加可靠的广告。从汽车公司、工具公司到半导体公司的每个人都在尝试证明他们公司生产的产品是唯一可信赖的产品。有如此多的营销以可靠性为焦点说明可靠性是一项重要的问题。但是,到底最可靠意味着什么呢?
    发表于 04-18 07:54 1377次阅读
    系统最可靠<b class='flag-5'>意味着</b>什么,如何<b class='flag-5'>实现</b>?

    5G到底意味着什么?它能颠覆时代?

    5G意味着什么?意味着更快的上传下载速度、炫酷的VR娱乐体验、城市物联、无人驾驶、远程医疗。5G不仅仅是网速那么简单,它能颠覆时代!
    发表于 06-21 02:15 1869次阅读

    能量收集意味着什么?

    能量收集意味着什么?
    发表于 03-21 10:08 2次下载
    能量收集<b class='flag-5'>意味着</b>什么?

    鸿蒙开源意味着什么

    鸿蒙开源意味着什么?在华为开发者大会上,大家都为鸿蒙系统而激动,当华为表示会开源的时候,现场掌声雷动。鸿蒙是华为的一个技术产品,鸿蒙好的话大家都点赞华为,鸿蒙不好的话也有人会喷华为。但是鸿蒙系统开源后,就没那么简单了。那么鸿蒙开源意味着什么?
    的头像 发表于 06-28 10:35 7482次阅读