¿Por qué HTTP (que es utilizado por el mundo más que cualquier otro protocolo) asignó el puerto 80 en lugar del número más bajo disponible como el puerto 4?

La respuesta es (en una palabra) historia.

En los primeros días de lo que ahora llamamos las comunicaciones por Internet eran medio dupex y requerían dos puertos. Cuando los puertos se asignaron inicialmente, los puertos pares quedaron sin asignar. El protocolo que se convirtió en dominante (TCP) no los necesitaba, por lo que quedaron (en su mayoría) sin asignar.

El efecto neto es que los puertos más reservados se asignaron en pares (pares / impares) pero en realidad solo se usó un puerto. Hay excepciones. El ejemplo más común es FTP (puertos 20 y 21).

¿Por qué HTTP obtuvo el puerto 80? Porque en 1991, cuando Tim BL publicó HTTP 0.9 (El protocolo HTTP implementado en W3) 80 estaba disponible y lo eligió. La “tradición” de pares pares / impares ya era obsoleta para entonces.

¿Por qué no eligió el puerto 4 en su lugar? Pregúntale si tienes una oportunidad. Mi mejor suposición es que sería escandalosamente presuntuoso cuando la web fuera poco más que una especificación para reservar el número más bajo posible bajo el supuesto de que este proyecto favorito se convertiría en el núcleo de lo que la gente ahora llama Internet.

Lo mejor que puedo decir es que cuando HTTP todavía estaba en desarrollo, usaban el puerto 2784. A fines de 1991 lo consiguieron lo suficiente como para solicitar un número de puerto “oficial” a los poderes fácticos (que, en ese momento, fue la Autoridad de Números Asignados de Internet, que, a su vez, fue Jon Postel). Se les asignó el puerto 80.

Para ese momento, más de la mitad de todos los puertos en los primeros 100 ya estaban ocupados. Además, debe darse cuenta de que, en ese momento, nadie pensaba en HTTP como “el” protocolo, digno de la ranura más baja aún disponible. Habría sido percibido como algo curioso, definitivamente de menor importancia que el FTP (21), telnet (23) o SMTP (25) “verdaderamente significativo”, y más en la línea del (ahora oscuro) Finger (79) o Gopher (70).

Supongo que a partir de 1990, ‘finger’ estaba usando el puerto 79 y había otro servicio (¿actualmente en desuso?) En el puerto 81 (¿Por qué se eligió el puerto 80 como el puerto HTTP predeterminado y 443 como el puerto HTTPS predeterminado?) 1991 Tim Berners Lee tenía 80 como opción. También es un número redondo tanto en decimal como binario / hexadecimal, pero no estoy seguro de si eso tuvo algo que ver con eso.

Porque tenía que estar en alguna parte. Y ese fue el número que IANA eligió en ese momento.

La primera referencia que puedo encontrar está en RFC 1340, a partir de julio de 1992. Y eso implica que fue personalmente seleccionado por el propio Jon Postel.

Ya está regido por defecto. Pero con https, el puerto es 443.