Red de conocimiento informático - Problemas con los teléfonos móviles - Análisis de principios entre dominios de POST y la diferencia entre GET y POST

Análisis de principios entre dominios de POST y la diferencia entre GET y POST

Sin embargo, debido a la misma política de origen del navegador, la página de inicio no puede solicitar los recursos necesarios entre dominios.

Sin embargo, en el desarrollo WEB diario, las solicitudes entre dominios son Los más utilizados son: Hay dos formas de solicitar los recursos necesarios entre dominios

1: JSONP

JSONP es un método común para la comunicación entre orígenes entre servidores y clientes. La característica más importante es que es simple y aplicable, todos los navegadores antiguos lo admiten y la modificación del servidor es muy pequeña.

El principio de JSONP es utilizar el atributo src de la etiqueta script para realizar atributos de datos de solicitud entre dominios sin estar restringido por la política del mismo origen. Agregue una etiqueta script a la página HTML.

p>

, envía una solicitud al servidor. Una vez que el servidor recibe la solicitud, devuelve los datos.

Coloque los datos en la función de devolución de llamada especificada. Los datos se pueden operar en la función de devolución de llamada.

2: GET, POST

CORS es un estándar W3C que permite al navegador enviar solicitudes AJAX a servidores de origen cruzado. Cuando el navegador envía una solicitud, la agregará automáticamente. un campo de origen al encabezado de la solicitud, siendo el valor la página que envió la solicitud. Cuando la solicitud llega al servidor, el servidor verificará de acuerdo con este campo. Si la fuente no está dentro del rango de permiso, habrá un error normal. respuesta, pero el encabezado de respuesta no tiene Access-Control-Allow-Origin y el navegador arrojará un error. El error será capturado por la función onerror de xhr, pero el código de estado HTTP también puede ser 200 si el tipo de solicitud es; un método de solicitud especial como PUT o DELETE, o tipo de contenido: aplicación/json, entonces la solicitud no es una solicitud simple, el navegador enviará una solicitud de verificación previa antes de enviar una solicitud formal Además del campo de origen, la solicitud. La información del encabezado en la solicitud de verificación previa también incluye Access-Control-Allow—Método y Access-Control-Allow—Encabezado. La solicitud de verificación previa es una solicitud de tipo OPCIÓN. Siempre que el servidor pase la solicitud de verificación previa, las solicitudes posteriores serán las mismas. solicitudes simples

GET y POST son solicitudes ajax, y las solicitudes ajax se basan en el método de solicitud de dominio cruzado XMLHttpRequest (la versión inferior de ie es

objeto ActiveXObject), XMLHttpRequest es. el mecanismo central de ajax,

es una tecnología que admite solicitudes asincrónicas. En pocas palabras, JavaScript puede realizar solicitudes al servidor y procesar respuestas de manera oportuna sin bloquear al usuario. No logra ningún efecto de actualización.

La diferencia entre GET y POST:

1. La publicación es más segura (no se utilizará como parte de la URL, no se almacenará en caché y no se guardará en registros del servidor y registros de navegación del navegador)

2. La cantidad de datos enviados por publicación es mayor (obtener tiene un límite de longitud de URL)

3. solo puede enviar caracteres ASCII)

p>

4.La publicación es más lenta que get

5.get es idempotente, pero la publicación no es idempotente

6.get se puede almacenar en caché, pero la publicación no se puede almacenar en caché

Porque los parámetros de la solicitud de obtención se colocan en el encabezado (agregado después del enlace) y los parámetros de la solicitud de publicación se colocan en el cuerpo, de hecho, el límite de longitud de la URL no está determinado por get y post. Es solo que el navegador tiene limitaciones y no tiene nada que ver con get o post.

Get es más rápido que post. Debido a que el proceso de solicitud de obtención y publicación es diferente, los primeros tres pasos son básicamente los mismos. Primero, todos deben pasar por un protocolo de enlace de tres vías con el servidor:

1. (el primer apretón de manos)

2. El servidor acepta una conexión TCP (el segundo (tercer apretón de manos)

3. El navegador confirma y envía el encabezado y los datos de la solicitud de obtención (el tercer apretón de manos, este mensaje es relativamente pequeño, por lo que http enviará los primeros datos en este momento)

La solicitud de obtención recibirá los datos devueltos por el servidor en el cuarto paso, y la solicitud de publicación recibirá los 100 instrucciones continuas enviadas por el servidor en el cuarto paso. El cliente enviará datos para solicitar al servidor y el servidor devolverá datos.

Es decir, POST implica una transacción cliente-servidor más. que GET La solicitud GET genera un paquete de datos TCP, mientras que la solicitud POST genera dos paquetes de datos TCP