Giter VIP home page Giter VIP logo

http-rfcs.zh-cn's Introduction

已过时!!!

最新的 HTTP RFC911* 系列的状态已经是 Standard Track 了,所以自然而然地,本项目所翻译的是 RFC723* 系列已经过期,但仍然有参考价值。

HTTP 相关的 RFCs 中英文对照

本项目不只是一个单纯对 HTTP RFCs 的翻译,中间夹杂着大量的英文标注和译注,这是出于提高英文水平和 HTTP 学习笔记双重目的的,所以排版看起来会比较混乱一点。

虽说 HTTP/1.1 也不是什么新技术了(HTTP/3 is coming!),但还是最为广泛的一个版本,因此, 本项目会先从 HTTP/1.1 的现行规范开始翻译。

翻译工作是非常花时间的,如果你觉得对你有帮助的话,欢迎 🌟 一个。

翻译进度

另外,目前 RFC723* 系列文档已有多个堪误表(Errata),目前还未有计划对其进行翻译。如果要查看最新的堪误,请移步这里

注意: 目前 RFC723* 系列文档正被再一次修订,只不过直到现在为止还是处于草案阶段(Internet-Draft)。你可以在这里查看总体的情况,你还可以在这里查看 RFC723* 与这份草案的改动对比

初衷

那我们如何能找到最可靠的资料?最简单的办法就是:“尽可能找到第一手资料!也就是说,要从最权威的渠道里获取原生资料”, 不得不说,基本上计算机领域里绝大部分一手技术标准都是用英文编写的,而且国内中文技术资料相对比较滞后。比如,我搜遍网终基本上能找到的 HTTP/1.1 的完整翻译文档仅限于 RFC2616,(是我的姿势不对?)要知道,RFC2616 早已经被明确废弃了,即使它的许多内容都被继承到 RFC723* 系列文档中,HTTP 工作组的主席还是建议你不要再看 RFC2616 了

鉴于上述的种种困难,加上我也想系统学习一下 HTTP 体系,使我萌生了翻译 RFC 的想法。这就是本项目诞生的初衷,出于学习目的,嗯嗯。

有时我们在不经意地误导人

前段时候我在翻译的时候,经常要到网上对比相关的术语翻译,令我意外的是近一年内发表的很多介绍 HTTP 的文章里都提及到“实体”(Entity)这个术语,这分明就是 RFC2616 的术语,而且那些文章里的很多参考资料都引自被废弃的 RFC2616 。还有就是,现在都 Java 11 了,网上搜一下最近半年内所发表的 JDK 安装教程还在教人设置 CLASSPATH 环境变量,你知道吗?早在 Java 5 开始就完全可以不用设置环境变量了。也就是说,我们在努力学习过期的技术,然后将学到的“新知识”分享给等待学习新知识的新人。

我也很怕会误导人,所以采用了中英文版本,一段英文,一段译文。译文中还会对必要的词组进行英文标注,以及偶尔在译文后添加本人的(蹩脚的)译注,虽然这样会导致篇幅加倍,但我觉得值得的,毕竟本项目还有一个目的是学英文。

本项目会原文引用 httpwg.org 版本的 RFC,而不是 tools.ietf.org 版或者纯文本版本,是因为 httpwg.org 并没有像原文一样规定了换行,但它们的内容都是一样的。

如何使用?

开始之前,先问问自己:

  1. RFC 有什么类型?什么是 Standard Track?
  2. 这一份 RFC 是不是最新的、它有后续更新或相关前置 RFC 吗?
  3. RFC 里的 MUST、SHALL、SHOULD、MAY、OPTIONAL 等有什么区别?
  4. 什么是 ABNF?

如果你对上述问题一脸懵逼的话,强烈建议你先看一下 Mark Nottingham 大神博客上的一篇文章:

然后就可以直接访问:https://duoani.github.io/HTTP-RFCs.zh-cn/,我会直接转换为 HTML 版本。

如何参与?

额,老实说,这个只是我的个人项目而已,所以我选择了我最喜欢的 Org mode 来进行写作。当然,这不是我任性,实在是 Org mode 太适合于写作了。

But,它是基于 Emacs 的,至于 Emacs 的学习曲线...你懂的,反正我断断续续用了几年还是觉得很难驾驭它,所以不是很建议你们提 PR 啦,不过我还是很欢迎你们多提 issue 的。

http-rfcs.zh-cn's People

Contributors

duoani avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

http-rfcs.zh-cn's Issues

关于RFC9110

正如你所说的,我们总是「将学到的“新知识”分享给等待学习新知识的新人」
现在这几个RFC已经被 RFC9110 淘汰了 🥲

XXX是XXX的抽象反了吧

在RFC7231的翻译中

译注:再强调一次,资源的表示形式representation是资源的一种抽象,反映的是资源的状态,资源一般有多种状态。引用上面提到的银行流水账单的例子,JSON 形式的表示是它的一种状态,它也可以转变为 XML 形式(状态过渡)。每一种状态由一种资源的表示形式来表示,因此,资源与资源的表示形式是一对多的关系。

”人“是小明,小红,小强的抽象。
”资源“是多种表现形式集合的抽象

错别字订正

RFC7230

  • 2.7.1

译注
觉见的命名空间的例子有文件系统 存在错别字常见

翻译幸苦谢谢

建议将“Whitespace”翻译为“空白”

在很多地方都提到“Whitespace”这个词,如 RFC 7230”3.2.3. 空格 / Whitespace”这里就用了一小节来介绍几种 linear whitespace:OWS、RWS 和 BWS。
个人建议将“Whitespace”翻译为“空白”而不是“空格”,因为 Whitespace character 不仅包括 U+0020 SPACE,通常还包括 U+0009 CHARACTER TABULATION (tab) 等许多字符,详见 Wikipedia 的 Whitespace character

PS:谢谢你的分享,真的帮了我很多。😃

怎么不更新了呢?

最近也在读RFC文档,其实翻译本身我觉得意义不大,还是拥抱英文最好,英文通常意思更精确,有了中文只是能跟方便**人理解。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.