A search engine is software that searches the web for information specified in a query. It has three main components: a web crawler that gathers web page information, a database to store this information, and a search interface to retrieve results from the database. A URL identifies web resources and consists of the scheme (e.g. http), host address (e.g. domain name), and file path. Domain names are the identifying part of a web address and should be memorable, unique, and relevant to the site's purpose when selecting one to register.