HTTP URL Validation Plugin Improved by Erik Gregg, Walter McGinnis, Kieran Pilkington

This work is based on Erik's work, but mainly refined for the Kete application (

Inspired by HTTP URL Validation Plugin by C. Carneiro Jr.

HTTP URL Validation Improved is a Rails gem that allows you to validate a URL entered in a form. It validates if the URL exists by hitting it with a HEAD request.

The improved version includes retries for common patterns when the head request is refused before giving a failure notice.

It also looks up a SITE_URL constant to the user agent in the headers.

There's also the option to also check that the URL returns content of a specified type. Here’s how you can use it your model:

Check for content type:

validates_http_url :url, :content_type => "text/html"

Do not check for content type, just make sure the site is accessible:

validates_http_url :website

Make sure there is a DNS entry for a domain

validates_http_domain :domain

# Domain must be in '' for or '' form. No http://, no path.

This example will make sure the value entered for the URL field points to a publicly accessible HTML page, and the photo field points to an image:

validates_http_url :image_url, :content_type => "image"

# :content_type checks for a matching substring, so any image will validate

Bug reports and feedback are always welcome.

Please report them via