У цій статті
Що таке валідація URL?
Валідація URL перевіряє, що веб-адреса є синтаксично правильною, використовує дійсну схему і має правильно сформоване ім'я хоста. URL (Uniform Resource Locator) повинен відповідати стандартам RFC 3986, щоб бути придатним для обробки у веб-браузерах і HTTP-клієнтах.
Поширені помилки URL включають відсутній префікс протоколу, пробіли в URL, недійсні символи, неправильно сформовані рядки запитів та недійсні TLD. Ці помилки призводять до збоїв посилань, помилок 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, що включає місцезнаходження (протокол + хост) для доступу до ресурсу. У веб-розробці ці терміни часто використовуються як взаємозамінні.
Чи є дійсними URL інтернаціоналізовані доменні імена (IDN) з не-ASCII символами в хості?
Так, але вони мають бути правильно закодовані. Імена хостів з не-ASCII символами використовують кодування Punycode на рівні DNS (префікс xn--). URL з не-ASCII символами в шляху використовують percent-encoding. Сучасні браузери виконують перетворення автоматично, але валідатори та HTTP-клієнти потребують правильно закодованих форм.