Nas aplicações B/S, a interação de dados entre a frente e o back -end é concluída através do formulário em HTML. O formulário fornece duas maneiras de transmissão de dados - Get and Post. Embora sejam as duas maneiras de enviar dados, eles são realmente muito diferentes quando realmente transmitidos e podem ter sérios impactos nos dados. Embora o contêiner da Web tenha bloqueado algumas diferenças entre os dois para facilitar a aquisição de valores variáveis, será útil entender as diferenças entre os dois na programação futura.
Os métodos GET e POST em forma correspondem aos métodos GET e POST no protocolo HTTP, respectivamente, durante a transmissão de dados. As principais diferenças entre os dois são as seguintes:
1. O GET é usado para obter dados do servidor, enquanto o post é usado para passar dados para o servidor.
2. Obtenha os dados do formulário ao URL apontado pela ação na forma variável = valor e os dois usam "?" Para conectar, enquanto o "&" se conecta entre cada variável; A postagem é colocar os dados no formulário no corpo de dados e passa para o URL apontado pela ação da maneira como a variável e o valor corresponde ao valor.
3. O GET não é seguro porque, durante o processo de transmissão, os dados são colocados no URL solicitado. Atualmente, muitos servidores existentes, servidores proxy ou agentes de usuário gravarão a URL solicitada no arquivo de log e o colocarão em algum lugar, para que algumas informações de privacidade possam ser vistas por terceiros. Além disso, os usuários também podem ver diretamente os dados enviados no navegador e algumas mensagens internas do sistema serão exibidas na frente do usuário. Todas as operações da POST são invisíveis para o usuário.
4. A quantidade de dados transmitidos por get é pequena, o que se deve principalmente à limitação do comprimento do URL; E a postagem pode transferir uma grande quantidade de dados, para que você possa usar apenas a postagem ao fazer o upload de arquivos (é claro que há outro motivo, que será mencionado posteriormente).
5. Obtenha restringir o valor do conjunto de dados de formulários a ser caracteres ASCII; Enquanto o Post suporta o conjunto de caracteres ISO10646 inteiro.
6. Get é o método padrão de formulário.
Resumindo:
Método Get: Passe os parâmetros de dados na própria String URL e pode ser lido diretamente da variável 'query_string' no lado do servidor. É eficiente, mas não tem segurança e não pode processar dados complexos (só pode ser strings, por exemplo, no servlet/jsp, não pode lidar com funções Java como o vetor);
Método da postagem: Em termos de método de transmissão, os parâmetros serão embalados e transmitidos no datagrama e lidos na variável de ambiente content_length, que é conveniente para transmitir dados maiores. Ao mesmo tempo, como os dados não são expostos na barra de endereços do navegador, a segurança é relativamente alta, mas essa eficiência de processamento será afetada.