https://www.howtogeek.com/233383/why-was-80-chosen-as-the-default-http-port-and-443-as-the-default-https-port/

The Question

SuperUser reader Samuel Alexander wants to know why 80 and 443 were chosen as the default HTTP and HTTPS ports:

Why was port 80 chosen as the default HTTP port and 443 as the default HTTPS port? Is there any particular reason or was it just defined that way?

Why were 80 and 443 chosen as the default HTTP and HTTPS ports?

The Answer

SuperUser contributor jcbermu has the answer for us:

The Internet Assigned Numbers Authority (IANA) is a department of ICANN, a non-profit private corporation that oversees global IP address allocation, the Domain Name System (DNS), well-known ports, and other Internet Protocol-related symbols and numbers.

During March of 1990, they published a document (RFC 1060) where they listed all the well-known ports at that time. In that list there was no protocol assigned to port 80 (it jumped from 79 to 81):

At that time, port 80 was officially free. In 1991, Tim Berners-Lee issued the first version of HTTP in a document (HTTP 0.9) where he stated:

Then in July of 1992, RFC1060 was made obsolete by a new document (RFC 1340) where the following appeared:

That document made 80 the official port for HTTP (www). However there is nothing about port 443 in that document. During October of 1994, RFC 1700 was published and this appeared for the first time:

It seems it was solicited by Kipp E.B. Hickman, who at the time worked at Mosaic, the first GUI browser company that later went on to become Netscape. It is not clear why port 443 was chosen. However, the previous RFC document had a gap from 374 through 512, but in RFC1700 the space from 375 to 451 was filled. It is most likely that the numbers were simply given in order of request.


Have something to add to the explanation? Sound off in the comments. Want to read more answers from other tech-savvy Stack Exchange users? Check out the full discussion thread here.

The Question

SuperUser reader Samuel Alexander wants to know why 80 and 443 were chosen as the default HTTP and HTTPS ports:

Why was port 80 chosen as the default HTTP port and 443 as the default HTTPS port? Is there any particular reason or was it just defined that way?

Why were 80 and 443 chosen as the default HTTP and HTTPS ports?

The Answer

SuperUser contributor jcbermu has the answer for us:

The Internet Assigned Numbers Authority (IANA) is a department of ICANN, a non-profit private corporation that oversees global IP address allocation, the Domain Name System (DNS), well-known ports, and other Internet Protocol-related symbols and numbers.

During March of 1990, they published a document (RFC 1060) where they listed all the well-known ports at that time. In that list there was no protocol assigned to port 80 (it jumped from 79 to 81):

At that time, port 80 was officially free. In 1991, Tim Berners-Lee issued the first version of HTTP in a document (HTTP 0.9) where he stated:

Then in July of 1992, RFC1060 was made obsolete by a new document (RFC 1340) where the following appeared:

That document made 80 the official port for HTTP (www). However there is nothing about port 443 in that document. During October of 1994, RFC 1700 was published and this appeared for the first time:

It seems it was solicited by Kipp E.B. Hickman, who at the time worked at Mosaic, the first GUI browser company that later went on to become Netscape. It is not clear why port 443 was chosen. However, the previous RFC document had a gap from 374 through 512, but in RFC1700 the space from 375 to 451 was filled. It is most likely that the numbers were simply given in order of request.


Have something to add to the explanation? Sound off in the comments. Want to read more answers from other tech-savvy Stack Exchange users? Check out the full discussion thread here.

