Nothing Special   »   [go: up one dir, main page]

Resumo 2977380 Edward Lima Marialves de Melo 255935340 Redes de Computadores Ti 2022 Aula 38 Ar 1660164990

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 12

REDES DE COMPUTADORES

Arquitetura TCP/IP - Camada de Aplicação - Protocolo HTTP


Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br

ARQUITETURA TCP/IP - CAMADA DE APLICAÇÃO - PROTOCOLO


HTTP

ARQUITETURA TCP/IP

A arquitetura TC/IP foi fortemente implementada e é a que é usada atualmente; ela é


a internet.
A camada de aplicações está relacionada com os protocolos/serviços que provêm comu-
nicação entre máquinas.

• Protocolo HTTP

Protocolo HTTP - Hypertext Transfer Protocol:

Hypertext Transfer Protocol é o mesmo que protocolo de transferência de hipertexto.

• Usado globalmente pela www (world wide web) desde 1990.

O conceito de HTTP é o mesmo relacionado à transferência de arquivos, no entanto, a


transferência não é de arquivos de dados, mas de conteúdos e hipertextos.

• Sistemas de informação práticos requerem maior funcionalidade do que simples recu-


peração, incluindo pesquisa, atualização no front-end e anotação.
• HTTP permite um conjunto aberto de métodos para ser usado para indicar o propósito
de uma requisição.

Para o HTTP há sempre a filosofia da arquitetura cliente-servidor. A ideia de uma arqui-


tetura cliente-servidor é que sempre o servidor serve se ele for solicitado. O servidor possui
serviços e ele deve ser chamado. O client (cliente) irá sempre chamar o servidor quando pre-
cisar de algum serviço. E desta forma que o HTTP irá buscar conteúdos relacionados ao www.

• Referência provida pela Uniform Resource Identifier (URI), como uma locação (URL)
ou nome (URN) para indicar em qual recurso um método é para ser aplicado.

Obs.: Uniform Resource Identifier é o mesmo que identificação de resolução uniforme.


ANOTAÇÕES

www.grancursosonline.com.br 1
REDES DE COMPUTADORES
Arquitetura TCP/IP - Camada de Aplicação - Protocolo HTTP
Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br

Portanto, a referência pode estar relacionada a uma localização (URL), a uma


identificação (URI), ou a um nome (URN) para recurso a ser aplicado com relação a um
método de busca.

• As mensagens são passadas em um formato similar ao usado pelo Internet Mail e o


