POST e GET


Na dura e contínua luta para conseguir a certificação MCSD.NET, estou eu aqui no Curso 2524 (Developing XML Web Services Using Microsoft ASP.NET), no qual aprendi algumas coisas legais sobre protocolos que ainda não sabia e tentarei colocar aqui de forma clara para que possa ajudar algumas pessoas que ainda não conhecem.

Para começar, mostrarei a sintaxe de uma URL:
http://host[:porta][path[?QueryString]]

Para ilustrar um exemplo prático:
http://www.projetando.net/Search.aspx?ProdutoID=1

Quando a porta não é informada, a porta padrão é utilizada, que na maioria das vezes é a porta 80.

Abaixo a estrutura do HTTP Request e Response:

REQUEST (Via Post):
—————————————————————
Post /Search.aspx HTTP/1.1
Host: http://www.projetando.net
Content-Type: application/x-www-form-urlencoded
Content-Length: 11

ProdutoID=1
—————————————————————

REQUEST (Via Get):
—————————————————————
GET /Search.aspx?ProdutoID=1 HTTP/1.1
Host: http://www.projetando.net
—————————————————————

Um detalhe interessante é que quando a requisição é através de Post, o conteúdo irá dentro do corpo da Mensagem. Quando a solicitação é feita através do método Get, os dados são anexados à URL. Mas com isso devemos ter cuidados especiais, já que o valor é restrito à 1024 bytes e deixa os dados visíveis.

RESPONSE:
—————————————————————
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Lenght: 75

—————————————————————

Abaixo a estrutura do Request e Response, respectivamente:

Método URL Versão
Cabeçalho
Linha em Branco *
Corpo da Mensagem

Versão Código de Status Descrição
Cabeçalho
Linha em Branco *
Corpo da Mensagem

* Repare que nos dois casos há uma Linha em Branco. Esta linha serve para separar o Cabeçalho do Corpo da Mensagem.

Deixe uma resposta