Como corrigir erro de status HTTP 204 (sem conteúdo)?

Publicados: 2024-01-26

Índice
O que significa HTTP 204?
Referências de código de resposta HTTP 204
Como corrigir o problema do HTTP 204?
Impacto do HTTP 204 Nenhum conteúdo no SEO
Alguns cenários de uso do código de resposta HTTP 204 No Content
Diferença entre HTTP 204 e 200
Diferença entre HTTP 204 e 404
Conclusão
perguntas frequentes

O que significa HTTP 204?

O código de resposta HTTP 204 sem conteúdo indica que o servidor realizou seu trabalho atendendo à solicitação, ou seja, enviada pelo cliente, mas o servidor não encontrou nenhum conteúdo para enviar de volta ao cliente.

Em outras palavras, você pode entender que o servidor concluiu a solicitação, mas o servidor não tem informações para enviar de volta e o cliente não precisa sair da página atual.

Nota : O código de status HTTP 204 é considerado armazenável em cache por padrão, o que significa que os servidores e clientes proxy estão livres para armazenar as respostas em cache. Além disso, o servidor pode incluir um cabeçalho Etag neste caso.

Pode haver casos em que você queira substituir esse comportamento padrão. Nesse sentido, você pode incluir cabeçalhos de cache HTTP adicionais na resposta.


Referências de código de resposta HTTP 204

  • Símbolo de status HTTP do Rails: no_content
  • Ferrugem http::StatusCode::NO_CONTENT
  • Resposta constante do status HTTP do Symfony::HTTP_NO_CONTENT
  • Vá para a constante de status HTTP http.StatusNoContent
  • Python3.5+ Constante de status HTTP http.HTTPStatus.NO_CONTENT
  • .NET HttpStatusCode.NoContent
  • Java java.net.HttpURLConnection.HTTP_NO_CONTENT
  • Núcleo de componentes Http do Apache org.apache.hc.core5.http.HttpStatus.SC_NO_CONTENT
  • Angular @angular/common/http/HttpStatusCode.NoContent

Como corrigir o problema do HTTP 204?

No entanto, o código de status HTTP 204 não é um erro e foi implementado intencionalmente para mostrar uma solicitação bem-sucedida em que o servidor processou a solicitação do cliente, mas não tinha conteúdo para retornar.

Mas às vezes, involuntariamente, ele pode ser desencadeado de repente ou você pode vê-lo em uma situação inadequada. Para enfrentar esse cenário, aqui estão alguns dos métodos necessários que você deve considerar.

1. Verifique as configurações do servidor

Se você configurou incorretamente seu servidor, isso pode levar a uma resposta HTTP 204 não intencional. Portanto, você precisa verificar se a configuração do seu servidor, especialmente aquelas relacionadas ao tratamento de respostas HTTP, está corretamente alinhada com os requisitos da sua aplicação.

Além disso, considere verificar os logs de erros do servidor para obter detalhes detalhados.

2. Use ferramentas de SEO

Como já discutimos que se os URLs retornarem um código de resposta HTTP 204, os mecanismos de pesquisa não os indexarão, você pode usar várias ferramentas de SEO, como SEMRUSH ou Screamfrog, para descobrir o código de resposta HTTP 204 não intencional em seu site e ter certeza a página retorna HTTP 200.

3. Revise sua lógica de aplicação

Certifique-se de que a lógica do seu aplicativo esteja melhor alinhada com o caso de uso apropriado para HTTP 204. Ela deve atender ao propósito de mostrar esse código de status específico.

Verifique se a lógica está correta; por exemplo, se o conteúdo for esperado, mas o HTTP 204 for exibido, investigue por que isso está acontecendo. Além disso, continue refinando o aplicativo para otimizar a experiência do usuário.

4. Redirecione os usuários para a página com conteúdo

Se você está pensando em excluir conteúdo ou item e ele retorna um código de resposta HTTP 204 aos usuários, isso pode ter um impacto negativo sobre eles. Os usuários podem ficar confusos, o que acaba diminuindo a experiência geral do usuário do site. Isso é algo muito ruim do ponto de vista de SEO.

Em vez de mostrar aos usuários um código de resposta 204, é melhor redirecioná-los para uma página mais útil ou transmitir uma mensagem clara na mesma página.

5. Investigue solicitações de API ou AJAX

Caso você esteja lidando com APIs ou solicitações AJAX, certifique-se de que as expectativas do cliente e do servidor estejam alinhadas.

Se o cliente estiver esperando conteúdo, mas receber um HTTP 204, verifique se isso foi feito intencionalmente ou se há algo errado com ele.

6. Garanta o uso de códigos de status apropriados

Às vezes, devido a algum tipo de confusão ou falta de conhecimento do código de status HTTP, você pode estar usando um código diferente para cenários diferentes. Por exemplo, se o cliente espera conteúdo, crie um 200 OK ou outro código adequado que seja apropriado, em vez de usar 204 Sem conteúdo.

