Skip to content

Latest commit

 

History

History
108 lines (74 loc) · 8.1 KB

File metadata and controls

108 lines (74 loc) · 8.1 KB
title description meta_tags namespace permalink
Error Responses
Error Responses é uma capacidade da Azion Edge Application que permite personalizar páginas de erro para os usuários com base no código de status recebido da origem.
erros, edge application, http, páginas de erro
documentation_edge_application_error_responses
/documentacao/produtos/build/edge-application/error-responses/

import Button from '~/components/Button.astro';

Error Responses é uma capacidade do Azion Edge Application que permite personalizar páginas de erro para os usuários com base no código de status recebido da origem.

Quando um usuário solicita conteúdo de uma edge application, a Azion envia a requisição para os servidores de origem. Como resposta, a origem envia de volta um código de status HTTP, o qual indica se a requisição foi ou não concluída.

Os códigos de status HTTP são números de três dígitos, agrupados em cinco categorias:

  • Respostas de informação (1xx): o status da conexão ou o progresso antes da requisição ser completada.
  • Respostas de sucesso (2xx): a requisição foi recebida, compreendida, aceita e processada com sucesso pela origem.
  • Mensagens de redirecionamento (3xx): para atender à requisição, deve haver um redirecionamento.
  • Respostas de erro do cliente (4xx): a requisição não pôde ser completada devido a um possível erro do cliente.
  • Respostas de erro do servidor (5xx): o servidor não foi capaz de processar a requisição.

:::note Para mais informações sobre status HTTP, consulte as especificações de códigos de status HTTP. :::

Com a funcionalidade Error Responses, você pode personalizar como sua aplicação irá lidar com erros de Cliente (4xx) e Servidor (5xx). Desta forma, quando uma requisição é feita para uma URL que não está na origem ou quando não se obteve resposta do servidor, o usuário pode ser redirecionado para uma página de erro personalizada, cujo conteúdo pode ser armazenado em cache.

Implementação

Escopo Recurso
Primeiros passos de Edge Application Primeiros passos
Personalizar página de erro Como personalizar uma página de resposta de erro

Status Code

Código que a Azion recebe quando se conecta à origem.


Error Caching TTL

Define o tempo, em segundos, que a página de erro ficará em cache antes de ser atualizada.

:::tip Como geralmente páginas de erro são estáticas e não mudam com frequência, a Azion recomenda valores altos de cache. Dessa maneira, você pode otimizar a performance da sua aplicação, bem como o custo de processamento na origem. :::


URI

Caminho para o arquivo (geralmente em HTML) com o conteúdo da página de erro que será entregue. Esse caminho é adicionado ao domínio do seu aplicativo. Por exemplo: /404.html.


Custom Status Code

Código de status que será entregue ao usuário em vez do código original. Por exemplo, você pode definir que o código 404 seja fornecido em resposta a um erro 403.


Set Origin

A origem em que o arquivo da URI está localizado. Só pode ser alterada se uma URI for adicionada. Deve ser configurada usando Origins.


Códigos de erro disponíveis

Código de status Descrição
400: Bad Request Erro na requisição, tais como parâmetros inválidos, ausência de parâmetros obrigatórios ou outros.
401: Unauthorized Erro resultante da ausência do cabeçalho HTTP Authentication.
403: Forbidden Falta de permissão do usuário para executar a operação solicitada.
404: Not Found O recurso solicitado não existe.
405: Method Not Allowed O método solicitado não é aplicável à URL.
406: Not Acceptable Ausência do cabeçalho Accept na requisição HTTP ou cabeçalho contendo formato ou versão não suportados pela API.
408: Request Timeout Esta resposta é enviada por alguns servidores em uma conexão ociosa, mesmo sem qualquer requisição prévia pelo cliente. Ela significa que o servidor gostaria de derrubar esta conexão em desuso.

Esta resposta é muito usada já que alguns navegadores, como Chrome, Firefox 27+, ou IE9 usam mecanismos HTTP de pré-conexão para acelerar a navegação. Note também que alguns servidores derrubam a conexão sem enviar esta mensagem.
409: Conflict Conflito na execução da requisição, como a solicitação de criação de um registro já existente.
410: Gone Esta resposta será enviada quando o conteúdo requisitado foi permanentemente deletado do servidor, sem nenhum endereço de redirecionamento. É esperado que clientes removam seus caches e links para o recurso.

A especificação HTTP espera que este código de status seja usado para "serviços promocionais de tempo limitado". APIs não devem se sentir obrigadas a indicar que recursos foram removidos com este código de status.
411: Length Required O servidor rejeitou a requisição porque o campo Content-Length do cabeçalho não está definido e o servidor o requer.
414: URI Too Long A URI requisitada pelo cliente é maior do que o servidor aceita para interpretar.
415: Unsupported Media Type O formato de mídia dos dados requisitados não é suportado pelo servidor, então o servidor rejeita a requisição.
416: Request Range Not Satisfiable O trecho especificado pelo campo Range do cabeçalho na requisição não pode ser preenchido; é possível que o trecho esteja fora do tamanho dos dados da URI alvo.
426: Upgrade Required O servidor se recusa a executar a requisição usando o protocolo corrente mas estará pronto a fazê-lo após o cliente atualizar para um protocolo diferente. O servidor envia um cabeçalho Upgrade numa resposta 426 para indicar o(s) protocolo(s) requeridos.
429: Too Many Requests A requisição foi rejeitada temporariamente por exceder o limite de operações. Aguarde até o momento definido no cabeçalho X-Ratelimit-Reset e tente novamente.
431: Request Header Fields Too Large O cabeçalho da requisição é muito longo ou muitos cookies foram enviados na requisição.
500: Internal Server Error Erro não intencional, por falha não identificada no processamento da requisição.
501: Not Implemented O método da requisição não é suportado pelo servidor e não pode ser manipulado. Os únicos métodos exigidos que servidores suportem (e portanto não devem retornar este código) são GET e HEAD.
502: Bad Gateway Esta resposta de erro significa que o servidor, ao trabalhar como um gateway a fim de obter uma resposta necessária para manipular a requisição, obteve uma resposta inválida.
503: Service Unavailable O servidor não está pronto para manipular a requisição. Causas comuns são um servidor em manutenção ou sobrecarregado. É uma boa prática enviar, junto dessa resposta, uma página explicativa sobre o problema.

Estas respostas devem ser usadas para condições temporárias e o cabeçalho Retry-After deverá, se possível, conter o tempo estimado para recuperação do serviço. O webmaster deve também tomar cuidado com os cabeçalhos relacionados com o cache que são enviados com esta resposta, já que estas respostas de condições temporárias normalmente não deveriam ser postas em cache.
504: Gateway Timeout Esta resposta de erro é dada quando o servidor está atuando como um gateway e não obtém uma resposta a tempo.
505: HTTP Version Not Supported A versão HTTP usada na requisição não é suportada pelo servidor.

import ContributorList from '~/components/ContributorList.astro'

Contribuidores Contributor