|
|
|

|

|
Dicas
|

|
ASP - Active Server Page (Miscelâneas)
|
|
 |
Título da Dica: Os métodos GET e POST de um FORM
|
 |
|
|
Postada em 8/10/2003 por ^HEAVY-METAL^
Quando usamos uma seção <FORM> em uma página, pódemos definir um valor para o atributo HTML METHOD da tag de abertura FORM tanto para "GET" quanto para "POST". O padrão, se omitido, é "GET". Se usarmos "GET" ou omitirmos o atributo, o navegador junta os valores de todos os controles no formulário e uma cadeia de consulta e a anexa ao URL da página sendo solicitada.
Quando esta solicitação chega em nosso servidor da Web, ela é exposta através da coleção ASP request.QueryString. No entanto, se definirmos o atributo METHOD parea "POST", o navegador junta os valores dentro dos cabeçalhos HTTP que ele envia para o servidor, e eles são expostos para a ASP através da coleção Request.Form.
De um modo geral, você deveria usar o método POST em todos os seus formulários HTML. Existem limites impostos pelo navegador e servidor quanto ao comprimento da cadeia URL, pois anexar uma cadeia de consulta longa pode provocar um overflow e alguns dos valores podem ficar truncados. Também, a cadeia de consulta aparece na barra de endereços do navegador e em todos favoritos e links gravados. Isto não apenas é feio, mas também expõe valores que você pode não querer que apareçam na solicitação HTTP quando ela passa para Web, ou quando ela aparece nos seus e em outros arquivos de log do servidor en-route. Valores dentro dos cabeçalhos de solicitação HHTP são menos visíveis e não aparecem em arquivos de log.
Deve-se estar ciente quanto a um pequeno detalhe: com o método POST os valores em um formulário não persistem. Quando um usuário recarrega um <FORM>, os valores estão em branco e têm que ser reinseridos. No entanto, quando anexados ao URL que é armazenado como um link ou favorito, eles persistem, e portanto aparecerão em todas as solicitações para aquela combinação URL/cadeia de cosulta. Isto pode ser uma vantagem ou desvantagem, dependendo de sua aplicação.
T+,
|
|
|
|

|