为什么选择 80 端口作为默认 HTTP 端口,选择 443 端口作为默认 HTTPS 端口?
有什么原因吗?还是只是这样定义?
答案1
互联网号码分配机构 (IANA) 是 ICANN 的一个部门,ICANN 是一家非营利性的美国私营公司,负责监督全球 IP 地址分配、域名系统 (DNS)、知名端口以及其他与互联网协议相关的符号和数字。
1990 年 3 月,他们发表了这份文件RFC1060他们列出了知名端口当时。该列表中没有分配给端口 80 的协议。它从 79 变为 81:
79 FINGER Finger
81 HOSTS2-NS HOSTS2 Name Server
所以,那时 80 端口正式免费了。
1991 年,Tim Berners-Lee 在一份文档中发布了 HTTP 的第一个版本HTTP 0.9他说:
If the port number is not specified, 80 is always assumed for HTTP.
1992 年 7 月出版RFC 1340过时的RFC 1060其中出现:
finger 79/tcp Finger
finger 79/udp Finger
www 80/tcp World Wide Web HTTP
www 80/udp World Wide Web HTTP
该文件正式将端口 80 指定为 www 或 http。但是该文件中没有关于 443 的任何内容。
1994年10月出现RFC 1700其中第一次出现这样的内容:
https 443/tcp https MCom
https 443/udp https MCom
# Kipp E.B. Hickman <[email protected]>
似乎是被基普·EB·希克曼当时他就职于 Mosaic(第一家 GUI 浏览器公司,后来更名为 Netscape)。
目前尚不清楚为什么选择 443,但之前的 RFC 与374 至 512并且在此 RFC 中375 至 451已填满。这些数字很可能只是按照请求的顺序给出的。
答案2
jcbermu 的回答提到,RFC 1340(分配的号码)有从 374 到 512 的一系列未使用的端口,而 443 正好位于中间。
assert https_port == (374 + 512) / 2 == 443