En el mundo de la web, un navegador web realiza una nueva solicitud para cada archivo estático que tiene que recuperar, entonces; una hoja de estilo, un archivo javascript, una imagen en línea; todos inician una nueva solicitud del servidor. Aunque mi conocimiento de la web es bastante bueno, las tecnologías subyacentes, como los websockets, son algo nuevo para mí en cuanto a cómo funcionan y de qué son capaces.Teórico: ¿Es posible/factible servir contenido estático a través de Websockets?
Mi pregunta es bastante teórica, pero me pregunto si es posible ahora o si alguna vez sería posible servir archivos estáticos a través de un websocket? Teniendo en cuenta que los websockets son una conexión persistente del cliente (navegador web) al servidor, tiene sentido que los websockets se puedan usar para servir a algunos, si no a todos los contenidos estáticos, ya que solo sería una conexión en lugar de muchos.
Para aclarar un poco.
Me doy cuenta de que mi redacción sobre las conexiones era incorrecta, como lo señala Greg a continuación. Pero por lo que entiendo, el motivo por el que se crearon las CDN y aún se usan hoy en día es abordar el problema con navegadores y/o servidores que tienen un límite estricto en el número de descargas concurrentes, una vez que alcanzas ese límite tus solicitudes se ponen en cola y se agregan al tiempo de carga de página. Soy consciente de que también fueron creados para proporcionar solicitudes sin cookies. Así que realmente mi pregunta debería ser: "¿Se pueden usar websockets en lugar de CDN?"
BrowserScope tiene algunas métricas útiles, parece que el límite de solicitud es de aproximadamente 6 por nombre de host para la mayoría de los navegadores modernos e incluso IE8. Pero como dije, a veces las personas tienen más de 6 recursos, ¿significa esto que están en cola y ralentizando el tiempo de carga de la página donde websockets podría reducirlo a uno?
Su suposición inicial es incorrecta: cada imagen, etc. es una transacción * HTTP independiente, no necesariamente una solicitud por separado. Ver [conexión persistente HTTP] (https://en.wikipedia.org/wiki/HTTP_persistent_connection). –
Es posible ahora. IIRC, el navegador web y los servidores optimizaron el uso de las conexiones, tal vez hace más de 10 años. No abren una nueva conexión para cada archivo. – gbulmer
Estás en lo correcto Greg, fraseó por completo esa parte de mi pregunta equivocada. Todavía hay un límite en las conexiones persistentes, ¿verdad? Entonces, si tiene 15 archivos estáticos (que en realidad no son un número alto), está excediendo el límite. ¿Se podrían usar websockets para dar servicio a archivos más rápido sin pasar por alto o estoy sobre-pensando en las capacidades de websockets? –