7. Registro e monitoramento

Tente implementar registro e monitoramento para 204 respostas. É porque ele pode fornecer informações valiosas sobre o comportamento do seu aplicativo da web.

E também ajuda você a identificar padrões, encontrar possíveis problemas e também a fazer melhorias no desempenho e na experiência do usuário.

8. Consulte a Documentação

Além disso, você pode verificar a documentação dos serviços, estruturas ou bibliotecas que usa. Basta observá-los com atenção e ver se há considerações especiais de melhores práticas relacionadas ao 204 mencionadas ou não.

Não se esqueça que a ação apropriada só pode ser tomada se for feita involuntariamente e também depende do contexto específico da sua aplicação.


Impacto do HTTP 204 Nenhum conteúdo no SEO

Você também precisa saber quais implicações o HTTP 204 pode ter no SEO. Veja isso:

1. Problema na Indexação : Já o Http 204 não fornece conteúdo para indexação. Isso pode causar problemas se você estiver tentando indexar um URL.

2. Desperdício de orçamento de rastreamento : você pode se surpreender ao saber que todo mecanismo de pesquisa aloca um orçamento de rastreamento para cada site. Se os bots do mecanismo de pesquisa não conseguirem encontrar nenhum conteúdo para indexar repetidamente, isso lhes dará um sinal negativo e poderá reduzir ainda mais seu orçamento de rastreamento.

3. Má experiência do usuário: como a experiência do usuário também desempenha um fator importante no SEO, encontrar um HTTP 204 pode ter um impacto negativo sobre ele. Os usuários que esperam conteúdo podem sair do site, aumentando a taxa de rejeição e enviando um sinal negativo aos mecanismos de busca.

4. Má configuração incorreta : Também pode ser possível que, involuntariamente, o servidor tenha sido mal configurado, o que resulta em não indexação ou classificação de páginas principais.


Alguns cenários de uso do código de resposta HTTP 204 No Content

Então, você também deve estar se perguntando: se a resposta HTTP 204 for intencional, quais seriam os possíveis cenários de uso para ela? Bem, para sua referência, confira os casos abaixo:

1. Caso de uso: solicitação DELETE

Para uma melhor compreensão aqui você precisa considerar um exemplo,

Solicitar

DELETE https://domain.com/user/666 HTTP/1.1
Host: domain.com
Authorization: Bearer

Resposta

HTTP/1.1 204 No Content
Date: Tue, 16 Jan 2024 12:00:00 GMT
Server: nginx

No exemplo acima você pode ver que um cliente está enviando uma solicitação DELETE e ela foi processada com sucesso, indicando a remoção do recurso do usuário com ID 666 no servidor domain.com e o servidor responde com um código de status 204.

2. Caso de uso: solicitação POST

Solicitar:

POST /job HTTP/1.1
Host: www.domain.re
Content-Type: application/xml
Content-Length: 60
<?xml version="1.0">
<job>
<id>125</id>
<task>G01</task>
</job>

Resposta:

HTTP/1.1 204 No Content

No exemplo acima, você pode ver que um cliente envia uma solicitação de dados XML ao servidor e também define que o trabalho precisa ser concluído. Em resposta a isso, o servidor reconhece a solicitação e conclui o trabalho.

Porém, não há necessidade de devolver nada ao cliente; portanto, o código de status 204 No Content é usado.

3. Caso de uso: solicitação PUT

Suponha que você esteja usando um CMS no qual precisa fazer uma atualização em um artigo do site. Para isso, é necessário enviar uma solicitação PUT para atualizar o conteúdo com ID 123 de um artigo existente. A carga útil da solicitação inclui o título e o conteúdo atualizados no formato JSON.

Solicitar:

PUT /api/articles/123
Content-Type: application/json{
"title": "Updated Title",
"content": "Updated content for the article."
}

Resposta:

HTTP/1.1 204 No Content
Date: Sat, 01 Jan 2024 12:00:00 GMT

Nesse sentido, o servidor processará a solicitação e atualizará o artigo com êxito, mas de acordo com o design do aplicativo, em vez de responder com uma mensagem de sucesso tradicional, o servidor responderá com um código de status 204 No Content.

Da mesma forma, o HTTP 204 também pode ser usado para controlar o comportamento do cache, bem como a inclusão de campos de cabeçalho HTTP.


Diferença entre HTTP 204 e 200

Muitas pessoas podem ficar confusas entre os códigos de resposta HTTP 204 e HTTP 200 e acabar usando códigos inadequados. Portanto, segue abaixo uma tabela comparativa definitiva para esclarecer suas dúvidas a respeito.

