In computing, a uniform resource locator (URL) is a specific character string that constitutes a reference to an Internet resource.
A URL is technically a type of uniform resource identifier (URI) but in many technical documents and verbal discussions URL is often used as a synonym for URI.
Every URL consists of some of the following: the scheme name (commonly called protocol), followed by a colon, two slashes,[note 1] then, depending on scheme, a server name (exp. ftp., www., smtp., etc.) followed by a dot (.) then a domain name[note 2] (alternatively, IP address), a port number, the path of the resource to be fetched or the program to be run, then, for programs such as Common Gateway Interface (CGI) scripts, a query string, and an optional fragment identifier.
The syntax is:
The scheme name defines the namespace, purpose, and the syntax of the remaining part of the URL. Software will try to process a URL according to its scheme and context. For example, a web browser will usually dereference the URL https://example.org:80 by performing an HTTP request to the host at example.org, using port number 80. The URL mailto:email@example.com may start an e-mail composer with the address firstname.lastname@example.org in the To field.
Other examples of scheme names include https:, gopher:, wais:, ftp:. URLs with https as a scheme (such as https://example.com/) require that requests and responses will be made over a secure connection to the website. Some schemes that require authentication allow a username, and perhaps a password too, to be embedded in the URL, for example ftp://email@example.com. Passwords embedded in this way are not conducive to secure working, but the full possible syntax is
- The domain name or IP address gives the destination location for the URL. The domain google.com, or its IP address 22.214.171.124, is the address of Google's website.
- The domain name portion of a URL is not case sensitive since DNS ignores case: https://en.example.org/ and HTTP://EN.EXAMPLE.ORG/ both open the same page.
- The port number is optional; if omitted, the default for the scheme is used. For example, https://vnc.example.com:5800 connects to port 5800 of vnc.example.com, which may be appropriate for a VNC remote control session. If the port number is omitted for an https: URL, the browser will connect on port 80, the default HTTP port. The default port for an https: request is 443.
- The path is used to specify and perhaps find the resource requested. It is case-sensitive, though it may be treated as case-insensitive by some servers, especially those based on Microsoft Windows. If the server is case sensitive and https://en.example.org/wiki/URL is correct, https://en.example.org/WIKI/URL or https://en.example.org/wiki/url will display an HTTP 404 error page, unless these URLs point to valid resources themselves.
- The query string contains data to be passed to software running on the server. It may contain name/value pairs separated by ampersands, for example ?first_name=John&last_name=Doe.
- The fragment identifier, if present, specifies a part or a position within the overall resource or document. When used with HTTP, it usually specifies a section or location within the page, and the browser may scroll to display that part of the page.
Website addresses, or URLs, must meet the following standards:
- They are as logical and clear as possible and make sense to people not familiar. E.g., registrar, not registr.
- They are as short as possible, not exceeding 16 numbers and/or letters. E.g., dining, not diningservices.
- They do not repeat unless it is necessary for marketing goals. E.g., wesley, not smuwesley.
- They only contain letters, numbers, and the underscore and dash characters.