O protocolo no nível da aplicação para a transferência de hipertexto (HTTP, HyperText Transfer Protocol) opera sobre o protocolo TCP/IP para estabelecer um mecanismo de serviço com estrutura requisição-resposta. Uma das características peculiares de HTTP é a composição flexível do cabeçalho, composto por diversas linhas, o que permite sua utilização como integrador de diversos formatos e não apenas de documentos HTML.
Essa flexibilidade reflete-se também na maior complexidade desse protocolo. No entanto, é possível estabelecer servidores HTTP operando com configurações simplificadas, onde nem todos os serviços previstos no protocolo são implementados.
Os principais serviços de HTTP incluem:
Um cabeçalho HTTP é composto por uma linha contendo a especificação do serviço e recurso associado, seguida por linhas contendo parâmetros. Um exemplo de requisição gerada por um cliente HTTP é:
GET http://www.dca.fee.unicamp.br/ Accept: text/html, image/gif, image/jpeg User-Agent: Mozilla/3.0
para a qual o cabeçalho da resposta poderia ser:
HTTP/1.1 200 OK Date: Wed, 24 Mar 1999 23:23:45 GMT Server: Apache/1.2b6 Connection: close Content-Type: text/html Content-length: 648
A indicação do tipo de conteúdo do recurso (usada nos parâmetros Accept e Content-Type) seguem a especificação no padrão MIME (Multipurpose Internet Mail Extensions).