2
respostas

Get VS Post

Ola pessoal!

Estive observando as informações dadas através deste vídeo e me surgiu a seguinte dúvida:

Se GET tem limite de informações durante seu transporte de informações, isso significa que se eu enviar uma informação ao usuário, seja numa VIEW ou diretamente, as informações também poderão ser cortadas?

E quanto ao POST, cuja ferramenta não limita a quantidade de informações, serve tanto para enviar informações ao servidor quanto para o usuário?

E ainda quanto ao POST: o metodo POST é tanto por questão de segurança quanto por questão de tamanho da frase/texto que será enviado de cliente para servidor e vice-versa?

E o GET? Ele seria somente para pequenos textos e informações sem sigilo pois seus dados ficam registrados na URL?

Obrigado

2 respostas

As informações também poderão ser cortadas?

R. Realmente há um limite no GET, mas não é nada de se preocupar visto que o objetivo do GET é ler ou recuperar uma representação de um recurso, não cadastrar um novo (Veja sobre idempotente e não idempotente mais a baixo).

"Serve tanto para enviar informações ao servidor quanto para o usuário?".

R. Os métodos HTTP são sempre iniciados do cliente para o servidor (se desconsiderámos web sockets).

Ele seria somente para pequenos textos e informações sem sigilo pois seus dados ficam registrados na URL?

R. Não são os dados que estão na URL, são os identificadores dos recursos (ids, nomes de usuários, cpfs, códigos e outros identificadores).

Idempotente e não idempotente

A principal diferença de um método GET para um POST é que o método GET é idempotente ou seja não importa quantas vezes solicitações idênticas ocorram, ele sempre retornará o mesmo resultado na solicitação, em outras palavras vários GETs não ocasionará mudanças no recurso solicitado.

O POST não é idempotente pois altera o recurso no servidor, logo caso duas solicitações idênticas sejam executadas em sequencia serão criados dois recursos distintos com o mesmo conjunto de dados.

Ola Steimntz,

Quando eu mencionei servidor para cliente, eu quis dizer "jogar uma informação". Tipo um GET mostra na tela do usuário, como no caso das empresas.

Se a informação estiver sendo levada até o usuário, tipo um cadastro de uma descrição enorme que ele mesmo fez; Esta descrição ele pode querer consultar, por exemplo, como ocorre nos blogs onde voce escreve textos enormes. Existe algum processo que está mostrando na página o que ele escreveu.

Neste caso, já que o metodo GET é restrito com relação à quantidade de carácteres, deve-se utilizar portanto o metodo POST?