67

Why was port 80 chosen as the default HTTP port and 443 as the default HTTPS port?

Is there a reason or was it is just defined that way?

Peter Mortensen
  • 12,090
  • 23
  • 70
  • 90
Samuel Alexander
  • 803
  • 2
  • 8
  • 11
  • 4
    Because of my hero, Jon Postel, founder of the RFC system, and of IANA. https://en.wikipedia.org/wiki/Jon_Postel http://www.faqs.org/rfcs/rfc2468.html (I Remember IANA, by Vint Cerf). – Frank Thomas Nov 06 '15 at 10:49

2 Answers2

86

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

On March 1990 they published the document RFC1060 where they listed the well-known ports at that time. In that list there wasn't a protocol assigned to port 80. It went from 79 to 81:

79       FINGER     Finger                                
81       HOSTS2-NS  HOSTS2 Name Server                     

So, at that time port 80 was officially free.

In 1991 Tim Berners-Lee issued the first version of HTTP in a document about HTTP 0.9 where he stated:

If the port number is not specified, 80 is always assumed for HTTP.

Then in July 1992 was published RFC 1340 that obsoletes RFC 1060 where appears:

   finger           79/tcp    Finger                            
   finger           79/udp    Finger                            
   www              80/tcp    World Wide Web HTTP               
   www              80/udp    World Wide Web HTTP               

That document makes official the port 80 as www or http. However there is nothing about 443 on that document.

On October 1994 appears RFC 1700 where for the first time appears this:

https           443/tcp    https  MCom
https           443/udp    https  MCom
#                          Kipp E.B. Hickman <[email protected]>

It seems was solicited by Kipp E.B. Hickman who at the time worked at Mosaic, the first GUI browser company that later becomes Netscape.

It's not clear why 443 was chosen, however the previous RFC had a gap from 374 to 512 and in this RFC the space from 375 to 451 was filled. It's very likely that the numbers were simply given in order of request.

jcbermu
  • 17,278
  • 2
  • 52
  • 60
  • 5
    There is likely no reason other than "443 was not already assigned", I pick service ports all the time for no specific reason for the number. – Johnny Nov 06 '15 at 16:01
  • 1
    Seems that RFC1060 was mostly only odd-numbered ports. Was the lsb used or planned for some specific purpose at the time? – OrangeDog Nov 06 '15 at 16:17
  • 3
    Some protocols (FTP being both the most obvious and only example I can think of right now) use two ports. Maybe, they wanted to leave gaps for possible future extensions of existing protocols? – Jörg W Mittag Nov 06 '15 at 17:03
  • 1
    Are you saying that when they looked for a port, all the numbers smaller than `80` were already used? (your list start at 79, it's not clear if you hide the start of the list) – A.L Nov 06 '15 at 17:54
  • @A.L You can look at the [cited list from RFC1060 yourself](https://tools.ietf.org/html/rfc1060#page-9) to see the other assigned port numbers at the time, then compare with the [cited RFC1340](https://tools.ietf.org/html/rfc1340#page-9) to see most of the gaps filled in - likely 80 was just the next available. – Digital Trauma Nov 06 '15 at 18:24
  • @DigitalTrauma: that's another thing I didn't understand, I looked at the RFC1060 and the port 80 is assigned, there is no gap as shown in this answer. – A.L Nov 06 '15 at 19:21
  • 14
    "17 QUOTE Quote of the Day" *That* is an important port! – Almo Nov 06 '15 at 19:27
  • 2
    @A.L there is a gap, you were probably looking at the list of protocol numbers, not the list of port numbers – Mark Rotteveel Nov 06 '15 at 20:09
  • 1
    @A.L what exactly are you looking at (URL)? – Michael Schumacher Nov 06 '15 at 20:10
  • 1
    @A.L Look at the Port numbers on Page 9. – Digital Trauma Nov 06 '15 at 20:58
  • 6
    One thing to consider, is that when these ports were being assigned, transport layer Protocol Development was fast and furious, with academics all over the states working on this or that project. The RFC Editor (Jon Postel) was very exacting in his standards for accepted final versions of specification, so they had knowledge of on-going projects that were in the works, but that might or might not ever achieve formal RFC status, and could then be included in IANA port list. Additionally, it was possible to request specific port numbers if they were unreserved, so they are not in number order. – Frank Thomas Nov 06 '15 at 22:16
  • 2
    A pair of ports was required by TCP/IP's predecessor, NCP. This requirement went obsolete in 1983. – sendmoreinfo Nov 07 '15 at 11:37
  • @DigitalTrauma: thanks, you're right I didn't look ah the right page. – A.L Nov 09 '15 at 10:27
  • You write "Mosaic, the first GUI browser company......" <--- Absolutely not. Not a company and not the first.Tim Bernes Lee wrote the first web browser and it looks very GUI like. Google says "While often described as the first graphical web browser,Mosaic was preceded by WorldWideWeb, the lesser-known Erwise and ViolaWWW. Mosaic was developed at the National Center for Supercomputing Applications (NCSA) at the University of Illinois Urbana-Champaign beginning in late 1992." I'd add that there's no way that lump would've been the first. (and i'd bet it was always a lump relative to others) – barlop Dec 16 '15 at 13:25
  • And this wikipedia link https://en.wikipedia.org/wiki/Mosaic_(web_browser) gives links to wikipedia articles on the web browsers that preceeded Mosaic, and the pictures show them to be quite graphical. – barlop Dec 16 '15 at 13:25
18

The answer by jcbermu mentions that RFC 1340 (assigned numbers) had a run of unused ports from 374 to 512, and 443 is right in the middle.

assert https_port == (374 + 512) / 2 == 443

adriaticc
  • 181
  • 1
  • 2
  • what is 374 and 512? Why were they chosen as the lower and upper limit. 512 is still a valid power of 2 and could be an upper limit of a 9 digit number. – Rishabh Bhatnagar Sep 11 '22 at 08:15