Why was 80 Chosen as the Default HTTP Port and 443 as the Default HTTPS Port?的更多相关文章

  1. Root-NFS: Unable to get mountd port number from server, using default

    问题描述: 以前下载到开发板linux内核启动好好地,今天突然启动不了了,到达Root-NFS: Unable to get mountd port number from server, using ...

  2. Nginx Server 上80,443端口。http,https共存

    server{ listen 80; listen 443 ssl; server_name www.iamle.com; index index.html index.htm index.php; ...

  3. mod_cluster启用https协议的步骤

    1.生成SSL证书与私钥 Generate Private Key on the Server Running Apache + mod_ssl First, generate a private k ...

  4. 前端开发必须说的那些事之——同源策略(same origin policy)

    同源策略指的是三个相同 协议相同 域名相同 端口相同 如https://www.baidu.com/hahah.html这个网址来说 https是使用的协议,www.baidu.com是域名,端口号默 ...

  5. Ingress介绍与安装配置

    在 Kubernetes 集群中,Ingress是授权入站连接到达集群服务的规则集合,为您提供七层负载均衡能力.您可以给 Ingress 配置提供外部可访问的 URL.负载均衡.SSL.基于名称的虚拟 ...

  6. 服务器 apache配置https,http强制跳转https(搭建http与https共存)

    公司linux服务器上的nginx的已经改成https了,现在还剩下一个windows云服务器没配置. 环境 windows wampserver2.5 64位 1.腾讯云申请的ssl 包含三个文件: ...

  7. docker部署Asp.Net Core、Nginx、MySQL

    2019/10/24,docker19.03.4, .netcore 3.0,CentOS7.6 摘要:asp.net core 3.0 网站项目容器化部署,使用docker-compose编排Ngi ...

  8. 搭建Istio基础环境

    需求 搭建istio基础环境(基于1.5.1版本) 安装步骤 在安装 Istio 之前,需要一个运行着 Kubernetes 的环境,安装步骤可以参考前面的文章 下载istio,然后解压,然后将 is ...

  9. istio in kubernetes (二) -- 部署篇

    在 Kubernetes 部署 Istio [demo演示] 可参考官方文档(https://istio.io/latest/zh/docs/setup/install/) ,以部署1.7.4版本作为 ...

随机推荐

  1. python_函数递归

    函数递归 函数递归:函数的递归调用,即在函数调用的过程中,又直接或间接地调用了函数本身 # import sys # print(sys.getrecursionlimit()) # sys.setr ...

  2. 一个关于vue+mysql+express的全栈项目(三)------ 登录注册功能的实现(已经密码安全的设计)

    本系列文章,主要是一个前端的视角来实现一些后端的功能,所以不会讲太多的前端东西,主要是分享做这个项目学到的一些东西,,,,, 好了闲话不多说,我们开始搭建后端服务,这里我们采用node的express ...

  3. 剑指Offer(书):从尾到头打印链表

    题目:输入一个链表,按链表值从尾到头的顺序返回一个ArrayList. 分析:若不允许修改原链表的值,则可以使用栈来实现,也可以使用另外一个ArrayList做中转的数据. public ArrayL ...

  4. POJ 2377 (并查集+sort求最远路)

    Description Bessie has been hired to build a cheap internet network among Farmer John's N (2 <= N ...

  5. netcore使用AutoMapper

    说明:以下是使用过程中看到的其他博主写的,地址如下: 地址一:https://cloud.tencent.com/developer/article/1395155 地址二:https://www.c ...

  6. BZOJ2059: [Usaco2010 Nov]Buying Feed 购买饲料

    数轴上n<=500个站可以买东西,每个站位置Xi,库存Fi,价格Ci,运东西价格是当前运载重量的平方乘距离,求买K<=10000个东西到达点E的最小代价. f[i,j]--到第i站不买第i ...

  7. python学习之-- 协程

    协程(coroutine)也叫:微线程,是一种用户态的轻量级线程,就是在单线程下实现并发的效果.优点:1:无需线程上下文切换的开销.(就是函数之间来回切换)2:无需原子操作锁定及同步的开销.(如改一个 ...

  8. 最长上升子序列(LIS)长度的O(nlogn)算法

    最长上升子序列(LIS)的典型变形,熟悉的n^2的动归会超时.LIS问题可以优化为nlogn的算法.定义d[k]:长度为k的上升子序列的最末元素,若有多个长度为k的上升子序列,则记录最小的那个最末元素 ...

  9. 解决Win7 64bit + VS2013 使用opencv时出现提“应用程序无法正常启动(0xc000007b)”错误

    应用程序无法正常启动(0xc000007b) 记得以前也遇到过这样的问题:网上的解决方法就是修复什么 今天配置opencv2.4.8+vs2013的时候,发现用老版本的程序是不是都会出现这样的现象啊! ...

  10. Data obtained from ping: is it round trip or one way?

    I have 2 servers, each in two separate locations. I need to host an application on one, and the data ...