Você está na página 1de 11

Este trabalho foi realizado no âmbito da disciplina/cadeira

de Tecnologias Web para a turma de Tecnologias


Informáticas do Instituto Superior de Engenharia da
Universidade do Algarve.

1
Resumo……………………………………………………………………………… 3

1 – Introdução………………………………………………………………………. 3

1.1 – O que é HTTP?………………………………………………………… 3

2 – Origem do HTTP……………………………………………………………….. 3

3 – Funcionamento do HTTP……………………………………………………… 4

4 – Aspetos básicos do HTTP…………………………………………………….. 5

5 – Estruturas de transições HTTP………………………………………………. 6

6 – Métodos HTTP…………………………………………………………………. 8

7 – Mensagens HTTP……………………………………………………………… 9

8 – Segurança HTTP……………………………………………………………….10

9 – Conclusão……………………………………………………………………… 10

10 – Bibliografia…………………………………………………………………… 10

2
Este trabalho tem o objetivo principal de fornecer uma visão geral sobre
HTTP, através de pesquisa realizadas em fontes abertas e notas de aula. As
informações que aqui estão contidas tenciona a orientação da temática,
incluindo um pouco da sua história, também como as suas funcionalidades no
protocolo de rede, suas estruturas e seu funcionamento.

HTTP ou Hypertext Transfer Protocol, é o protocolo de rede usado para


entregar virtualmente todos os arquivos e outros dados na World Wide Web,
sejam eles arquivos HTML, arquivos de imagem, troca de dados na web e um
protocolo cliente-servidor, o que significa que as requisições são iniciadas pelo
destinatário, geralmente um navegador da web.

O HyperText Transfer Protocol é um protocolo de aplicação responsável


pelo tratamento de pedidos e respostas entre cliente e servidor na World Wide
Web. Ele surgiu da necessidade de distribuir informações pela Internet e para
que essa distribuição fosse possível foi necessário criar uma forma
padronizada de comunicação entre os clientes e os servidores da Web e

3
entendida por todos os computadores ligados à Internet. Com isso, o protocolo
HTTP passou a ser utilizado para a comunicação entre computadores na
Internet e a especificar como seriam realizadas as transações entre clientes e
servidores, através do uso de regras básicas.

O HyperText Transfer Protocol é um protocolo de aplicação responsável


pelo tratamento de pedidos e respostas entre cliente e servidor na World Wide
Web. Ele surgiu da necessidade de distribuir informações pela Internet e para
que essa distribuição fosse possível foi necessário criar uma forma
padronizada de comunicação entre os clientes e os servidores da Web e
entendida por todos os computadores ligados à Internet. Com isso, o protocolo
HTTP passou a ser utilizado para a comunicação entre computadores na
Internet e a especificar como seriam realizadas as transações entre clientes e
servidores, através do uso de regras básicas.

De uma forma resumida, o HTTP é um protocolo baseado em texto sem


conexão. Isso significa que as pessoas que acessam os sites da empresa
enviam solicitações a servidores que as exibem na forma do seu site em
formato de texto, imagens, e outros tipos de mídia. Depois que a solicitação é
atendida por um servidor, a conexão entre o usuário e o servidor é
desconectada. Uma nova conexão deve ser feita para cada solicitação, isto é,
cada vez que alguém acessa o seu site.

4
Mesmo com mais complexidade introduzida no HTTP/2.0 por encapsular
mensagens HTTP em quadros (frames), o HTTP foi projetado para ser simples
e legível às pessoas. As mensagens HTTP podem ser lidas e entendidas por
qualquer um, provendo uma maior facilidade para desenvolvimento e testes, e
reduzir a complexidade para os estudantes.

Introduzidos no HTTP/1.0, os cabeçalhos HTTP fazem com que este


protocolo seja fácil para estender e usá-lo para experimentos. Novas
funcionalidades podem até ser introduzidas pelo simples acordo entre um
cliente e um servidor sobre a nova semântica de um cabeçalho.

HTTP é sem estado: não existe uma relação entre duas requisições
sendo feitas através da mesma conexão. Isso traz um problema imediato para
usuários que interagem com algumas páginas de forma coerente, por exemplo,
usando um carrinho de compras de e-commerces. Mas como o fundamento
básico do HTTP é não manter estados, cookies HTTP permitem que as sessões
tenham estados. Usando a extensibilidade dos cabeçalhos, os cookies são
adicionados ao fluxo do HTTP, permitindo que a criação de sessão em cada
requisição HTTP compartilhe o mesmo contexto, ou o mesmo estado.

Uma conexão é controlada na camada de transporte, e, portanto,


fundamentalmente fora do controle do HTTP. Dentre os dois protocolos de
transporte mais comuns na internet, o TCP é confiável e o UDP não. Portanto,

5
o HTTP utiliza o padrão TCP, que é baseado em conexão, mesmo que nem
sempre seja obrigatório o uso de uma conexão.

No protocolo HTTP/1.0 uma conexão TCP era aberta para cada par de
requisição/resposta trocada, introduzindo duas grandes falhas: abrir uma
conexão requer várias viagens de ida/volta de mensagens, e, portanto, é lento,
mas se torna mais eficiente quando mensagens são enviadas em maior número
ou maior frequência: "conexões quentes" são mais eficientes que "conexões
frias" (que envia poucas mensagens ou com baixa frequência).

Para contornar essas falhas, o protocolo HTTP/1.1 introduziu o conceito


de linhas de produção (ou pipelining) — que se provou difícil de ser
implementado — e conexões persistentes: as conexões TCPs feitas em baixo,
podem ser parcialmente controladas usando o cabeçalho HTTP Connection.

Como a maioria dos protocolos de rede, o HTTP usa o modelo cliente-


