Protocolo
+ Domínio
(+ Porta
) + Caminho até arquivo/recurso
Ex.: [https://www.example.com:443/path/to/resource.html](urls.md\)param1=teste¶m2=123
- e tags que identificam certo ponto de um documento HTML - vêm ao final da URL, após #
. Ex.: [https://www.example.com:3000/file_path/resource?user=admin&passwd=1234#anchor](urls.md\)</a>www.google.com
ou por 216.58.205.46
(IPv4 do Google). No primeiro caso, servidores DNS convertem www.google.com
em 216.58.205.46
, pois só assim ele será encontrado na rede./
) e pode passar por diversas “pastas” - todas separadas por /
ao descrever o caminho. Por fim, tem-se o nome do recurso procurado. Por exemplo: em www.teste.com/2019/usuarios/usuario_1.html
, buscamos a página usuario_1.html
, que está dentro de usuarios
que está dentro de 2019
. A palavra “pasta” está entre aspas porque, atualmente, esse caminho não necessariamente representa uma sequência de pastas que existe no servidor. Frequentemente, isso é só uma abstração criada para ajudar no server-side.../
) deixa a página possivelmente vulnerável a Directory Transversal.nome_parametro=valor
. Caso haja mais de um parâmetro, usa-se como separador o &
. Na URL, os parâmetros vêm após um ponto de interrogação (?
).<a name="anchor_reference_name">
) ou para um momento específico de um vídeo/aúdio. Esses identificadores não são enviados para o servidor em requisições./
), por exemplo, separa elementos na URL (como o caminho até o recurso buscado). De forma similar, existem caractéres considerados inseguros, os quais, apesar de não terem significado especial nas URLs, podem significar algo no contexto em que a URL está escrita (ex.: dentro de um elemento HTML, em trechos de código Javascript/PHP etc.) - é o caso das aspas duplas ("
). O tratamento incorreto/descuidado desses elementos pode levar a brechas de segurança.%2F
e as aspas duplas tornam-se %22
. Em geral, os caractéres encodados seguem a forma: %
+ número em hexadecimal
(dois digitos para UTF-8).