Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Cómo funciona el servidor backend web?

¿Cómo funciona el servidor backend web?

Me estoy preparando para una sesión en un futuro próximo y espero poder compartir fácilmente algunas cosas con ustedes, algunos escenarios comunes. Por ejemplo: ¿Cómo funciona el servidor web backend?

Para la gente común, el proceso de navegar por Internet: primero, necesita una computadora, luego, su computadora puede conectarse a la red y, finalmente, puede abrir el navegador y escribir la URL que desea. quiere navegar y luego puede conectarse. Pero para las computadoras, es un proceso relativamente complejo, que incluye el proceso de cómo guardar información, cómo transmitir información y cómo mostrar información. Por lo tanto, con respecto a todo el proceso de navegación por Internet, analizaremos los diversos detalles técnicos que contiene de adelante hacia atrás. Puede que no esté completo. El propósito es inspirar a otros en el proceso simple. compártelo. Algunos conocimientos básicos se utilizan como revisión. Buddy Wang Laoji ha hablado antes sobre cómo funcionan los navegadores, por lo que este artículo no incluye cómo funcionan los navegadores. La atención se centra en el análisis de varios servicios en segundo plano y niveles de comunicación.

Como se mencionó anteriormente, los usuarios pueden buscar información web escribiendo una URL en su navegador. Esta URL es en realidad una URL y su nombre completo en inglés es Localizador uniforme de recursos.

La sintaxis completa de un URI normal con la parte de autorización se ve así:

Protocolo: //nombre de usuario:contraseña@subdominio.dominio.dominio de nivel superior:número de puerto/directorio/archivo name.File suffix?Parameter=value

La parte del protocolo puede ser

Lo que escribimos es solo el nombre de dominio del servidor, pero de hecho en la red nos comunicamos a través del socket Para comunicarnos a través de la interfaz. Socket = puerto IP. En la red, la función de IP es realizar direccionamiento de enrutamiento en la capa de red y encontrar el host único. La función del puerto es encontrar el único proceso en este host. En general, los sockets se pueden utilizar para identificar el proceso único de un host único en la red, de modo que podamos comunicarnos a través de sockets.

Pero el problema es que se accede a Internet a través de un nombre de dominio, entonces, ¿cómo confirmar el proceso único del servidor web en segundo plano del host único a través del nombre de dominio? Supongamos que si podemos proporcionar un determinado servicio en Internet que contiene la asignación de nombres de dominio a sockets, y las personas que navegan por Internet pueden obtener los sockets correspondientes a los nombres de dominio a través de este servicio, entonces este problema será. resuelto. De hecho, el principio del servicio DNS es simplemente el método que acabamos de asumir. Al proporcionar un servicio DNS público, cualquiera puede consultar el socket correspondiente al nombre de dominio correspondiente al navegar por Internet. A través de este socket, puede acceder al servidor determinado. El servicio DNS real es en realidad más complicado: se divide en consultas iterativas y consultas recursivas. Ambos métodos tienen sus propias ventajas y desventajas. Al mismo tiempo, por motivos de rendimiento, los servicios DNS suelen estar equipados con diferentes niveles de caché. Estoy interesado en la implementación específica de DNS. Puede consultar la información y estudiarla usted mismo.

Para resumir, al navegar por Internet, el navegador en realidad hace dos cosas: primero, envía una solicitud al servidor DNS a través del cliente DNS integrado del navegador para obtener el socket correspondiente al nombre de dominio; En segundo lugar, utilice un socket para enviar una solicitud http, obtener los datos y luego representarlos en el lado del navegador.

Además, el servicio DNS también necesita seguir un determinado protocolo para comunicarse. Su protocolo es el protocolo DNS y su servicio está fijo en el puerto 53, que es un protocolo de capa de aplicación. DNS es DomainNameSystem en inglés. De hecho, el servicio DNS funciona como una guía telefónica, porque no puedes recordar el número de teléfono de todos, pero es fácil recordar el nombre de todos.

Antes de navegar por Internet, no había nada en nuestros ordenadores. ¿Por qué se pueden mostrar varios datos en la interfaz después de escribir la URL? De hecho, los datos provienen del servidor backend y, por supuesto, todos los datos se almacenan en el servidor backend. El navegador solo solicita los datos.

Como se mencionó anteriormente, al solicitar datos, use un socket más una solicitud http para obtener los datos. El fondo debe proporcionar el socket correspondiente, recibir información y analizar la solicitud http para devolver los datos requeridos por el cliente normalmente. Por lo tanto, el trabajo realizado por el servidor en segundo plano es, primero, vincular el socket y proporcionar servicios http a través del socket; segundo, analizar la solicitud http y devolver una respuesta de acuerdo con la solicitud;

En teoría, podemos implementar nuestro propio servicio http, analizar diferentes solicitudes http y devolver respuestas. Sin embargo, como desarrollador, no se recomienda reinventar la rueda. Hay muchos marcos ya preparados en el mercado entre los que podemos elegir. Para los desarrolladores de Java, existe Tomcat o Jetty, y otros lenguajes tienen marcos similares en teoría. ¿Qué hicieron Tomcat y Jetty por nosotros? De hecho, la función principal es aceptar solicitudes http y devolver respuestas a diferentes solicitudes. Por supuesto, también proporcionan funciones más avanzadas, como seguir las especificaciones de servlet, lo que permite a las personas desarrollar aplicaciones web de manera más eficiente.

Para resumir, desde la perspectiva de un programador, el proceso real de acceso a Internet requiere primero resolver el nombre de dominio a través del servicio DNS, obtener el socket de la aplicación del servidor web donde se encuentra el nombre de dominio, y luego ensamblar el navegador para que cumpla con el protocolo http. La solicitud se envía al servidor web a través del socket. El servidor web analiza la solicitud y ensambla la respuesta que se ajusta al protocolo http en función del resultado del análisis. respuesta, analiza la respuesta de acuerdo con el protocolo http, obtiene los datos y convierte los datos que se muestran en el navegador.

Los puntos de conocimiento incluyeron: protocolo DNS, protocolo HTTP, conocimiento de redes informáticas, implementación del servidor backend (tomcat/jetty, etc.).