Para entender melhor como funciona um URI (URL), você deve consultar o RFC 3986
The generic URI syntax consists of a hierarchical sequence of
components referred to as the scheme, authority, path, query, and
fragment.
The following are two example URIs and their component parts:
foo://example.com:8042/over/there?name=ferret#nose
\_/ \______________/\_________/ \_________/ \__/
| | | | |
scheme authority path query fragment
| _____________________|__
/ \ / \
urn:example:animal:ferret:nose
Também é útil não pensar no "servidor" como uma caixa, mas como "serviço" em execução em uma porta específica. Quando o cliente faz o pedido, ele não sabe quem o receberá. Enquanto o padrão é 80, não há razão que não possa ser um servidor SSH. Imagine um cenário em que alguém está atrás de um firewall e quer que o SSH vá para sua caixa inicial. Se ele executar o servidor SSH na porta 80, poderá obter regras de firewall básicas que permitem abrir uma conexão com a porta 80. são padrões, mas não são requisitos.
Lembre-se também de que o uso de um URL é para o usuário. Quando você especifica http://
, ele diz ao usuário para criar uma solicitação HTTP para o endereço. O seu pedido do navegador para link é então traduzido para o protocolo HTTP. Este artigo fornece uma boa descrição:
For example, the browser translated the URL
http://www.test101.com/doc/index.html into the following request
message:
GET /docs/index.html HTTP/1.1
Host: www.test101.com
Accept: image/gif, image/jpeg, */*
Accept-Language: en-us
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
(blank line)