View Single Post
  #7  
Old 20.01.2010, 00:13
drbits's Avatar
drbits drbits is offline
JD English Support (inactive)
 
Join Date: Sep 2009
Location: Physically in Los Angeles, CA, USA
Posts: 4,437
Default Glossary (Information)

This post defines some terms often used when discussing links and addresses on the web.

A link is the information required to reach a web page or file. For JDownloader, this is the information passed to a storage host to begin the process of downloading one or more files.

A Storage Host is a company and their equipment that allows users to upload files for storage or for sharing. These are usually just referred to as hosts. At Jdownloader, the German term hoster is sometimes used to refer to a Storage Host.

A direct link is the internet address of a specific file. It can be used to read, write, or execute the file, just as a file path can be used in the file system on your computer. In JDownloader, these are often referred to as "HTTP links", because they don't necessarily refer to a known storage host.

A link is used to contact a storage host and request access to a file. However, this is not usually the path to the file. The host authorizes you and then gives you the direct link. A link is a URI (Universal Resource Indicator).

Internet addresses are URIs. A subset of URIs are URLs, and the term URL is often used when URI (a newer term) is meant. Address and link are informal ways of saying URI.

Sometimes, a link is encrypted. That means that the link indicates a Decrypter Host instead of a storage host. The link was created by the Decrypter Host in order to help the Uploader hide the location of the uploaded file. JDownloader knows how to call many Decrypters and retrieve the decrypted link, which JDownloader then uses to download the file.

Many hosts allow users (uploaders) to store their files in Folders.The folder has a URI, so users can distribute a link that represents all of the files in the folder. For example, if you were to download a patched (fixed) copy of a program you already own, a large program may require you to download over 40 files. JDownloader can download all of the files from the folder link.

A Container is similar to a folder. Each container is a file containing a list of links, usually encrypted. JDownloader knows how to obtain the links from all of the common types of containers (most of the time, it means contacting a Decrypter). The most important type of Container is a DLC, JDownloader.org's own container type. DLC files are sometimes called JDC files. Containers may become too old to use (they might already be too old when you download them).

Click'N'Load is a way for a web site to offer the user a file, but the path to the file is encrypted. These are often used to retrieve DLC containers, providing significant privacy. This is often abbreviated as CNL or CNL2 (currently, only version 2 is supported).

A Captcha is a challenge designed to avoid allowing automated access to resources. The idea is that the computer program is "captured", rather than authorized. JDownloader can answer many Captcha challenges.

reCaptcha is a specific Captcha that is too hard for JDownloader to answer. You can recognize it because it looks like two words written with a crayon. Do not ask the team for an automated solution for reCaptcha.

A relative URI (or URL) is a path relative to the current location. It is a URI with the beginning parts left off. These are also known as relative addresses. This is usually only seen in web pages. When you specify an address, you usually specify an absolute URI, which is the normal format.

Authorization usually means logging on to a host, either by providing a username and password, a certificate identifying your computer, or similar information. Storage hosts often have free accounts in which the authorization consists of correctly responding to a Captcha. Most FTP servers have an account named "anonymous", which accepts your e-mail address (or any e-mail address) as the password.

Formats
Code:
URL= service://[username:password@][hostname.]domain.tld/path/filename[#[anchor]]
URI = URL or URL?tag=value[&tag=value]*
(Items in brackets are optional. The * means 0 or more)

Link Glossary
service is the network service name (http, ftp, file, svn, irc, wiki, mailto, gopher, etc.) that defines a type of the communication, usually built on top of TCP. Mailto is an exception to the normal format, because it is the only service where the // is not included.

hostname is the name (or path to) the host. This is not necessarily a server, but can be a virtual hosts, use as a reference into a part of a host, a server farm, or cache machines (sometimes called an edgeserver). This defaults to www for HTTP if it is not specified.

tld (Top Level Domain) identifies the country and/or category of the host and domain. Common examples are com, net, biz, de, uk, us, co.uk, ac.uk. There are rules about who can use which tld's, but they are rarely enforced. I doubt that storage.to is really in Tobago. Or that health.md is really in Moldavia.

domain is the identification of the organization within the tld.

path is generally a relative path on the server to the directory containing the file. However, these are sometimes mapped.

filename is the name given to the file to retrieve, execute, write into, or perform some other service on. Of course, it isn't always a file, but sometimes it is a parameter.

anchor is a location in a web page or it specifies a script to be run. The number sign (#) is used to indicate that an anchor follows. In scripts, the anchor is often left out.

tag=value:When some hosts started using databases to store information, the query strings were added to contain the search parameters. The parameters are not just used for queries, but the list of parameters is still called a query string.

username:password@ is a way to provide "basic authorization" information in the URI, rather than being prompted for the information. FTP servers accept this format, but it is optional for other services. An example is
Code:
anonymous:anymouse%40aol.com@
In this example, the password contains an at sign (@), but the @ is reserved for ending the password, so the hexadecimal code of the @ character is used.

This URL encoding uses a % character to indicate that the next two characters are the hexadecimal code for the character. In addition, spaces are not allowed in a URI, so spaces may be replaced with a plus sign (+) or with %20.

Examples

Code:
http://board.jdownloader.org/showthread?t=42
This is a web (HTTP) URI, referring to the host named "board" at the organization jdownloader, within the top level domain "org" (supposed to be reserved for non-profit organizations like this one). The path is empty, instead the name of a service offered by the host (showthread) is used as the file name. The query string contains just one parameter (t=42) that identifies the specific information being requested.

Code:
file:///c:/program+files/jdownloader.jar
FILE is the service that refers to the local file system. You will notice that there are three slashes in a row. The first two are part of the regular syntax. The third slash indicates the "root" of the file system. Then the rest is just a path and file name with an extension. Notice the + in "program+files" instead of a space.

For a good understanding about HTTP codes, see thoughtpad.net/alan-dean/http-headers-status.html

Last edited by drbits; 25.06.2010 at 00:44.
Reply With Quote