A query string[nota 1] é um conjunto de um ou mais pares "pergunta-resposta" ou "parâmetro-argumento" (como por exemplo nome=fulano, em que nome pode ser, por exemplo, uma variável, e fulano é o valor (argumento) atribuído a nome).[1] É uma string enviada ao servidor para que seja possível filtrar ou mesmo criar o recurso. (opcional)
O fragmento é uma parte ou posição específica dentro do recurso. (opcional)
O esquema informa ao computador como conectar-se (que linguagem o computador deverá usar para as comunicações), o domínio especifica onde conectar-se (a localização do outro computador) e os demais elementos do URL especificam o que está sendo solicitado.
Exemplo: http://www.w3.org/Addressing/URL/uri-spec.html
No exemplo acima, o protocolo é o HTTP, o servidor é designado por www.w3.org e o recurso (neste caso, o arquivo uri-spec.html) encontra-se em Addressing/URL/. A porta, omitida, recai sobre o padrão do protocolo (no caso, a porta 80) e não há query string ou identificador de fragmento.
Diferenças entre URI, URL, e URN
Um URI pode ainda ser classificado como um localizador, um nome ou ambos. O termo "Uniform Resource Locator" (URL) refere-se ao subconjunto de URIs que, além de identificar um recurso, fornece um meio de localizando o recurso, descrevendo seu mecanismo de acesso primário (por exemplo, sua "localização" de rede). [2]
URLs amigáveis para SEO são uma prática importante no campo do otimização de mecanismos de busca (SEO). Essas URLs, também conhecidas como URLs legíveis por humanos, são projetadas para melhorar a experiência do usuário e o desempenho nos mecanismos de busca.[3]