En las aplicaciones B/S, la interacción de datos entre el frente y el backend se completa a través del formulario de formulario en HTML. El formulario proporciona dos formas de transmisión de datos: obtener y publicar. Aunque ambas formas de enviar datos, son muy diferentes cuando realmente se transmiten y pueden tener graves impactos en los datos. Aunque el contenedor web ha bloqueado algunas diferencias entre los dos para facilitar la adquisición de valores variables, será útil comprender las diferencias entre los dos en la programación futura.
Los métodos Get and Post en forma corresponden a los métodos Get and Post en el protocolo HTTP respectivamente durante la transmisión de datos. Las principales diferencias entre los dos son las siguientes:
1. Get se usa para obtener datos del servidor, mientras que la publicación se usa para pasar datos al servidor.
2. Obtener agrega los datos en el formulario a la URL señalada por la acción en la variable de formulario = valor, y los dos usan "?" para conectarse, mientras que "&" se conecta entre cada variable; Post es colocar los datos en el formulario en el cuerpo de datos, y los pasa a la URL señalada por la acción en la forma en que la variable y el valor corresponden al valor.
3. Obtener no es seguro porque durante el proceso de transmisión, los datos se colocan en la URL solicitada. Hoy en día, muchos servidores existentes, servidores proxy o agentes de usuarios registrarán la URL solicitada en el archivo de registro y luego la colocarán en algún lugar, para que terceros puedan ver cierta información de privacidad. Además, los usuarios también pueden ver directamente los datos enviados en el navegador, y algunos mensajes internos del sistema se mostrarán frente al usuario. Todas las operaciones de POST son invisibles para el usuario.
4. La cantidad de datos transmitidos por Get es pequeña, que se debe principalmente a la limitación de la longitud de la URL; Y Post puede transferir una gran cantidad de datos, por lo que solo puede usar POST al cargar archivos (por supuesto, hay otra razón, que se mencionará más adelante).
5. Get restringe el valor del conjunto de datos de formularios de formulario para ser caracteres ASCII; mientras que Post admite todo el conjunto de caracteres ISO10646.
6. Get es el método de formulario predeterminado.
Para resumir:
Obtener método: pase los parámetros de datos en la cadena de URL en sí, y se puede leer directamente desde la variable 'Query_String' en el lado del servidor. Es eficiente, pero carece de seguridad y no puede procesar datos complejos (solo puede ser cadenas, por ejemplo, en Servlet/JSP, no puede manejar funciones de Java como Vector);
Método de publicación: en términos de método de transmisión, los parámetros se empaquetarán y transmitirán en el datagrama y se lee desde la variable de entorno content_length, que es conveniente para transmitir datos más grandes. Al mismo tiempo, debido a que los datos no están expuestos en la barra de direcciones del navegador, la seguridad es relativamente alta, pero dicha eficiencia de procesamiento se verá afectada.