Ссылка не работает, если значение атрибута href закодировано по URL-адресу

Почему ссылка не работает, если значение атрибута href закодировано по URL-адресу?

Разве мы не должны его кодировать? Такое же поведение наблюдается в Chrome и FF

Работает

<!DOCTYPE html>
<html>
<body>

<p>Sweet fruit: <a href="http://google.com/search?q=banana">Banana</a></p>

</body>
</html>

Не работает

<!DOCTYPE html>
<html>
<body>

<p>Sweet fruit<a href="http%3A%2F%2Fgoogle.com%2Fsearch%3Fq%3Dbanana">Banana</a></p>

</body>
</html>

person ragesh    schedule 28.05.2016    source источник


Ответы (2)


Это защищенная ссылка. так работает кодирование http://www.w3schools.com/tags/ref_urlencode.asp

это была ссылка, показанная u, первая декодирована, а вторая закодирована.

http://google.com/search?q=banana http% 3A% 2F% 2Fgoogle. com% 2Fsearch% 3Fq% 3Dbanana

Давайте взглянем

В этом случае "/" становится% 2F, а "?" % 3F и "="% 3D

это защита, поэтому ссылку использовать нельзя. DNS не может это прочитать. и, как вы видите, первая ссылка активна, а вторая - нет.

person Job Heersema    schedule 28.05.2016

DNS не может найти эту ссылку ...

person Gertjan Brouwer    schedule 28.05.2016