ejemplo consumir consume apache http httpwebrequest

apache - consumir - restsharp web api c#



Http Request Life Cycle (3)

Creo que estás un poco equivocado en tu comprensión de eso.

Si va a www.google.com (sin utilizar ningún formulario, solo desea el sitio), esto es lo que sucede:

  1. En primer lugar, el navegador debe traducir www.google.com a una dirección IP si aún no la conoce. Si lo sabe, nada sucede en este punto. Si no lo sabe, se pone en contacto con un servidor DNS para resolver el nombre.
  2. Luego, el navegador abrirá una conexión TCP a la dirección IP de www.google.com y enviará una solicitud HTTP GET. En este ejemplo, será
    GET / HTTP/1.1
    Host: www.google.com
  3. El software del servidor obtendrá esta solicitud HTTP. De alguna manera generará una respuesta HTTP y la enviará a través de la conexión TCP. La forma en que el servidor hace esto depende del software del servidor. Por ejemplo, puede conectar el código de la aplicación en Apache o simplemente hacer que Apache devuelva un archivo del sistema de archivos. PHP es una aplicación llamada por algún software, que luego genera la respuesta enviada al navegador. Cuando se envía la respuesta, en la versión HTTP 1.0, la conexión se cierra. HTTP 1.1 puede tener conexiones persistentes sin embargo.
  4. Cuando el navegador obtiene la respuesta, normalmente la muestra en la pantalla. La solicitud HTTP ahora está hecha. Un clic en "buscar" enviará una nueva solicitud al servidor.

GET, PUT, POST, DELETE y otros son métodos de solicitud HTTP . Tienen un significado especial que puedes ver en el RFC.

Cookies se utilizan comúnmente para identificar al mismo usuario en múltiples solicitudes HTTP, llamadas sesiones. Por lo tanto, estas cookies se llaman cookies de sesión

Puede depurar la comunicación utilizando una herramienta de detección de red, por ejemplo, Wireshark . Firefox tiene un complemento de terceros llamado Tamper Data que puede cambiar la solicitud antes de enviarla al servidor.

El HTTP RFC es una buena fuente de cómo funciona todo.

Espero eso ayude.

Recientemente comencé mi trabajo como desarrollador backend de aplicaciones web. Estoy un poco atrapado en comprender el ciclo de vida de una solicitud HTTP.

Lo que entendí es

  • Cada solicitud de Http primero contacta a un servidor DNS que resuelve el dominio URL de solicitud a una dirección IP.
  • Después de recuperar la solicitud de dirección IP del servidor web, se reenvía a ella (a través de la solicitud PUT). Un servidor web como apache maneja esta solicitud y lo reenvía a la aplicación que tiene que manejar esto.

Después de esto estoy perdido con

  • ¿Cómo envía la respuesta la aplicación al usuario que la solicitó y Apcache participará en esto?
  • ¿Puedo ver todo el flujo en mi navegador con algunas herramientas de depuración?
  • ¿Alguien puede recomendar algunos enlaces para comprender esto en profundidad?

Esta es una de las preguntas más frecuentes sobre entrevistas realizadas en varias compañías basadas en productos.

HTTP es un protocolo de solicitud y respuesta. Por ejemplo, un agente de usuario inicia una solicitud a un servidor, generalmente abriendo una conexión TCP / IP a un puerto particular en un host (puerto 80 por defecto). La solicitud en sí misma comprende:

una línea de solicitud,

un conjunto de encabezados de solicitud y una entidad.

Un servidor HTTP que escucha en ese puerto espera a que el cliente envíe un mensaje de solicitud. Al recibir la solicitud, el servidor envía una respuesta que comprende:

una línea de estado, un conjunto de encabezados de respuesta y una entidad. La entidad en la solicitud o respuesta se puede considerar simplemente como la carga útil, que puede ser datos binarios. Los otros elementos son caracteres ASCII legibles. Cuando la respuesta se haya completado, el navegador o el servidor pueden finalizar la conexión TCP / IP o el navegador puede enviar otra solicitud.


mientras el servidor recibe la solicitud del navegador, el navegador se vinculará a un puerto del host, la dirección IP y el número de puerto del navegador se adjuntarán a la solicitud que se envía al servidor. el servidor envía la respuesta a la dirección IP y al número de puerto