# what does http stand for?

**URL:** <https://boards.straightdope.com/t/what-does-http-stand-for/98436>\
**Category:** Factual Questions\
**Created:** [March 15, 2002, 7:44am UTC](https://boards.straightdope.com/t/what-does-http-stand-for/98436 "2002-03-15T07:44:21Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![pezwookiee](https://avatars.discourse-cdn.com/v4/letter/p/9d8465/32.png) [@pezwookiee](https://boards.straightdope.com/u/pezwookiee)\
**Post date:** [March 15, 2002, 7:44am UTC](https://boards.straightdope.com/t/what-does-http-stand-for/98436/1 "2002-03-15T07:44:21Z")

</div>

what does http stand for in web addresses? My best guess is Hyper Text um… Toilet Paper? Eh, I’m stumped on this one.

Also, why the colon and the two back-slashes?

---

<div class="post-metadata">

**Author:** ![obfusciatrist](https://avatars.discourse-cdn.com/v4/letter/o/4af34b/32.png) [@obfusciatrist](https://boards.straightdope.com/u/obfusciatrist)\
**Post date:** [March 15, 2002, 7:48am UTC](https://boards.straightdope.com/t/what-does-http-stand-for/98436/2 "2002-03-15T07:48:19Z")

</div>

hyptertext transfer protocol

---

<div class="post-metadata">

**Author:** ![Skip](https://avatars.discourse-cdn.com/v4/letter/s/ebca7d/32.png) [@Skip](https://boards.straightdope.com/u/Skip)\
**Post date:** [March 15, 2002, 7:49am UTC](https://boards.straightdope.com/t/what-does-http-stand-for/98436/3 "2002-03-15T07:49:26Z")

</div>

Hyper Text Transfer Protocol

---

<div class="post-metadata">

**Author:** ![pezwookiee](https://avatars.discourse-cdn.com/v4/letter/p/9d8465/32.png) [@pezwookiee](https://boards.straightdope.com/u/pezwookiee)\
**Post date:** [March 15, 2002, 7:54am UTC](https://boards.straightdope.com/t/what-does-http-stand-for/98436/4 "2002-03-15T07:54:00Z")

</div>

So what does that mean? Is it really necessary?

I know https is for a secure site… but does “http” actually do anything?

---

<div class="post-metadata">

**Author:** ![obfusciatrist](https://avatars.discourse-cdn.com/v4/letter/o/4af34b/32.png) [@obfusciatrist](https://boards.straightdope.com/u/obfusciatrist)\
**Post date:** [March 15, 2002, 7:56am UTC](https://boards.straightdope.com/t/what-does-http-stand-for/98436/5 "2002-03-15T07:56:47Z")

</div>

Yes, it tells the browser how to expect data to be transferred.

HTTP is the most common (and is the default if you don’t specify) but there are other.

HTTPS://  
FTP://  
gopher:// (are there any useful gopher servers still around)?  
telnet://

---

<div class="post-metadata">

**Author:** ![struct](https://avatars.discourse-cdn.com/v4/letter/s/f0a364/32.png) [@struct](https://boards.straightdope.com/u/struct)\
**Post date:** [March 15, 2002, 8:09am UTC](https://boards.straightdope.com/t/what-does-http-stand-for/98436/6 "2002-03-15T08:09:58Z")

</div>

> [@](#):
>
> \*Originally posted by pezwookiee \*  
> \*\*Also, why the colon and the two back-slashes? \*\*

Two slashes, not backslashes – only Windoze uses backslashes for anything except escape characters. My guess is that the syntax calls for two slashes after the protocol type and colon separator so as to avoid confusion with directory separators ("" in DOS/Win and “/” pretty much everywhere else).

---

<div class="post-metadata">

**Author:** ![Crusoe](https://avatars.discourse-cdn.com/v4/letter/c/49beb7/32.png) [@Crusoe](https://boards.straightdope.com/u/Crusoe)\
**Post date:** [March 15, 2002, 8:12am UTC](https://boards.straightdope.com/t/what-does-http-stand-for/98436/7 "2002-03-15T08:12:28Z")

</div>

They’re all protocols. That is, they’re all agreed standards for transferring data. The prefix tells your browser and any associated plug-ins (e.g. newsreader software for ‘news’ prefixes) what sort of connection is being made and what sort of data to expect [very loosely speaking].

---

<div class="post-metadata">

**Author:** ![BlackKnight](https://avatars.discourse-cdn.com/v4/letter/b/eb8c5e/32.png) [@BlackKnight](https://boards.straightdope.com/u/BlackKnight)\
**Post date:** [March 15, 2002, 8:20am UTC](https://boards.straightdope.com/t/what-does-http-stand-for/98436/8 "2002-03-15T08:20:38Z")

</div>

If you’re feeling up to it, you can read the RFC’s for these protocols (RFC stands for “Request For Comments”; basically, they’re specifications for the protocols):

FTP:  
ftp://ftp.isi.edu/in-notes/rfc959.txt

HTTP:  
ftp://ftp.isi.edu/in-notes/rfc2616.txt

TELNET:  
ftp://ftp.isi.edu/in-notes/rfc854.txt

GOPHER:  
ftp://ftp.isi.edu/in-notes/rfc1436.txt

---

<div class="post-metadata">

**Author:** ![Running\_with\_Scissors](https://avatars.discourse-cdn.com/v4/letter/r/a183cd/32.png) [@Running\_with\_Scissors](https://boards.straightdope.com/u/Running_with_Scissors)\
**Post date:** [March 15, 2002, 4:17pm UTC](https://boards.straightdope.com/t/what-does-http-stand-for/98436/9 "2002-03-15T16:17:37Z")

</div>

Along the same lines, there’s also

SMTP - Simple Mail Transfer Protocol - the protocol over which email is sent over the internet

NNTP - Network News Transfer Protocol - ibid, but for Usenet.

---

<div class="post-metadata">

**Author:** ![struct](https://avatars.discourse-cdn.com/v4/letter/s/f0a364/32.png) [@struct](https://boards.straightdope.com/u/struct)\
**Post date:** [March 15, 2002, 6:13pm UTC](https://boards.straightdope.com/t/what-does-http-stand-for/98436/10 "2002-03-15T18:13:53Z")

</div>

> [@](#):
>
> \*Originally posted by Running with Scissors \*  
> \*\*Along the same lines, there’s also
> 
> SMTP - Simple Mail Transfer Protocol - the protocol over which email is sent over the internet
> 
> NNTP - Network News Transfer Protocol - ibid, but for Usenet. \*\*

Don’t forget POP - Post Office Protocol - the protocol with which e-mail is received over the Internet.

---

<div class="post-metadata">

**Author:** ![Newton\_meter](https://avatars.discourse-cdn.com/v4/letter/n/57b2e6/32.png) [@Newton\_meter](https://boards.straightdope.com/u/Newton_meter)\
**Post date:** [March 15, 2002, 7:13pm UTC](https://boards.straightdope.com/t/what-does-http-stand-for/98436/11 "2002-03-15T19:13:57Z")

</div>

> [@](#):
>
> \*Originally posted by pezwookiee \*  
> **what does http stand for in web addresses? My best guess is Hyper Text um… Toilet Paper? Eh, I’m stumped on this one.**

This first question has been adequately addressed. (Did you just search on the web for “http”? Just kidding.)

> [@](#):
>
> \*\*Also, why the colon and the two back-slashes? \*\*

Because they said so. You’re asking about the syntax of Internet URLs (Uniform Resource Locators), which is a way of specifying resources on the Internet as a string of characters. The specification is in [RFC 1738](http://www.ietf.org/rfc/rfc1738.txt).

I’ll summarize. The syntax of a URL is:

```auto

<scheme>:<scheme-specific-part>

```

That is, a URL consists of two parts, the and the , separated by a colon. The schemes are things like “http”, “ftp”, “mailto”, and my favorite “prospero”. The colon is there just to separate the scheme from the rest. It’s just a separator.

The syntax of the scheme specific part depends on the scheme. The scheme specific data for most schemes starts with two slashes, “mailto” and “news” are notable exceptions. For http URLs, the scheme specific part is:

```auto

//<host>:<port>/<path>?<searchpart>

```

The host is an Internet host, either an IP address (four numbers between 0 and 255 inclusive, separated by dots) or the fully qualified domain name of the host. The port number is between 0 and 65535; for http it defaults to port 80, and can be ommitted (along with the colon that precedes the port).

So, the colon is there to separate the scheme from the scheme-specific-part; and the two slashes are there to mark the beginning of the scheme-specific-part. A little redundant? Sure, but the gremlins in the internet and the leprechauns inside your computer like it that way.

(kg_m_m)/(s\*s)
