Cuando trato de unir el socket al puerto 80 del programa obtengo un error, pero ¿cómo dos navegadores pueden escuchar simultáneamente el mismo puerto 80?¿Cómo escuchan dos navegadores simultáneamente en el puerto 80?
Respuesta
Los navegadores no escuchar en el puerto 80
, HTTP servidores de tareas (aunque eso es sólo convención, que fácilmente podrían tener un servidor FTP o Telnet utilizando el puerto 80
).
En TCP/IP, una "sesión" debe ser única y la sesión se define como la 5-tupla (protocol, sourceIP, sourcePort, destinationIP, destinationPort)
. Esto permite que los paquetes se enruten correctamente en Internet.
Normalmente, cuando un cliente intenta contactar un servidor, especifica 0
como su puerto de origen, lo que significa que el sistema operativo lo asigna como no utilizado. Eso significa que el cliente realmente escuchará en ese puerto en lugar del puerto 80
.
Puede obtener una sesión con las propiedades (TCP, mybox.com, 1101, www.microsoft.com, 80)
cuando su navegador salga para acceder a las páginas web de Microsoft.
Si no puede vincular su servidor al puerto 80
, lo más probable es que ya tenga un servidor ejecutándose en ese puerto, o su programa no tiene los privilegios necesarios para enlazar a ese puerto (puertos menores que 1024
generalmente se consideran puertos privilegiados).
Correr netstat -a
(en Linux o Windows) le indicará si el servidor está enlazado al puerto 80
.Busque un agente de escucha en el puerto 80
(o http
si se trata de resolver los puertos a los nombres de servicio), algo así como:
tcp 0 0 localhost:http *:* LISTEN
Enumera la sesión como si tuviera el 5-tuple '(protocolo, sourceIP, destinationIP, sourcePort, destinationPort)', pero luego da el ejemplo '(TCP, mybox.com, 1101, www.microsoft.com, 80)'. ¿No debería ser '(TCP, mybox.com, www.microsoft.com, 1101, 80)'? –
@Jon, gracias por eso. La tupla no tenía la intención de ser ordenada de ninguna manera, solo era la información requerida para identificar la sesión. Lo arreglaré por coherencia, ya que tienes toda la razón de que puede causar confusión. – paxdiablo
No escuchan en el puerto 80 hablan con el puerto 80, o 443 si está utilizando SSL (o en cualquier otro puerto si el administrador viola la convención, es posible que haya visto URLs como http://www.site.com:8080 donde el sitio tiene sido configurado en el puerto 8080).
El navegador realizará la solicitud desde un puerto aleatorio de números altos, por lo que el navegador puede estar activo al mismo tiempo.
Como dice paxdiablo, puede utilizar netstat para ver qué programas están abiertos a conexiones (usando "netstat -b" mostrará qué ejecutable está obligado a qué puerto)
Los navegadores no son en realidad enlazado al puerto 80 en absoluto. Es probable que encuentre que también está ejecutando IIS u otro servidor web que es atado y que es la causa de sus problemas
Navegadores realidad no escucha en el puerto 80. Los servidores web hacen esto y el navegador abre una conexión con un puerto entre 49152 y 65535 creo (puertos dinámicos).
En una conexión de red, hay un par (generalmente llamado cliente) que se conecta a otro (generalmente llamado servidor). Se dice que el servidor está escuchando en un determinado puerto, mientras que se dice que el cliente se está conectando a ese puerto.
En este caso, el servidor web escucha en el puerto 80 mientras todos los clientes (navegadores) se conectan a él.
Cuando un navegador realiza una conexión a un servidor, se vincula a un puerto local no privilegiado, pero se conecta al puerto 80 del servidor web. Cuando el servidor envía de vuelta una respuesta, va al puerto no privilegiado en la computadora del navegador. Si hay dos navegadores en la misma computadora, se enlazan a diferentes puertos.
Si se refiere a "cómo es posible que dos servidores escuchar en el puerto 80", considere el uso de la API HTTP Server. Ambos servidores pueden registrar una función de devolución de llamada, junto con una URL. El cliente puede decidir a qué servidor llamar en función de la URL, es decir,
http://localhost/Service1 ir al servicio que ha especificado "http://localhost/Service1" como su URL.
- 1. Cómo ejecutar PyCharm usando el puerto 80
- 2. ¿cómo puede una aplicación usar el puerto 80/HTTP sin entrar en conflicto con los navegadores?
- 3. Node.js: ECONNREFUSED en el puerto 80
- 4. Ejecutando Sinatra en el puerto 80
- 5. El reenvío de puertos desde el puerto 80 al puerto 80 de VirtualBox no funciona
- 6. ¿Cómo se escuchan los paquetes de difusión en cualquier puerto?
- 7. Cómo ejecutar los rieles s-p80 en el puerto 80?
- 8. Servidor web en el puerto 80 en el iPhone
- 9. ¿Cómo puedo cambiar el puerto predeterminado (8080) en Amazon EC al puerto 80
- 10. Cómo ejecutar dos funciones simultáneamente
- 11. Intercambia dos fragmentos simultáneamente
- 12. Escribir simultáneamente en dos flujos
- 13. Apertura del puerto 80 con la aplicación Java en Ubuntu
- 14. ¿Cómo escuchan EditText?
- 15. Encuadernación de un socket al puerto 80 en ansi c
- 16. IPN de PayPal en un puerto que no sea 80
- 17. ¿Cómo ejecutar dos animaciones de jQuery simultáneamente?
- 18. reproducir dos videos en iPhone simultáneamente
- 19. Enlazar un servidor web al puerto 80 sin ser root
- 20. ¿Cómo determinar qué IPs en un rango dado tienen el puerto 80 usando nmap?
- 21. ¿Cómo encontrar qué programa está utilizando el puerto 80 en Windows?
- 22. ¿Cómo hacer Node.js Multi-tenant para sitios web en el puerto 80?
- 23. ¿Cómo se manejan dos personas, editando simultáneamente el mismo archivo?
- 24. Apertura del puerto 80 EC2 Servicios web de Amazon
- 25. Uso del puerto 80 con IIS Express dentro de VS2010
- 26. git trabajando en dos ramas simultáneamente
- 27. ¿Cómo especificar el número de puerto en el emulador?
- 28. Redirigiendo el tráfico de websocket en el puerto 80 con lighttpd
- 29. ¿Los firewalls bloquean el tráfico no HTTP en el puerto 80?
- 30. ¿Cómo iterar entre líneas en dos archivos simultáneamente?
el servidor escucha, el navegador se conecta ... – miku
Cuando hay una conexión con el puerto 80, ¿cuál de los dos programas debe responder? –
@Alvaro Así no es como funcionan los enchufes. –