Multipurpose Internet Mail Extensions (MIME).
• O Hypertext Transfer Protocol (HTTP) é um conjunto de regras para troca de arquivos
(texto, imagens gráficas, som, vídeo, e outros tipos multimedia na www.
5m

É um hipertexto justamente porque o arquivo pode ser texto, imagens gráficas, som,
vídeo etc.

Obs.: Esta é uma ideia de identificação baseada através do protocolo MIME.

• É um protocolo da camada de “Aplicação” do modelo OSI.

O modelo OSI foi incorporado na arquitetura TCP/IP, que é sinônimo de internet.

• Utilizado para transferência de dados na WWW.


• Utiliza a porta 80 para o servidor.

Obs.: Para porta cliente é usado acima de 1024.

• Usado para a comunicação de “sites”.


• Comunica-se na linguagem HTML (Hipertext Markup Language), contudo para haver
comunicação, com o servidor do “site”, teremos de utilizar comandos próprios do
mesmo, os quais não são em HTML.

Quando se navega na internet é digitado “http://www.”. Este http é justamente a lingua-


gem relacionada ao protocolo a ser utilizada para o www. O protocolo HTTP provê o serviço
baseado no www.
O HTML é para construção de páginas, e a linguagem de comunicação do HTTP é própria.

• A porta 8080 é utilizada dentro dos protocolos UDP como alternativa a porta 80 (TCP).
10m
ANOTAÇÕES

www.grancursosonline.com.br 2
REDES DE COMPUTADORES
Arquitetura TCP/IP - Camada de Aplicação - Protocolo HTTP
Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br

Obs.: O protocolo HTTP trabalha, comumente, na porta 80, provida através do TCP na
camada de transporte.

• Conhecida como “http-alt“, ou “http alternate“, ou seja, alterna entre outros protocolos
para desempenhar a sua própria função.
• Funções:
- Criar conexões com o proxy da internet;
- Criar conexões com o servidor de armazenamento em cache;
- Permitir a execução de um servidor da Web através de um usuário;
- O servidor do “site”, teremos de utilizar comandos próprios do mesmo, os quais
não são em HTML.

Conexões HTTP

• O protocolo é basicamente “stateless”, a conexão só permanece aberta entre o cliente


e o usuário durante a transferência. Nenhuma informação é retida pelo servidor sobre
a conexão.

Ou seja, o http só fica ativo com o servidor enquanto está acontecendo a transferência de
arquivo. Depois que a transferência acaba, esta conexão é desfeita.

• Connection estabelecimento de uma conexão pelo cliente ao usuário (quando usar


o porta 80 do TCP/IP - porta “well-known”). Outras portas “non-reserved” podem ser
especificadas no URL;

É possível levantar um site em uma outra porta no servidor, diferente de 80, mas, isso
deve ser especificado ao cliente.

• Request emissão, pelo cliente, de uma mensagem do pedido ao usuário;


• Response emissão, pelo servidor, de uma resposta ao cliente;
• Close fechamento da conexão por ambas as partes.
ANOTAÇÕES

www.grancursosonline.com.br 3
REDES DE COMPUTADORES
Arquitetura TCP/IP - Camada de Aplicação - Protocolo HTTP
Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br

Tudo isso caracteriza o stateless. Abre-se a conexão, há o pedido do cliente, vem uma
resposta do servidor com relação ao pedido do cliente, e depois há o fechamento da conexão
por ambas as partes.

Mensagens HTTP – Request ou Response

• Informações textuais codificadas em ASCII, distribuídas por múltiplas linhas.

O código ASCII é aquele que se consegue ler facilmente. Há uma tabela de código ASCII
relacionado à informação para que possa ser visualizada.
15m

• HTTP/1.1, e versões anteriores eram abertamente enviadas através da conexão.


• HTTP/2, dividida em quadros HTTP, resultando em otimização e melhora de
desempenho.

Observe na imagem abaixo como é feita a atividade:

No início da atividade tem-se uma API, há o trabalho relacionado ao browser, os formulá-


rios desenvolvidos através da linguagem HTML e a codificação do servidor de arquivo.
Observe na imagem acima que, ao meio dela, está baseado em várias linhas. No HTTP/2
há vários quadros.
ANOTAÇÕES

www.grancursosonline.com.br 4
REDES DE COMPUTADORES
Arquitetura TCP/IP - Camada de Aplicação - Protocolo HTTP
Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br

No protocolo sempre haverá o cabeçalho com seus campos de preenchimento, e a parte


de dados que trará a informação em relação à aplicação, esta parte é chamada de payload.

Estruturas HTTP – Request ou Response

1. Uma linha inicial (start-line) que descreve as requisições a serem implementadas, ou


seu status de sucesso ou falha. Esta linha inicial é sempre única.
Portanto, a primeira linha, que é a start-line, informará qual é a requisição e se ela deu
sucesso ou se deu falha.
2. Um conjunto opcional de cabeçalhos HTTP especificando a requisição, ou descre-
vendo o corpo incluso na mensagem.
3. Uma linha em branco (empty line) indicando que toda meta-informação para a requisi-
ção já foi enviada.
A linha em branco denota que a parte do cabeçalho acabou. Depois da linha em branco
começa uma outra parte relacionada ao protocolo. Esta linha já é da estrutura do protocolo.
A meta-informação é a informação da informação.
4. Um corpo (body) contendo dados associados à requisição (como o conteúdo de um
formulário HTML), ou o documento associado à resposta. A presença do corpo e seu tama-
nho são especificados pela linha inicial e os cabeçalhos HTTP.

Obs.: O MIME ajuda a ter essas informações.


20m

Abaixo é possível ver a estrutura do request e do response:


ANOTAÇÕES

www.grancursosonline.com.br 5
REDES DE COMPUTADORES
Arquitetura TCP/IP - Camada de Aplicação - Protocolo HTTP
Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br


ANOTAÇÕES

www.grancursosonline.com.br 6
REDES DE COMPUTADORES
Arquitetura TCP/IP - Camada de Aplicação - Protocolo HTTP
Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br

Na start-line do request há a requisição, já do response, a resposta foi uma falha. No


cabeçalho do request é possível ver o local host, já no response é o servidor, e que possui
uma aplicação apache. Na linha abaixo, no request, é informado o navegador, que é o mozilla
5.0, depois o tipo de linguagem utilizada por ele, a sua codificação, a sua conexão, é infor-
mado que é um pedido, o conteúdo, o comprimento e, por fim, a parte de dados (more data).
No empty line é possível ver a linha em branco; ela faz a distinção da parte que acaba as
múltiplas linhas do cabeçalho para mostrar que começa a parte de dados.
No response trata-se do servidor. É possível ver, também, a empty line que indica que
acabaram as múltiplas linhas. Depois da linha branca vem a parte de dados em que é possí-
vel ver o HTML.

Protocolo HTTP

O que acontece quando solicito um arquivo a um servidor HTTP?

Quando se é um cliente e, com o web-browser, busca uma página, se digita http://www.


(...), isso significa que o cliente está indo chamar um arquivo. Este arquivo irá trazer o que
tiver relação com o HTML dele.
1. O cliente (tipicamente um web browser) faz uma conexão HTTP com o HOST geral-
mente com uma URL;
2. O usuário aceita a conexão.
3. O cliente envia um “request” para um documento -uma linha do texto. Ex.: GET
path_from_URL.
4. O servidor fecha a conexão e busca o documento pedido.
Por ser “stateless”, quando há a comunicação de pedido, a conexão é desfeita e o servi-
dor busca o conteúdo.
25m
5. O servidor reabre a conexão e emite o documento pedido.
6. O cliente aceita o documento.
7. Quando a emissão está completa, o servidor fecha a conexão.
8. O cliente termina a conexão do HTTP.
Requisições HTTP
1. Método utiliza um verbo GET / PUT / POST ou nome HEAD ou OPTIONS para a ação
a ser realizada.
ANOTAÇÕES

www.grancursosonline.com.br 7
REDES DE COMPUTADORES
Arquitetura TCP/IP - Camada de Aplicação - Protocolo HTTP
Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br

2. Alvo da requisição
- Caminho absoluto seguido de “?” e o texto da consulta com os métodos;

Observe abaixo, no “head”, o “?”:

- URL completa;

Observe, na imagem abaixo, a URL completa:

- Autoridade de URL -> nome do domínio + porta (opcional), utilizado com CONNECT;

Na imagem abaixo há a autoridade de URL:

- Forma asterisco (*) utilizada com OPTIONS.

Observe, na imagem abaixo, a forma:

3. A versão HTTP define a estrutura do restante da mensagem, atuando como um indica-


dor da versão esperada para uso na resposta.
ANOTAÇÕES

www.grancursosonline.com.br 8
REDES DE COMPUTADORES
Arquitetura TCP/IP - Camada de Aplicação - Protocolo HTTP
Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br

Isso se dá porque é a forma que poderá ser processado por quem solicitou. No entanto,
o servidor deve estar preparado para entregar em vários tipos de pedidos de processamento
de display dos vários clientes que solicitam a ele.
Cabeçalho Request HTTP

• Seguem a mesma estrutura básica de um cabeçalho HTTP, cadeia de caracteres


seguida de dois pontos (:) e um valor cuja estrutura depende do cabeçalho:
- Cabeçalhos gerais / Cabeçalhos de Requisição / Cabeçalhos de Entidade.

Primeiramente há os cabeçalhos gerais. Observe na imagem abaixo que na primeira


linha está escrito “post / http/1.1”:

Após as informações dadas no request headers, observe acima, que aparecem as infor-
mações na parte relacionada ao cabeçalho por conexão (general headers). Logo após há a
parte de continuidade do cabeçalho (entity headers).

Corpo do Cabeçalho HTTP

• É a parte final da requisição


• Divididos em:
- Corpos de recurso-simples, consistindo em um único arquivo, definido pelos
dois cabeçalhos: Content-Type e Content-Length;
- Corpos de recurso-múltiplo, consistindo em um corpo de múltiplas partes, cada
uma contendo uma porção diferente de informação. Este é tipicamente asso-
ciado a formulários HTML.
ANOTAÇÕES

www.grancursosonline.com.br 9
REDES DE COMPUTADORES
Arquitetura TCP/IP - Camada de Aplicação - Protocolo HTTP
Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br

Respostas HTTP

• Linha de Stauts

Assim como é ilustrado na imagem abaixo:

O 404 é o not found (não encontrado).

A linha de status é uma identificação baseada em códigos numéricos que possuem


uma relação para entendimento humano:
- A versão do Protocolo (geralmente HTTP/1.1);
- Um código de status (sucesso / falha);
- Um texto de status entendíveis aos humanos.

• Cabeçalho
- O cabeçalho destas respostas é similar ao cabeçalho de Requisição.

Observe, na imagem abaixo, que foi dado como resposta: 200, que significa “ok”, ou seja,
não deu erro:

O 404 significa falha, já o 200 significa resposta satisfatória.


30m
ANOTAÇÕES

www.grancursosonline.com.br 10
REDES DE COMPUTADORES
Arquitetura TCP/IP - Camada de Aplicação - Protocolo HTTP
Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br

Protocolo HTTP

• Status Code – é um código do resultado do inteiro de 3 dígitos da tentativa de com-


preender e satisfazer ao pedido.
• Reason Phrase – descrição textual curta do código de status.

Exemplos:
1xx: Informational -Request received, continuing process
2xx: Success -The action was successfully received, understood, and accepted
3xx: Redirection -Further action must be taken in order to complete the request
4xx: Client Error -The request contains bad syntax or cannot be fulfilled
5xx: Server Error -The server failed to fulfill an apparently valid request

“200”: OK

“201”: Created
“202”: Accepted
“203”: Non-Authoritative Information
“204”: No Content
“304”: Not Modified

Obs.: O 304 não é utilizado.

“305”: Use Proxy


“400”: Bad Request
“401”: Unauthorized
“402”: Payment Required
“403”: Forbidden
“404”: Not Found
“500”: Internal Server Error
“501”: Not Implemented
“505”: HTTP Version not supported
Principais Métodos HTTP
ANOTAÇÕES

www.grancursosonline.com.br 11
REDES DE COMPUTADORES
Arquitetura TCP/IP - Camada de Aplicação - Protocolo HTTP
Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br

• GET: solicita ao servidor o envio de um recurso; é o serviço essencial para o protocolo.


• HEAD: variante de GET que solicita ao servidor o envio apenas de informações sobre
o recurso.
• PUT: permite que o cliente autorizado armazene ou altere o conteúdo de um recurso
mantido pelo servidor.
• POST: permite que o cliente envie mensagens e conteúdo de formulários para servi-
dores que irão manipular a informação de maneira adequada.
• DELETE: permite que o cliente autorizado remova um recurso mantido pelo servidor.

�Este material foi elaborado pela equipe pedagógica do Gran Cursos Online, de acordo com a aula
preparada e ministrada pelo professor Edward Lima Marialves de Melo.
A presente degravação tem como objetivo auxiliar no acompanhamento e na revisão do conte-
údo ministrado na videoaula. Não recomendamos a substituição do estudo em vídeo pela leitura
exclusiva deste material.
ANOTAÇÕES

www.grancursosonline.com.br 12

Você também pode gostar