The Uniform Resource Locator (URL), sometimes called a "web address" is what you type into a web browser's address field when you are requesting a resource from a website. A resource is anything you can retrieve from a web server, including the text of the page, images, sound files, Flash and Java applets and dynamic server-side services. A URL follows the Bakus-Naur Format, but that's a tidbit of trivia you'll have to look up yourself, and you don't need to know it to understand basic URL's as used on the web.
The web pages you browse also have hyperlinks in them and the hyperlinks contain URL's as well. When you click a hyperlinks, the browser sends an HTTP request to the web server to tell it which resource you want to view.
A URL has a specific structure when used for web pages and websites:
protocol://hostname/path/to/folder/resource.ext
protocol | The protocol used to contact the server to request a resource. Valid protocols you may use in a URL include (but are not limited to): |
||||||
:// | A separator between the protocol name used to retreive the resource, and the resource's location. | ||||||
hostname | The hostname is the fully qualified host name of the web server you wish to communicate with. A fully qualified host name would be host.domain.tld. where:
|
||||||
/path/to/folder | Represents the file path to where the resource is located on the web server. This folder path is relative to the web server's root directory, not the local filesystem on the computer. The right leaning slash is used as a separator as it would be on a Unix filesystem (using the change directory 'cd' command). | ||||||
resource.ext | The name of the "resource" on the remote web server you are trying to access or retrieve using a web based client application such as a web browser. | ||||||
? | Indicates information being submitted to the web server within the URL part of the HTTP request. This is called a URL-encoded submission. | ||||||
fieldname=value | Indicates that a field with the name 'name' in a web page form equals a certain value that is part of a submission to a Computer Gateway Interface (CGI) | ||||||
& | Separator character for field-value pairs in URL encoded form submissions. |
Yes, it is perfectly valid to try to connect to telnet://route-server.ip.att.net, which will open a telnet window to a server, hopefully one running a telnet service daemon. Likewise it is also permissible to use ftp://ftp.isi.edu/innotes as that is also a permitted URL. However, your web browser may or may not understand such additional functions.
If you fail to supply the name of a resource then it is up to the server to decide what action to take. Most servers will deliver a default document or allow you to browse the folder if there is no default document.
OFFICIAL URL SPECIFICATION
The official document that outlines the structure of a URL is stored at the World Wide Web Consortium (W3C), the organization that heads up the formation and disemination of standards for the World Wide Web:
The second document that also specifies the format of a URL is stored at the Internet Engineering Task Force's website as a Request for Comments document number 1738:
Definition of a URI (Uniform Resource Identifier)