O que significa “Arquivo não encontrado” em uma página da web?

2

Ao acessar determinadas URLs HTTP, como http://www.ssa.gov/framework/images/icons/png/ no Firefox (executando no Linux ), Eu surpreendentemente recebo um erro de navegador "Problem loading page", contendo a mensagem "Arquivo não encontrado" que é usada para arquivos locais :

Otextonãoparecefazersentido,jáquenãoháarquivoenvolvido.

Primeiro,acheiquepoderiaserapenasumbugdoFirefox,masamesmacoisaacontecenoChromium:

Quando digo ao Wget para baixá-lo, ele reporta 500 Server Error . Mas não pode ser que os navegadores exibam "Arquivo não encontrado" ao receber um erro 500, porque isso não acontece quando eu acesso link .

O que causa essa mensagem de erro e o que isso significa?

    
por Mechanical snail 20.02.2014 / 23:26

4 respostas

12

Acho que encontrei o motivo para isso.

Quando um servidor da Web encontra um erro, ele normalmente exibe um documento (geralmente um documento HTML descrevendo o erro) no navegador, indicando a condição de erro usando o código de status HTTP.

De acordo com o relatório de erros , o Firefox originalmente sempre exibia o documento retornado; normalmente é isso que você quer. No entanto, um usuário encontrou um problema com um servidor AOL configurado incorretamente: ao solicitar um arquivo EXE inexistente, o servidor serviria a página 404, mas com um Content-Type incorreto. Isso fez com que o Firefox oferecesse o download do documento HTML com uma extensão .exe , o que era confuso, pois não havia nenhuma indicação de que algum erro tivesse ocorrido. Eles mudaram o comportamento com um hack simples (não justificando o esforço de escrever uma nova página de mensagem de erro, já que é um caso incomum, em vez de reutilizar a página "não encontrada", que faz sentido no exemplo específico dado pelo repórter do bug).

De o relatório de erros que @ m4573r encontrado , soa como o comportamento atual quando o Firefox recebe uma resposta com um HTTP código sinalizando um erro, e a resposta Content-Type é algo diferente de HTML, então o Firefox exibe uma página de erro "Arquivo não encontrado".

A grande maioria dos servidores da web está configurada para exibir um documento HTML sobre erro, e é por isso que você normalmente não vê isso. Mas neste caso de canto, a mensagem de erro não faz sentido.

wget -d http://www.ssa.gov/framework/images/icons/png/ confirma o que está acontecendo aqui:

---response begin---
HTTP/1.1 500 Server Error
Server: Generic Web Server 1.0
Date: Thu, 20 Feb 2014 23:29:57 GMT
Cache-control: public
Content-type: magnus-internal/directory
Transfer-encoding: chunked

---response end---

Ele está veiculando a página de erro com o falso Content-type de magnus-internal/directory , acionando o comportamento no Firefox.

Evidentemente, o Google achou que esse comportamento fazia sentido e o implementou de maneira semelhante no Chromium.

    
por 21.02.2014 / 00:13
1

Tem sido reportado como um bug em ... 2008: / Parece que está em baixa lista de prioridades.

    
por 20.02.2014 / 23:48
0

Desde que você disse em sua pergunta que não há arquivo envolvido, então acho que contar um pouco sobre como a web funciona pode esclarecer sua dúvida.

Quando você envia uma solicitação para um servidor, você está realmente solicitando um arquivo armazenado no servidor ou um arquivo gerado pelo servidor se a solicitação estiver solicitando conteúdo dinâmico.

O URL é dividido em três partes:

1) Http: // < < o protocolo usado

2) www.whatever.com < < o dns usado para identificar o servidor (comp de onde você está pedindo conteúdo)

3) /music/song.mp3 < < a localização do arquivo no servidor

Portanto, esta mensagem de erro apenas declara que o arquivo que você solicitou não foi encontrado. Tomei exemplo de um arquivo de música, mas até mesmo uma página da Web com a extensão .html pode ser solicitada e o mesmo erro pode ser gerado.

Esse erro apenas diz que o recurso, ou seja, página da Web, arquivo de música, vídeo ou qualquer tipo de arquivo solicitado não foi encontrado no servidor.

    
por 21.02.2014 / 10:57
-1

Gostaria apenas de salientar que o que você procurava era apenas PARTE do caminho do URL. Está faltando um nome de arquivo e um tipo de arquivo. Essencialmente, estava lhe dizendo que não poderia encontrar o não-arquivo inexistente que estava procurando. A razão pela qual esse 'bug' não foi corrigido é porque isso não é um bug.

Afinal, se você for até a casa de um completo estranho e perguntar onde está o seu
por 21.02.2014 / 04:16