HTTP Flashcards

1
Q

Quais são as diferenças entre conexões persistentes e não presistentes ?

A

CONEXÃO NÃO PERSISTENTE: A conexão TCP é desfeita ao final da entrega de cada objeto. A conexão NÃO PERSISTE para outros objetos. O browser pode abrir várias conexões TCP simultâneas (paralelismo). Pode sobrecarregar o Servidor (administração de mais buffers e variáveis TCP no lado Cliente e Servidor) e tem maior tempo de resposta (requisição de conexão a cada objeto solicitado). O HTTP/1.0 utiliza HTTP não persistente.

CONEXÃO PERSISTENTE: Múltiplos objetos podem ser enviados sobre uma mesma conexão TCP (com paralelismo ou sem paralelismo). Sem paralelismo, o Servidor fica ocioso entre o final do envio do objeto e a recepção da requisição de envio do próximo objeto (desperdício de recurso) e maior tempo de reposta para montar a página WEB. O HTTP/1.1 utiliza conexões persistentes em seu modo padrão.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

O protocolo HTTP possui dois tipos de mensagens sendo elas mensagens de […] e de […].

A

O protocolo HTTP possui dois tipos de mensagens sendo elas mensagens de requisição e de resposta.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

O protocolo HTTP é considerado um protocolo […]

A

O protocolo HTTP é considerado um protocolo sem estado (STATELESS)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Quais tipos de cabeçalho uma mensagem HTTP pode possuir ? Explique os cabeçalhos observando mensagens de requisição e resposta.

A

MENSAGEM DE REQUISIÇÃO:
1) Cabeçalho genérico
2) Linha de requisição
3) Cabeçalho de requisição
4) Cabeçalho de entidade

MENSAGEM DE RESPOSTA
1) Cabeçalho genérico
2) Linha de status
3) Cabeçalho de resposta
4) Cabeçalho de entidade

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Quais são os tipos de métodos HTTP ? (9)

A

CONNECT: Utilizado para comunicação com servidores PROXY

DELETE: Remove o objeto ou página no servidor

**GET: **Solicitação de leitura de determinado objeto. A requisição de páginas WEB pode ser feita através desse método

HEAD: Mesma lógica do GET. Entretanto, solicita a leitura apenas do cabeçalho de um objeto ou página WEB. Tranquilo quando você vincula o nome do método com a estrutura do dado, certo? HEAD = CABEÇALHO. Com isso pode-se obter informações como a data da
última modificação da página.

**OPTIONS: **Realiza a consulta de determinadas opções

PATCH: Utilizado para aplicar modificações parciais a um recurso

**POST: **Método utilizado para anexar informações ou enviar arquivos de dados ou formulários como complemento de uma requisição de leitura. Dessa forma, a resposta dependerá da informação enviada. Basicamente trata a criação/atualização de um objeto
ou recurso existente.

PUT: ALTERAÇÃO DE DADOS, similar ao post, mas especificamente trata de ALTERAÇÕES. Solicitação de gravação de determinado objeto. Pode-se enviar páginas para um servidor remoto através desse método

TRACE: Utilizado para teste com mensagens do tipo loopback

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Os códigos de estado são definidos em classes, quais são essas classes ?

A

** ● 1xx - Classe informacional - **Esta classe indica uma resposta provisória, que consiste de informações do estado da requisição e cabeçalhos opcionais.

● 2xx - Classe de Sucesso - Indica que a requisição foi recebida, entendida, aceita e processada.

**● 3xx - Classe de Redirecionamento - **Indica a necessidade de atuação por parte do cliente HTTP para completar a requisição. Pode ou não ser o caso de atuação direta do usuário.

**● 4xx - Classe de Erro de Cliente - **Indica a possibilidade de que houve um erro na requisição por parte do cliente. Caso não seja uma requisição com método HEAD, o servidor enviará uma explicação da situação do erro e se esta é permanente ou temporária.

**● 5xx - Classe de Erro de Servidor - **Indica que o servidor reconheceu um erro interno ou a incapacidade de atender a requisição.

500 (INTERNAL SERVER ERROR) - Erro inesperado que impediu o atendimento a requisição

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Quanto aos codigos de estado do protocolo HTTP apresente os códigos referentes as classes 4 e 5 ?

A

400 Solicitação Inválida (BAD REQUEST)
erro 400 bad request indicando uma solicitação inválida Esse código significa que existe uma solicitação inválida para processamento devido a um erro do cliente. Algumas das causas mais comuns incluem sintaxe incorreta, cookies inválidos e um cache DNS não sincronizado.

401 Não Autorizado (UNAUTHORIZED)
explicação do porquê a solicitação não foi autorizada
O servidor não conseguiu processar a solicitação porque as credenciais de autenticação eram inválidas. A resposta inclui um campo de cabeçalho de autenticação WWW-authenticate contendo informações sobre o que fazer se o usuário insistir em acessar o recurso protegido por senha.

402 Pagamento Necessário
Esse código de status é para uso futuro. A intenção era que esse código pudesse ser usado como parte de alguma forma de dinheiro digital ou esquema de pagamento. Ele indica que o servidor se recusou a processar a solicitação porque o usuário não efetuou o pagamento.

Como não há uma regra padrão para usá-lo, muitos e-commerces usam o código 402 Pagamento Necessário para criar paywalls.

403 Proibido (FORBIDDEN)
erro 403 indicando que uma solicitação não foi autorizada O código 403 tem um propósito semelhante à resposta 401 Não Autorizado. Ele indica uma recusa em autorizar a solicitação mesmo com credenciais de login válidas. Portanto, o usuário não deve repetir a solicitação.

As causas mais comuns são as permissões limitadas — por exemplo, um usuário com função de Escritor tentando acessar páginas apenas para Editores.

404 Não Encontrado (NOT FOUND)
Esse código de status informa ao usuário que o servidor falhou ao localizar o recurso solicitado. No entanto, ele não consegue identificar se o recurso está ausente de forma temporária ou permanentemente.

Algumas das causas mais comuns são URL digitados incorretamente, problemas de armazenamento em cache e propagação de domínio incompleta.

500 Erro do Servidor Interno (INTERNAL SERVER ERROR)
O servidor não pode atender à solicitação devido a uma condição inesperada.

No WordPress, um plugin, tema ou arquivo .htaccess corrompidos podem acionar esse erro. Outras causas possíveis incluem limite insuficiente de PHP e versões incompatíveis do PHP.

**503 Serviço Indisponível (SERVICE UNAVAILABLE) **
O servidor não pode lidar com a solicitação porque ficou sem recursos ou está em manutenção.

505 Versão HTTP Não Suportada (VERSION NOT SUPPORTED)
O servidor não suporta a versão do protocolo HTTP usada na solicitação. O uso de um navegador desatualizado pode acionar esse código de resposta.

A resposta geralmente contém informações sobre os protocolos suportados pelo servidor.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

O que é o protocolo HTTP ?

A

Protocolo para a troca ou transferência de hipertexto utilizado em sistemas de hipermídia, distribuídos ou colaborativos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly