Найти тему

Универсальный указатель ресурса

Возможно, в это трудно поверить, но каждый из миллиардов файлов в Интернете имеет неповторимый адрес, который называется URL - Uniform Resource Locator - универсальный указатель ресурса.

URL может быть полным (абсолютным) или относительным. Подробнее об этом можно почитать здесь. Если кратко, то универсальный указатель ресурса - это путь к файлу в Интернете. Но, в отличие от пути к файлу на вашем компьютере, где в начале обычно указывается диск, в абсолютном URL вначале указывается протокол (например, http или ftp).

Протокол в данном случае - это правила (или способ) получения доступа к файлу.

В HTML есть несколько тегов, которые имеют атрибуты, принимающие URL в качестве значений. Например, гиперссылки, изображения, формы.

И да, гиперссылка - это не то же самое, что URL. Гиперссылка обычно содержит URL, но, как говорится, это другое…

Сложностей с URL обычно не возникает, но до тех пор, пока вы не включите в адрес недопустимый символ. А такие существуют. Например, в адресе не должно быть пробелов. Сейчас, когда везде используется Юникод, может это и допустимо - давно не проверял. Но в любом случае, не стоит с такими вещами экспериментировать. И если уж вам очень хочется, чтобы в URL был пробел или другой запрещённый символ, то надо использовать не символ, а его ASCII-код (или Юникод). Если используется ASCII-код, то это должна быть только английская часть таблицы ASCII.

http://mysite.ru/my page.htm

Это пример неправильного URL. Вообще не стоит использовать пробелы и другие запрещённые символы при именовании документов, хранящихся на вашем сайте. Вставляйте вместо них дефис или символ подчёркивания. Так будет надёжнее. Но если уж вам сильно приспичило, то можно сделать так:

http://mysite.ru/my%20page.htm

где %20 - это ASCII-код пробела. Подобным образом можно использовать в URL другие запрещённые символы. Можно, но не нужно…

А вообще существует довольно внушительный список символов, которые являются зарезервированными или небезопасными для использования в URL:

Поэтому надо стараться не использовать эти символы в именах файлов. Но что делать, если такой запрещенный символ всё-таки надо вставить в URL? Например, вам зачем-то надо вставить косую черту в то место, где её быть не должно:

http://mysite.ru/?1/2

Здесь ½ - это не имя файла, а часть запроса, на который должен ответить сервер. И если можно легко придумать имя файла, где не содержатся зарезервированные символы, то с запросами всё сложнее. Мало ли какой сценарий какие параметры должен получить. Всякое бывает. А косая черта, как вы знаете, является частью пути к файлу и не может использоваться в имени файла, а, следовательно, и в URL.

В таких случаях, как в уже рассмотренном примере с пробелом, надо вместо символа вставлять его код. То есть запрос желательно делать таким:

http://mysite.ru/?1%2f2

Хотя современные браузеры могут и проглотить запрос с косой чертой, лучше на это не надеяться.

На этом всё. Подписывайтесь на канал, чтобы ничего не пропустить.