Este artículo presenta diferentes métodos para interactuar con el servidor. El nombre completo de la URL es el descriptor de recursos. aumentar, aumentar, aumentar, aumentar, aumentar, aumentar, aumentar, aumentar, aumentar, aumentar, aumentar, aumentar, aumentar, aumentar, aumentar, aumentar, aumentar, aumentar, aumentar, aumentar, aumentar, aumentar, aumentar, Aumente, aumente, aumente, aumente, aumente, aumente, aumente, aumente, aumente, aumente, aumente, aumente, aumente, aumente, aumente, agregue, aumente, elimine 4 operaciones. En este punto, todos deben tener una comprensión general.
1. Según la especificación HTTP, GET se utiliza para la adquisición de información, y debe ser seguro y potencia.
(1). En otras palabras, las solicitudes GET generalmente no deben producir efectos secundarios. Es decir, es solo obtener información de recursos, al igual que las consultas de la base de datos, no modificará, aumentará los datos y no afectará el estado de los recursos.
* Nota: El significado de seguridad aquí solo se refiere a la información no modificada.
(2). Aquí explicaré el concepto de MI Wait:
Idempotent e idempotnce son un concepto matemático o informático, comúnmente en álgebra abstracta.
Espere algunas definiciones:
Para las operaciones monoculares, si una operación es la misma para el resultado del cálculo de la operación de la operación y el resultado del cálculo de la operación, entonces el resultado de la operación es el mismo que el resultado de la operación. Por ejemplo, la operación de valor absoluto es un ejemplo.
Para las operaciones binoculares, si los dos valores de las operaciones participantes son iguales, si los resultados del cálculo son iguales a los dos valores de las operaciones participantes, la potencia de la operación se llama función, hay una potencia concentrada en el número real, es decir, max (x, x) = x.
Después de leer la explicación anterior, debe comprender el significado de Get Power.
Pero en aplicaciones prácticas, las dos disposiciones anteriores no son tan estrictas. Ejemplo de citar los artículos de otras personas: por ejemplo, la página principal del sitio de noticias se actualiza constantemente. Aunque la segunda solicitud devolverá diferentes lotes de noticias, la operación todavía se considera segura y potencia, ya que siempre devuelve las noticias actuales. Fundamentalmente, si el objetivo es que cuando el usuario abre un enlace, puede estar seguro de que no puede cambiar los recursos desde su propia perspectiva.
2. Según la especificación HTTP, Post indica que la solicitud de cambiar los recursos en el servidor puede modificar el recurso en el servidor. Continúe cotizando el ejemplo anterior: todavía tome las noticias como ejemplo.
Por encima de lo anterior, hablar sobre algunos principios de Get and Post en la especificación HTTP. Sin embargo, en el hecho real, muchas personas no lo han hecho de acuerdo con las especificaciones HTTP.
1. Muchas personas son codiciosas y convenientes.
2. Para el aumento, eliminar, cambiar, verificar la operación, puede completarlo a través de Get/Post sin usar PUT y Eliminar.
3. El otro es que los primeros diseñadores del marco de MVC web no trataron conscientemente la URL como recursos abstractos, por lo que un problema más grave es que el marco MVC web tradicional básicamente solo admite obtener y publicar dos métodos HTTP no son compatibles con PUT y Delete.
* Simplemente explique el MVC: MVC originalmente existió en el programa de escritorio. El propósito de usar MVC es separar el código de implementación de M y V, para que el mismo programa pueda usar diferentes formularios de expresión.
Los 3 puntos anteriores describen el antiguo conjunto de estilos (sin el cumplimiento estricto de las especificaciones HTTP).
Después de hablar sobre la razón original, observamos la diferencia entre Get and Post desde la imagen de la superficie:
1. Los datos solicitados por la solicitud de Ettle se adjuntarán a la URL (es decir, coloque los datos en el encabezado del protocolo HTTP) para dividir la URL y transmitir datos, y los parámetros están conectados, como: login.action? Hyddd & Password = Idontknow & Verify =%E4%BD%A0%E5%A5%BD. Si los datos son letras/números en inglés, el envío original, si es un espacio, conviértelo a+, si es chino/otros caracteres, cifre directamente la cadena con base64 para obtenerlo bd, de los cuales xx en % xx es un ASCII Representado por Hexadecimal.
Post coloca los datos enviados en el paquete HTTP.
2. Los datos enviados byget solo pueden ser 1024 bytes. Intersección Intersección
La oración anterior fue transferida de otros artículos.
(1). De hecho, la URL no tiene el problema del límite superior del parámetro, y la especificación del protocolo HTTP no limita la longitud de la URL. Este límite es un navegador específico y restricciones de servidor. El límite de IE en URL es 2083 bytes (2k+35). Para otros navegadores, como Netscape, Firefox, etc., no hay una limitación a largo plazo, y su restricción depende del soporte del sistema operativo.
Tenga en cuenta que esto se limita a toda la longitud de la URL, no solo la longitud de los datos del valor de su parámetro. [Ver datos de referencia 5]
(2).
Para los programas ASP, el objeto de solicitud tiene un límite de longitud de datos de 100k al procesar cada dominio. Pero si usa request.binaryRead, no hay límite.
A partir de esta extensión, Microsoft ha aumentado las restricciones en IIS 6.0 por razones de seguridad. Todavía necesitamos prestar atención:
1).
2).
3).
IIS 6.0 no tenía estas restricciones antes. [Ver datos de referencia 5]
Entonces, los 80k anteriores, 100k pueden ser solo el valor predeterminado (nota: no he confirmado los parámetros de IIS4 e IIS5), pero debe ser establecido por mí mismo. Dado que los valores predeterminados de estos parámetros de cada versión del IIS son diferentes, consulte el documento de configuración IIS relevante.
3. En ASP, el servidor obtiene el parámetro GET SOLIT con request.QueryString, y obtenga el parámetro de solicitud posterior con request.form. En JSP, use el request.getParameter (/xxxx/) para obtenerlo. & Password = Hyddd, use la solicitud. En PHP, puede usar $ _get y $ _post para obtener datos en get y publicaciones, mientras que $ _ _Request puede obtener datos en dos solicitudes de Get and Post. Vale la pena señalar que habrá peligros ocultos para usar $ _request en JSP en JSP y PHP.
4. La seguridad de Post es más alta que la seguridad de Get. Nota: La seguridad mencionada aquí no es el mismo concepto que la seguridad mencionada anteriormente. El significado de la seguridad anterior no es modificar los datos, y el significado de la seguridad aquí es el significado de la seguridad real. Porque (1) la página de inicio de sesión puede ser el navegador. Ataque de falsificación de solicitud de sitio.
Para resumir, Get es una solicitud para enviar datos al servidor, y Post es una solicitud para enviar datos al servidor (Formulario), el método vale para obtener.