Menu
Coddy logo textTech

Qué es un puerto

Lección 10 de 47 del curso Redes con la terminal de Coddy.

Una dirección lleva tu solicitud a la máquina correcta. Pero una sola máquina puede estar ejecutando un sitio web, una base de datos y un servidor de correo a la vez. Algo tiene que indicar para cuál de ellos es la solicitud.

Eso es un puerto: un número del 1 al 65535 que selecciona el programa. La dirección es el edificio; el puerto es la puerta.

En una URL aparece después de dos puntos:

curl -s http://127.0.0.1:9104/hello.txt
#                        ^^^^ el puerto

Una dirección y un puerto juntos identifican un extremo de una conversación, y ese par se llama socket. Cuando oyes que un servidor «abrió un socket en 9104», significa exactamente esta combinación.

Dos programas en una misma máquina no pueden escuchar ambos en el mismo puerto, lo que provoca el error con el que todo desarrollador se encuentra tarde o temprano: dirección ya en uso.

challenge icon

Desafío

Difícil

Demuestra que el puerto selecciona el programa ejecutando dos servidores en una sola máquina.

  1. Crea dos carpetas, a y b
  2. Coloca un archivo i.txt en cada una: AAA en a, BBB en b
  3. Sirve a en el puerto 9104 y b en el puerto 9105
  4. Obtén i.txt de cada puerto, primero del 9104

La misma dirección, el mismo nombre de archivo, una puerta diferente:

AAA
BBB

(cd a && python3 -m http.server 9104 &) inicia un servidor para una carpeta sin cambiar la carpeta en la que te encuentras.

Pruébalo tú mismo

Terminal
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Redes con la terminal

Practica por tu cuenta: Playground de Terminal