Aspecto HTTP 204 Sem conteúdo HTTP 200 OK
Definição O servidor processou a solicitação com êxito, mas não há conteúdo para enviar no corpo da resposta. A solicitação foi bem-sucedida e o servidor retornou os dados solicitados.
Corpo de Resposta Nenhum conteúdo está incluído no corpo da resposta. A resposta normalmente inclui dados, como HTML, JSON ou XML, dependendo da solicitação.
Caso de uso Usado ao confirmar uma solicitação bem-sucedida que não requer a transmissão de dados na resposta. Usado para solicitações bem-sucedidas em que o servidor retorna dados para atender à solicitação do cliente.
Cache A resposta não se destina a ser armazenada em cache. As respostas podem ser armazenadas em cache com base nos cabeçalhos de cache fornecidos pelo servidor.
Ação do cliente Nenhuma ação do cliente é necessária, apenas é para reconhecer o cliente. O cliente pode processar os dados recebidos ou tomar outras ações com base na resposta.
Exemplos Uma solicitação DELETE onde nenhum dado adicional precisa ser enviado.
Uma atualização bem-sucedida que não requer um corpo de resposta.
Carregando uma página da web com sucesso. Recuperando detalhes do usuário de um banco de dados.
Cabeçalhos comuns Tipo de conteúdo: Não aplicável (sem conteúdo). Cache-Control: Sem cache, sem armazenamento (sugerindo não armazenar em cache). Content-Type: especifica o tipo de mídia dos dados no corpo da resposta.
Cache-Control: Isso pode incluir diretivas para armazenamento em cache.
Redirecionamentos Normalmente, nenhum redirecionamento é necessário. O redirecionamento poderá ocorrer se o servidor ou recurso for movido (por exemplo, usando um código de status 3xx).
HTTP 204 versus 200

Da mesma forma, você pode ficar confuso entre os códigos de resposta HTTP 204 e 404. Confira a tabela comparativa abaixo para esclarecimentos a esse respeito.


Diferença entre HTTP 204 e 404

Aspecto HTTP 204 Sem conteúdo HTTP 404 não encontrado
Definição O servidor processou a solicitação com êxito, mas não há conteúdo para enviar no corpo da resposta. O recurso solicitado não foi encontrado no servidor.
Corpo de Resposta Nenhum conteúdo está incluído no corpo da resposta. O corpo da resposta pode conter uma mensagem amigável explicando a ausência do recurso solicitado.
Caso de uso Usado ao confirmar uma solicitação bem-sucedida que não requer a transmissão de dados na resposta. Usado para indicar que o recurso solicitado não está disponível ou não existe no servidor.
Ação do cliente O cliente é informado de que a solicitação foi bem-sucedida, mas nenhuma ação adicional é necessária. O cliente pode tomar as medidas apropriadas, como notificar o usuário, redirecionar ou tentar uma solicitação alternativa.
Exemplos Uma solicitação DELETE onde nenhum dado adicional precisa ser enviado.
Uma atualização bem-sucedida que não requer um corpo de resposta.
Tentativa de acessar um URL inexistente.
Consultando um recurso que foi excluído ou nunca existiu.
Cabeçalhos comuns Tipo de conteúdo: Não aplicável (sem conteúdo).
Cache-Control: Sem cache, sem armazenamento (sugerindo não armazenar em cache).
Content-Type: Depende da configuração do servidor.
Cache-Control: Isso pode indicar não armazenar em cache se o recurso não for encontrado em solicitações subsequentes.
Redirecionamentos Normalmente, nenhum redirecionamento é necessário. O redirecionamento poderá ocorrer se o servidor ou recurso for movido (por exemplo, usando um código de status 3xx).
HTTP 204 versus 404

Leia: Como corrigir o erro 404 não encontrado para site WordPress e Android?


Conclusão

O HTTP 204 sem conteúdo é apenas um código de resposta diferente de outros códigos de erro HTTP, que indica que o servidor processou a solicitação com êxito, mas não há conteúdo para mostrar na resposta.

Pode parecer semelhante a um erro 404 não encontrado, mas é completamente diferente e tem um cenário de uso diferente. Mas seja qual for o caso, se for mal utilizado ou mal configurado, não se esqueça que também pode prejudicar o seu SEO.


perguntas frequentes

O que significa HTTP 204?

O código de resposta HTTP 204 sem conteúdo indica que o servidor realizou seu trabalho atendendo à solicitação, ou seja, enviada pelo cliente, mas o servidor não encontrou nenhum conteúdo para enviar de volta ao cliente.

Qual é a diferença entre HTTP 304 e 204?

enquanto ambos os códigos de status 304 e 204 indicam situações em que nenhum conteúdo novo é enviado no corpo da resposta. O HTTP 304 é mais focado em cache e solicitações condicionais, enquanto o HTTP 204 é uma indicação geral de processamento bem-sucedido sem conteúdo adicional.

O que é uma exclusão de código 204?

Um status 204 No Content DELETE indica que o servidor processou com êxito a solicitação para excluir um recurso, mas não há conteúdo adicional a ser enviado no corpo da resposta. Sinaliza que a exclusão foi bem-sucedida e não há necessidade de retornar nenhum dado na resposta.