servidor: um cliente HTTP abre uma conexão e envia uma mensagem de
solicitação para um servidor HTTP; o servidor então retorna uma mensagem
de resposta, geralmente contendo o recurso que foi solicitado. Após entregar a
resposta, o servidor fecha a conexão (tornando o HTTP um protocolo sem
estado, ou seja, não mantendo nenhuma informação de conexão entre as
transações).

Possui três partes: nome do método, local do recurso pedido, versão do


HTTP

Exemplo: GET, (path/to/file/index.html)

6
Têm igualmente três partes: versão do HTTP | código de reposta (dá o
resultado do request)
Exemplo: HTTP/1.0

Pedidos de HTTP são mensagens que são enviadas pelo cliente para
iniciar uma ação no servidor. A primeira linha da mensagem é incluída a
mensagem pedida pelo cliente para o servidor, o método ao qual é aplicado o
recurso, o identificador do recurso, e a versão do HTTP.

Resposta HTTP enviada por um servidor para o cliente. A resposta é


usada para fornecer o cliente com o recurso que solicitou. É também utilizada
para informar o cliente de que a ação solicitada foi executada. Pode também
informar o cliente de que ocorreu um erro no processamento do seu pedido.

Uma message body de uma mensagem HTTP é usada para conter a


totalidade do corpo associado com o pedido e a resposta.

Os message headers fornecem informações sobre o pedido e a resposta.


Também fornecem informações sobre o objeto que é enviado no corpo da
mensagem. Existem 4 no total:

7
-- General Header |Têm uma aplicação geral para ambas as mensagens
pedidas e as mensagens de resposta;

-- Request Header: Têm uma aplicação só para as mensagens pedidas;

-- Response Header: Têm uma aplicação só para as mensagens de resposta;

-- Entity Header: Define a meta-informação sobre a entidade-corpo e sobre o


recurso identificado pelo pedido.

Os pedidos header fields são usados para permitir o cliente passar


informações adicionais para o servidor como o pedido e o próprio cliente. Os
pedidos header fields atuam como pedidos modificados, com semânticas
equivalentes aos parâmetros numa invocação do método da linguagem de
programação. O nome do pedido header field só pode ser expandido de forma
fiável em combinação com uma alteração na versão do protocolo.

O protocolo HTTP define oito métodos (GET, HEAD, POST, PUT,


DELETE, TRACE, OPTIONS e CONNECT) que indicam a ação a ser realizada
no recurso especificado. Um servidor HTTP deve implementar ao menos os
métodos GET e HEAD. Os métodos GET e POST são os que aparecem mais
comumente durante o desenvolvimento web.

O método GET requisita uma representação do recurso especificado.


Requisições usando GET devem apenas recuperar dados e não devem ter
qualquer outro efeito.

8
Variação do GET em que o recurso não é retornado. É usado para
obter informações por meio do cabeçalho da resposta, sem ter que recuperar
todo o conteúdo.

Envia dados para serem processados (por exemplo, dados de um


formulário HTML) para o recurso especificado. Os dados são incluídos no corpo
do comando.

O método PUT envia os dados de forma semelhante ao POST, através


do corpo do HTTP a diferença entre os 2 métodos é semântica

Exclui o recurso.

Ecoa o pedido, de maneira que o cliente possa saber o que os


servidores intermediários estão mudando em seu pedido.

Recupera os métodos HTTP que o servidor aceita.

Serve para uso com um proxy que possa se tornar um túnel SSL
e TLS (um túnel pode ser usado, por exemplo, para criar uma conexão segura).

HTTP/1.1 e mensagens mais antigas HTTP são legíveis às pessoas. No


HTTP/2.0, essas mensagens são embutidas numa nova estrutura binária, um
quadro, permitindo otimizações como compressão de cabeçalhos e
multiplexação. Mesmo se somente parte da mensagem HTTP original for
enviada nessa versão do HTTP, a semântica de cada mensagem permanece
inalterada e o cliente reconstitui (virtualmente) a requisição HTTP/1.1 original.

9
É, portanto, útil entender as mensagens HTTP/2.0 no formato da versão
HTTP/1.1. Existem dois tipos de mensagens, requisições e respostas, cada
uma com seu próprio formato.

HTTP é utilizado para comunicar por toda a internet. Deste modo,


utilizadores, fornecedores de informação e desenvolvedores de aplicações
devem estar cientes das limitações de segurança no HTTP/1.1

Com o trabalho já apresentado, chega-se a conclusão que o HTTP é um


protocolo extensível que é fácil de se usar. A arquitetura cliente-servidor,
combinada com a habilidade de simplesmente adicionar cabeçalhos, permite
que o HTTP avance suas funcionalidades juntamente com a elasticidade da
Web.

Embora o HTTP/2.0 adicione mais complexidade, embutindo mensagens


HTTP em quadros para melhorar a performance, a estrutura básica das
mensagens continua a mesma desde o HTTP/1.0. Fluxo de sessões
permanece simples, permitindo-o a ser investigado, e depurado com um
simples.

10
❖ https://developer.mozilla.org/en-US/docs/Web/HTTP (Acesso em
05/10/2022)
❖ https://pt.wikipedia.org/wiki/Hypertext_Transfer_Protocol#M%C3%A9tod
os_de_solicita%C3%A7%C3%A3o (Acesso em 05/10/2022)
❖ https://rockcontent.com/br/blog/http/ (Acesso em 05/10/2022)
❖ https://developer.mozilla.org/pt-BR/docs/Web/HTTP/Overviewn (Acesso
em 05/10/2022)
❖ https://jmarshall.com/easy/http/ (Acesso em 05/10/2022)

11

Você também pode gostar