[Alfabetización primaria] ¿Qué sucede exactamente con una solicitud HTTP?

  Se afirma de antemano que el proceso de una solicitud http al backend y la respuesta es un proceso muy complicado, y cada punto se puede sacar de una gran cantidad de conocimiento. Esto es para ayudar al desarrollo principal de Java a resolver el desarrollo. ideas Se simplifican los pasos que no son importantes para el desarrollo primario.

inserte la descripción de la imagen aquí

1. Enviar una solicitud Http

Primero, el front-end envía una solicitud Http. Hay muchas formas en que el front-end puede enviar solicitudes http. Como:

  1. navegador ingrese el nombre de dominio
  2. ajaxEnviar petición
  3. formulario formulario enviar solicitud
  4. una solicitud de envío de etiqueta

  Espere, hay muchas formas de enviar solicitudes, y estas formas funcionan en diferentes lugares. Pero eventualmente llegará al servidor a través de una solicitud http.

2, IP de conversión de DNS

  TCP/IP se comunica en función de las direcciones IP, pero las direcciones IP consisten en una cadena de números compleja y confusa. No es fácil de recordar. Ahí es donde entra el nombre de dominio. Es como agregar un nombre a un servidor. Por ejemplo, si todos los estudiantes de la clase están representados por los números de serie 1, 2, 3, 4 y 5, definitivamente no es fácil de recordar para las personas. Pero cuando realmente está accediendo al servidor, se debe acceder a través de ip.

  De ahí los ubicuos servidores DNS. Se utiliza para convertir el nombre de dominio y la ip. Cuando el usuario ingrese el nombre de dominio, DNS convertirá la IP correspondiente.

  Entonces, ¿qué es el anfitrión? ¿Por qué la entrada de localhost y 127.0.0.1 es la misma?

  host puede considerarse como un servidor DNS local. Guarda la correspondencia entre la ip y el nombre de dominio. como sigue

# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host

# localhost name resolution is handled within DNS itself.
#	127.0.0.1       localhost
#	::1             localhost

  Al ejecutar el servidor DNS, primero irá al archivo de host para encontrar la ip correspondiente. Si puede encontrarlo, no tiene que ejecutar el servidor DNS. Por lo tanto, aquí se ingresa una IP incorrecta y luego se agrega el nombre de dominio correspondiente con el nombre de dominio de Baidu.

123.123.123.123 www.baidu.com

  Como se muestra arriba, ingrese a Baidu para saltar a esta IP. No es sorprendente que el navegador siga girando en círculos. Porque esta es una IP estúpida.

  De la misma manera, se puede intercambiar la ip de Baidu y la ip de qq. Intercambie las dos direcciones IP y los nombres de dominio.

{Baidu ip} www.qq.com

{Tencent ip} www.baidu.com

inserte la descripción de la imagen aquí

  De esta forma, puede ingresar al navegador de nombres de dominio de Baidu para acceder al sitio web de Tencent a través del navegador.

  (Quiero quejarme en este momento. En un programa de variedades, se dijo que los piratas informáticos piratearon el sitio web *** en 3 minutos. Al ingresar al sitio web, todo el sitio web ha sido reemplazado. De hecho, es a través de este método que los laicos miran la diversión~)

3 、 nginx

  Nginx (motor x) es un servidor web proxy inverso y HTTP de alto rendimiento. ¿Por qué necesitas un proxy? ¿No puedes conectarte directamente a Tomcat? Respuesta: Sí. Puede acceder directamente a Tomcat.

  ¿Cuál es el papel de nginx? Equilibrio de carga ~!

  En circunstancias normales, los servicios de nivel empresarial son para varias máquinas. Esto es para reducir la presión en cada servidor.Cuando el navegador solicita a nginx, nginx lo reenviará de acuerdo con la política de carga. La solicitud se reenvía al servidor correspondiente de acuerdo con las reglas. El servidor con buen rendimiento puede procesar más solicitudes, y el servidor con bajo rendimiento puede recibir menos solicitudes.

4, gato

  Tomcat es un contenedor web. Cuando se realizan proyectos web, la mayoría de ellos necesitan httpprotocolos, que se basan en solicitudes y respuestas. Por ejemplo, si ingresa una línea de búsqueda de contenido en Baidu, ¿cómo maneja el servidor de Baidu esta solicitud? que se creará servletpara manejarlo. En servletrealidad, es un javaprograma, solo que el javaprograma servletintercepta su solicitud a través del archivo de configuración, lo procesa en consecuencia y luego le muestra la interfaz correspondiente, entonces, servlet¿cómo crearlo? Se utiliza en este momento tomcat. Es lo que te ayuda a crear servlets, por lo que también se le llama contenedor web. Sin él, no puedes ejecutar proyectos web.

5. proyecto Java

inserte la descripción de la imagen aquí

En el desarrollo de Java, el código general tendrá una división modular. Por ejemplo, se puede dividir en capa de controlador, capa de servicio y capa de dao.

  • Capa de controlador : responsable del reenvío de solicitudes, aceptando los parámetros de la página, pasándolos al Servicio para su procesamiento, recibiendo el valor de retorno y luego pasándolos a la página.
  • Capa de servicio : se llama capa de servicio, que se llama servicio. Una comprensión aproximada es la reencapsulación de uno o más DAO en un servicio, por lo que no será una operación atómica aquí, y las cosas deben controlarse.
  • Capa DAO : llamada capa de acceso a datos, el nombre completo es objeto de acceso a datos, que pertenece a una operación relativamente básica y de nivel relativamente bajo, específica para la adición, eliminación y modificación de una tabla, es decir, un DAO debe ser una determinada de la base de datos.Las tablas se corresponden una por una, lo que encapsula las operaciones básicas de agregar, eliminar, modificar y verificar.Se recomienda que DAO solo realice operaciones atómicas, agregar, eliminar, modificar y verificar.

Supongo que te gusta

Origin blog.csdn.net/qq_30285985/article/details/124259893
Recomendado
Clasificación