es.phhsnews.com


es.phhsnews.com / ¿Cómo escuchan los servidores web las nuevas solicitudes?

¿Cómo escuchan los servidores web las nuevas solicitudes?


Al conocer los servidores web y cómo funcionan, puede ser curioso si están constantemente escuchando solicitudes o si esperan hasta que reciban un solicitar entrar en acción Con esto en mente, la publicación SuperUser Q & A de hoy tiene las respuestas para satisfacer la curiosidad del lector.

La sesión de preguntas y respuestas de hoy nos llega por cortesía de SuperUser, una subdivisión de Stack Exchange, una agrupación de sitios de preguntas y respuestas.

Captura de pantalla cortesía de xmodulo / Linux Screenshots (Flickr).

The Question

SuperUser reader user2202911 quiere saber cómo los servidores web escuchan nuevas solicitudes:

Estoy tratando de comprender los detalles de "nivel más profundo" de cómo funcionan los servidores web. Quiero saber si un servidor, por ejemplo, Apache, está sondeando continuamente para nuevas solicitudes o si funciona por algún tipo de sistema de interrupción. Si se trata de una interrupción, ¿qué está provocando la interrupción? ¿Es el controlador de la tarjeta de red?

¿Cómo escucha un servidor web las nuevas solicitudes?

El colaborador Super Answer del Answer

Greg Bowser tiene la respuesta para nosotros:

La respuesta corta es algún tipo de sistema de interrupción . Básicamente, usan bloqueo de E / S, lo que significa que duermen (bloquean) mientras esperan nuevos datos.

  1. El servidor crea un socket de escucha y luego bloquea mientras espera nuevas conexiones. Durante este tiempo, el núcleo pone el proceso en un estado de interruptible sleep y ejecuta otros procesos. Éste es un punto importante; tener la encuesta de proceso continuamente desperdiciará recursos de la CPU. El kernel puede usar los recursos del sistema de manera más eficiente bloqueando el proceso hasta que haya trabajo para hacerlo.
  2. Cuando llegan nuevos datos a la red, la tarjeta de red emite una interrupción.
  3. Al ver que hay un interrumpir desde la tarjeta de red, el núcleo, a través del controlador de la tarjeta de red, lee los datos nuevos de la tarjeta de red y los almacena en la memoria. (Esto debe hacerse rápidamente y generalmente se maneja dentro del manejador de interrupciones).
  4. El kernel procesa los datos recién recibidos y los asocia con un socket. Un proceso que está bloqueando en ese socket se marcará como ejecutable, lo que significa que ahora es elegible para ejecutarse. No necesariamente se ejecuta inmediatamente (el kernel puede decidir ejecutar otros procesos).
  5. En su tiempo libre, el kernel activará el proceso del servidor web bloqueado. (Dado que ahora es ejecutable).
  6. El proceso del servidor web continúa ejecutándose como si no hubiera pasado el tiempo. Su llamada de sistema de bloqueo regresa y procesa cualquier dato nuevo. Luego, vaya al paso 1.

¿Tiene algo que agregar a la explicación? Suena apagado en los comentarios. ¿Desea leer más respuestas de otros usuarios de Stack Exchange expertos en tecnología? Consulte el hilo de discusión completo aquí.


Cómo activar o desactivar el localizador del mouse en OS X

Cómo activar o desactivar el localizador del mouse en OS X

OS X 10.11 El Capitan incluye una nueva función de "localizador de mouse". Si pierde el puntero del mouse, simplemente mueva el mouse o mueva el dedo en el panel táctil con fuerza, y el puntero del mouse crecerá temporalmente para que pueda verlo. Esta función tiene un buen uso, y es un tanto sorprendente que Apple lo pusiera en las preferencias de Accesibilidad, en lugar de en algún lugar quizás más recorrido.

(how-to)

¿Por qué el HomeKit de Apple requiere todo el nuevo hardware Smarthome?

¿Por qué el HomeKit de Apple requiere todo el nuevo hardware Smarthome?

Ha habido un gran interés en el sistema de domótica HomeKit de Apple y una cantidad igual de impacto de etiqueta en la comprensión de que requiere una inversión en nuevo hardware. ¿Por qué exactamente HomeKit requiere nuevo hardware? Siga leyendo mientras investigamos. ¿Qué es HomeKit? HomeKit es la entrada de Apple en el mercado de la domótica y sirve como un sistema de control y base de datos que vincula todos sus productos compatibles con HomeKit con sus dispositivos Apple que van desde desde su iPhone a Apple TV.

(how-to)