В этой статье
Что такое валидация URL?
Валидация URL проверяет, что веб-адрес синтаксически корректен, использует допустимую схему и имеет правильно сформированное имя хоста. URL (Uniform Resource Locator) должен соответствовать стандартам RFC 3986, чтобы быть корректно обработанным в веб-браузерах и HTTP-клиентах.
К распространённым ошибкам URL относятся: отсутствие префикса протокола, пробелы в URL, недопустимые символы, некорректные строки запроса и неверные домены верхнего уровня. Эти ошибки приводят к неработающим ссылкам, ошибкам API-запросов и уязвимостям безопасности.
Как работает валидация URL
Валидатор URL от CheckTown разбирает URL в соответствии с RFC 3986 и проверяет каждый компонент по отдельности.
- Проверка схемы — подтверждает наличие и распознаваемость протокола (http, https, ftp и др.)
- Валидация имени хоста — проверяет корректность формата домена или IP-адреса
- Разбор пути и строки запроса — верифицирует, что путь, строка запроса и фрагмент используют допустимые символы и кодирование
Попробуйте бесплатно — без регистрации
Проверить URL →Когда использовать валидацию URL
Валидация URL полезна везде, где URL собираются как пользовательский ввод или обрабатываются программно.
- Поля форм — проверяйте поля сайтов в формах регистрации или страницах профиля перед сохранением
- Проверка ссылок — валидируйте URL в системах управления контентом перед публикацией для предотвращения неработающих ссылок
- Валидация параметров API — проверяйте URL-параметры перед передачей их в HTTP-клиенты или сторонние API
Часто задаваемые вопросы
Проверяет ли валидация URL, загружается ли страница на самом деле?
Валидация формата проверяет только синтаксис. Она не выполняет HTTP-запрос для проверки существования и доступности страницы. Для проверки доступности в реальном времени требуется HTTP HEAD-запрос, но это медленнее и имеет ограничения по частоте запросов.
В чём разница между URL и URI?
URI (Uniform Resource Identifier) — более широкое понятие, идентифицирующее любой ресурс. URL — это конкретный тип URI, включающий местоположение (протокол + хост) для доступа к ресурсу. В веб-разработке эти термины часто используются как синонимы.
Являются ли интернационализированные доменные имена (IDN) с символами не-ASCII допустимыми URL?
Да, но они должны быть правильно закодированы. Хосты с символами не-ASCII используют кодировку Punycode на уровне DNS (префикс xn--). URL с символами не-ASCII в пути используют процентное кодирование. Современные браузеры выполняют преобразование автоматически, однако валидаторы и HTTP-клиенты требуют правильно закодированных форм.