| HTTP Essentials |
|
|
|
|
Leia sobre o funcionamento e principais características do http.
Protocolo HTTP O HTTP (Hypertext Transfer Protocol) é um protocolo que atua na camada de aplicação de acordo com o modelo OSI e estabelece um conjunto de regras, padrão para troca de mensagens entre recursos na WEB. Versões:
Não é o propósito deste tutorial explicar os detalhes de cada versão, mais detalhes podem ser obtidos na RFC 2145 (Use and Interpretation of HTTP Version Numbers). Como trabalha o protocolo HTTP ![]() Figura 1
Por este motivo é utilizado recursos extras como cookie e/ou sessões para garantir a persistência dos dados e informações que são disponibilizados em aplicações. A figura 2 mostra a visão do protocolo HTTP e seus dados frente a camada TCP/IP, na figura 3 podemos identificar como funciona a comunicação em uma rede de dados e na figura 4 um exemplo de um header (cabeçalho) HTTP. ![]() Figura 2 ![]() Figura 3
Quando estamos falando de aplicações WEB geralmente estamos sempre fazendo referência a URL(Uniform Resource Locators) como http://wagnerelias.com, técnicamente a URL serve apenas para fazer referência a um determinado domínio, quando precisamos acessar recursos WEB via browser utilizamos a URI (Uniform Resource Identifiers). Para conseguir identificar e explorar determinados recursos de uma aplicação é essencial que se entenda exatamente o que cada parte de uma URI representa, na figura 5 temos uma descrição de cada parte de uma URI.
Já sabemos o que é um protocolo HTTP, quais as suas principais características, mas é preciso entender quais são seus principais métodos e códigos de status, na figura 6 temos um representação de uma requisição do browser e uma resposta do servidor. ![]() Figura 6
Métodos HTTP
Os métodos são informados no momento que é feito uma requisição HTTP ao servidor de aplicação. Código de Status do HTTP
Uma lista completa de códigos de status pode ser obtida aqui. Sempre que uma requisição usando um método HTTP é feita ao server é recebido uma resposta com um status code. O HTTP também possui recursos de autenticação nativos que pretendo falar mais sobre eles em um post futuro, os dois modelos são:
Eu costumo usar muito os recursos do firefox para analisar as requisições e respostas HTTP, os principais addon são estes: Além dos addon do firefox eu estou usando uma ferramenta desenvolvida pelo tiger team 514 que faz várias requisições usando métodos diferentes e dando o status code de cada uma. ![]() HTTP Methods
As referências para este tutorial foram os livros: - Whiley - HTTP Essentials Protocols for Secure, Scaleable Web Sites; - O'Reilly - HTTP Definitive Guide; - Sams - HTTP Developer's Handbook. |















