Seu aplicativo WordPress é provavelmente um dos muitos sites hospedados em host22.com
.
Existe um servidor web a ouvir IP 31.170.160.189
e a servir o seu e todas as outras páginas.
Se o servidor for consultado diretamente pelo seu IP, como ele deve saber qual site deve ser veiculado? O IP não pertence exclusivamente ao seu subdomínio. Como resultado, você está sendo redirecionado para uma página 404 NOT FOUND
.
Quando ele é consultado por um nome de host apropriado, como wisdom.host22.com
, ele sabe o que fazer, porque o nome do host faz parte da solicitação HTTP que o navegador faz. Para servir conteúdo, dependendo do cabeçalho da solicitação, é uma técnica comum normalmente chamada de "Host Virtual". Desta forma, o servidor pode fornecer muitos sites diferentes a partir do mesmo endereço IP.
Você pode experimentar a diferença de comportamento na linha de comando
Primeiro, vamos solicitar o recurso /wp
do servidor da Web e enviar seu endereço IP como Host
:
$ echo -e "GET /wp/ HTTP/1.1\nHost: 31.170.160.189\n" | netcat 31.170.160.189 80
HTTP/1.1 302 Found
Date: Sun, 11 Oct 2015 09:05:30 GMT
Server: Apache
Location: http://error404.000webhost.com/?
Content-Length: 216
Connection: close
Content-Type: text/html; charset=iso-8859-1
Como esperado, o servidor responde servindo uma página 404
.
Agora faça o mesmo, mas com Host
definido corretamente para seu subdomínio
$ echo -e "GET /wp/ HTTP/1.1\nHost: wisdom.host22.com\n" | netcat 31.170.160.189 80
HTTP/1.1 200 OK
Date: Sun, 11 Oct 2015 09:08:50 GMT
Server: Apache
X-Powered-By: PHP/5.2.17
X-Pingback: http://wisdom.host22.com/wp/xmlrpc.php
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8
Desta vez, o servidor pode estar em conformidade (código de status 200 OK
) e atende à sua página inicial do WordPress.
O comando netcat
abre uma conexão com o servidor na porta 80. Em seguida, a solicitação (a parte echo
) é enviada ao servidor. HTTP é um protocolo de texto simples. Você pode apenas "conversar" com o servidor.