What does all that "http://" mean?

Maybe it’s common knowledge, but I have no idea what all that “http://” is that you have to type to reach a webpage. Does it stand for something? What are its origins?

HTTP is an acronym for HyperText Transfer Protocol. Not sure about the rest.

I forgot to add these questions: Does it have any purpose? If not, why don’t we just get rid of it.
Thanks!

it is the protocol or language used to transfer the information. There are other protocols like ftp etc.

To expand on what the others have said, http indicates to the computer what type of data to expect, and what type of requests to issue to the computer on the other end.

If you are typing the address into the address bar on your browser you can omit the http:// part (on IE 6 anyway), and it will assume that you mean a hyptertext transfer. In general though, that part is needed to tell what type of data transfer is taking place, which could be http (hyptertext transfer protocol, which is basically a web page) ftp (file transfer protocol, how most people moved things around on the internet before web pages became popular) https (secure http), etc.

Even on older versions of IE and Netscape, you can omit the “http://”.

If not specified, most (all?) browsers assume regular HTTP.

Here’s a more detailed explanation:

http://www.clr.utoronto.ca/COURSES/S95/LAN115S95/helpurl.html

Most people think of the internet being the world wide web, i.e. web sites, but in fact there are lots of different parts to it, including email, newsgroups, ftp, etc.

The “http://” tells the browser what part of the internet it should be looking to find the internet address (or URL, meaning Universal Resource Locator) that you list afterward.

Is that file trading protocol?

In this case, it stands for File Transfer Protocol, SmileyDeath.

Technically, the full url of, say, the Straight Dope Home Page should be something like:

http://www.straightdope.com:80/

…where the number is the port you use to connect to the server. Since virtually all web servers use port 80, though, you usually don’t have to worry about it.

Make that:

http://www.straightdope.com:80/index.html

The whole address is called a “URL”, or “Uniform Resource Locator”.

When you type that into your browser and hit enter, the request goes to a ‘name server’ which will look up the part after the HTTP: section, and resolve the name into a numeric computer address, called an “IP” address. Every computer on the internet has one. The request is then routed to that computer.

If you see a URL with a question mark in it, what you are seeing are ‘parameters’ or data that is passed to the receiving computer. For instance, the URL for this page is: “http://boards.straightdope.com/sdmb/showthread.php?s=&threadid=151995”.

The part after the question mark is not used in resolving the address of the computer. It is ignored and passed along to the receiving computer, which is free to do anything with it it wants. THe software for the SDMB is designed so that all page requests can have certain defined parameters like threadid. when the SDMB server receives a request for ‘showthread.php’ (a page of code that will be executed), the showthread.php program reads the parameters, and knows that the other computer has requested to be given the page for threadid 151995.

This technique of passing data is known as using the ‘querystring’. Not all web sites use this. There are other ways to pass data back and forth between the server and client, but they are invisible and outside the scope of your question.

I should add that when you purchase a domain name, what you are really doing is buying an entry into a name server’s database. These databases are kept by some ‘root nameservers’ run by companies like Internic. So if I had a computer with an IP address of 3.26.156.28, and I wanted to have a domain name of “happyfunpundit.com”, I’d pay a fee to Internic, and they will add the entry for happyfunpundit.com, and assign it to 3.26.156.28. Now people can refer to my computer by name.

The technical explanation is longer (and hence you should pay me lots of money to tell you), but the basic explanation is that “http” is a ‘protocol’ (that is, type of connection) and “//:” is a UNIX thing, describing what your computer is looking for (in this case, a directory such as ‘www’).

Most browsers assume its users are idiots, and therefore the protocol is unnecessary when typing it in.

Hope this helps.

www is not the directory, it’s the name of the machine. Obviously this is usually an alias. The format of a URL is protocol://machinename/directory/filename.extension

Directories are generally off the www-root which is specified for the web server. User directories are also allowed which usually default to ~username/public_html. If a filename is not specified, it uses the specified default which is usually index.html.

I realise I’ve used “usually” a lot here, but that’s because all these settings can be changed.

It depends. Some websites need the last part, esp. for personal homepages. Others don’t - the main page might not even be called “index.html.”

Servers need to be set up to recognise what the default page name is. The selection is usually:

index
default
home

with extensions of:

.htm
.html
.asp
.php
.php3

and a bunch of others.

If you are creating a webpage and for some peculiar reason you have a special name for your default home page, you can ask your sysadmin or ISP tech-head to define it for you.