Cuando levanto un proyecto de frontend me dice que corre en localhost:5173 y el backend en localhost:3000. ¿Qué es exactamente un "puerto"? Entiendo que localhost es mi propia máquina, pero ¿por qué hay diferentes números y cómo sabe cada programa cuál usar? ¿Puedo cambiarlos? Gracias por la ayuda.