为什么http使用CRLF作为行分隔符?

ota*_*tay 13 history newline http

据我所知,使用LF行分隔符很受欢迎,但我想知道为什么许多文本协议如HTTP,FTP CRLF用作其行分隔符?

我不认为这些协议是为旧打字机发明的,所以这有什么历史原因吗?我试图通过谷歌和stackoverflow和维基百科搜索它,但没有得到任何合理的信息.

谢谢

Sim*_*ane 8

CR-LF作为换行符是互联网标准,早于HTTP; 我相信它最初在1971年的RFC 158中被指定为TELNET的一部分.RFC编辑器有一个页面解释了一些历史.这是其他Internet协议(如FTP和SMTP)使用的约定,因此只有HTTP与它们保持一致才有意义.

  • RFC 编辑 EOL 历史:“今天许多人使用基于 MS-DOS 的 Windows,后来出现并采用 CR LF 作为其 EOL 约定。”。这很有趣!所以,微软并没有“发明”CR-LF,而是采用了它! (2认同)
  • @eikuh 是的,微软的 MS-DOS 从 Digital Research CP/M 那里获取了它,而后者又很可能从 DEC 操作系统复制了它(特别是 DEC PDP-10 的 TOPS-10 操作系统,Gary Kildall 在写CP/M)。事实上,它是互联网标准,与微软是否采用它无关——微软直到 4 年后才成立——但 DEC 系统在早期互联网中非常流行,这可能影响了 CR-LF 作为标准的选择。互联网标准 (2认同)