21

The following is a question regarding correct terminology.

Could the World Wide Web exist without HTTP?

Is there any other application layer protocol that can serve WWW pages?

Is HTTP an essential part of the web by definition?

P.S. the answer has been accepted, however any more precise opinion based on documentation are welcomed.

note added by barlop- I notice some didn't understand his question, and also that it had some close votes, so I have improved the language of the question. I don't think asking about correct terminology is wishy washy / subjective, and it's quite important to have technical language correct.

barlop
  • 23,380
  • 43
  • 145
  • 225
SerG
  • 441
  • 5
  • 15
  • 2
    Gopher anyone? http://en.wikipedia.org/wiki/Gopher_(protocol) (Sorry I can't elaborate any further than the Wiki link as even when I started using internet, I use http/https) – Darius Feb 09 '14 at 22:03
  • @Darius Gopher is not WWW. – SerG Feb 09 '14 at 22:05
  • @Darius [I explained in a comment](http://superuser.com/questions/714551/www-without-http/714558?noredirect=1#comment913804_714554) why I think Gopher doesn't qualify: it has no support for hyperlinks. – Mark Dominus Feb 09 '14 at 22:10
  • Apologies for missing that, and thank you. I learn something new :) – Darius Feb 09 '14 at 22:11
  • No apology is necessary; I just thought you would be interested. – Mark Dominus Feb 09 '14 at 23:04
  • this looks related though no documentation is given there http://superuser.com/questions/353245/what-does-wwws-mean – barlop Feb 09 '14 at 23:52
  • You wanted to say WWW page, not HTTP page? – Bergi Feb 09 '14 at 23:55
  • @Bergi well spotted.. (indeed HTTP page wouldn't be right) going through better terms.. .. web page, WWW page, hypertext page.. I think given his question, WWW page is the most appropriate.. maybe another question could be if all those 3 terms mean the same ;-) but indeed HTTP page would be a somewhat nonsensical term. – barlop Feb 10 '14 at 00:01

7 Answers7

38

In the early days of the web many web sites were served via FTP.

Individual internet connections were very rare, so if you had internet access it was likely through your employer or school. You might want to set up a web site, but you couldn't get the system administrator to run an HTTP server for you. But there was probably an anonymous FTP server, already set up to allow anonymous retrieval of files via FTP. You could put your HTML files in the public FTP area, and advertise the URL for your files—it looked like ftp://host/path/—and you could have a web site that way without asking the sysadmin for anything new. Publishing web sites this way was quite common around 1992–1994.

Here's an example web site I found for you. This dates to fall of 1995, and was and still is served by FTP. (It's still there because nobody has ever bothered to remove it.) In those days the University of Pennsylvania computer science department had no HTTP server, but the department did have a web site, with links to pages for courses, contact information, and personal web sites of the department member who cared to build them, all served by FTP from the anonymous FTP directory.

Without this ability to bootstrap from FTP, the web might never have been able to get started.

[ Added later: Here's a better example ]

Mark Dominus
  • 426
  • 3
  • 7
  • 1
    But could such "FTP sites" be called part of "World Wide Web"? Or it's just an analog. – SerG Feb 09 '14 at 21:19
  • 11
    @SerG They certainly can; even today you can navigate to a website whose resources are served to the browser by FTP and you might not even be aware of it. HTML files and images can be served by anonymous FTP just as they can be served by HTTP or any other protocol. In the early 1990s people can and did build web sites with many interlinked HTML pages, served by FTP, just at they do now. See the example I linked to above. – Mark Dominus Feb 09 '14 at 21:27
  • @Sickest You wrote that "HTTP servers mainly use FTP protocol to upload data" NO WAY Where on earth did you read that? If you check http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol there is no mention of FTP I cannot believe what you said to be true! Quote where you heard/read it. – barlop Feb 09 '14 at 21:27
  • @barlop He said "to upload data to that server" not to client. – SerG Feb 09 '14 at 21:32
  • @MJD You have completely contradicted what you wrote. Your first sentence contradicts your last sentence. Your first sentence says "In the early days of the web many web sites were served via FTP." that implies the web can exist without HTTP. Then your last sentence says "Without this ability to bootstrap from FTP, the web might never have been able to get started." that implies that the web had not yet started and people were using FTP.. So when did it start? presumably with HTTP no doubt. So your whole historical example is irrelevant. And I doubt FTP sites are web sites. – barlop Feb 09 '14 at 21:32
  • @barlop Did you look at the example I linked? In what way does it fail to be a web site? [Here's another early web site served from the same FTP server](ftp://ftp.cis.upenn.edu/pub/treebank/public_html/home.html). – Mark Dominus Feb 09 '14 at 21:35
  • @SerG He did not say "to upload data to that server" He said "Does exist any other application level protocol that can serve it?" That means any application layer protocol that can be as a server as an alternative to HTTP, and still count being on or part of the World Wide Web. – barlop Feb 09 '14 at 21:37
  • 2
    @MJD Interesting.. I hadn't seen a website style page served via FTP. I know it's possible but I hadn't seen it done. Your answwr could do with an interesting clarification -Do you know if that existed before HTTP or after? If Before, then perhaps you could say the web existed before HTTP. If after, then perhaps you could say the web had the potential to exist prior to http, and after http some websites were indeed served without http and could be called part of the world wide web.I'll check more links defining www but http://www.webopedia.com/TERM/W/World_Wide_Web.html doesn't mandate http – barlop Feb 09 '14 at 21:43
  • @barlop that my comment was the answer to your with "NO WAY". Perhaps some misleading in links of comments can occure. – SerG Feb 09 '14 at 21:44
  • 1
    from wikipedia "the web is one of the services that runs on the Internet. It is a collection of text documents and other resources, linked by hyperlinks and URLs, usually accessed by web browsers from web servers" That leaves the door open to accessing by other means, like by a web browser from an ftp server! So I suppose by wikipedia and webopedia, yes. Whether that fits Tim Bernes Lee's "definition" is another matter, I haven't seen it. It looks like it started with HTTP, HTTP being born with Hypertext documents. – barlop Feb 09 '14 at 21:50
  • Berners-Lee invented HTTP around the same time he invented HTML and URLs. But he knew that his invention couldn't succeed if it depended on convincing thousands of system administrators to install new system software. Fortunately, the use of FTP to publish files was already widespread. So the earliest specification for URLs included the `ftp://...` scheme, and the earliest web browsers, also written by him, understood how to retrieve web pages via FTP. – Mark Dominus Feb 09 '14 at 21:55
  • 1
    If that is so, then why do you state in your last sentence "Without this ability to bootstrap from FTP, the web might never have been able to get started." Do you mean "Without this ability to bootstrap from FTP, the web might never have become widespread and might have died out" It would still have "got started"(it'd have been operational and used by some so technically that is getting started) but you could say it might not have gotten very far. – barlop Feb 09 '14 at 22:05
  • I hope that sentence is clearer in light of my previous comment. – Mark Dominus Feb 09 '14 at 22:06
  • Keep comments of course but better to edit your answer and make it clearer so that it can be read even by somebody that hasn't seen comments. – barlop Feb 09 '14 at 22:08
  • 2
    The "get started" seemed fairly clear to me; it's not a very formal phrase, and while it could mean "be created", it reads naturally to me as "become viable", as would "get off the ground". Also, being a network, the very existence of the web requires multiple participants, rather than just the technology that connects those participants. – IMSoP Feb 09 '14 at 22:58
  • @MJD Out of interest, was it ever possible to use a gopher browser to go to an HTML page? I see "Gopher browsers" could do ftp:// and get an HTML page, but could gopher:// do it? – barlop Feb 25 '14 at 19:52
9

The web actually can exist without HTTP - it simply depends on what you are trying to do. If you write your own client and server, you can surely develop and implement your own protocol, and it will (hopefully) work.

However, Google is trying to make a worthy substitute :-)

Reflection
  • 209
  • 1
  • 5
  • SPDY is not a replacement for HTTP. Indeed, HTTP v2.0 will encompass SPDY and replace the current HTTP v1.1 – Julian Knight Feb 09 '14 at 21:12
  • 2
    From Wikipedia: HTTP 2.0 is based on, and came "as an answer to the rise of SPDY, an HTTP compatible protocol launched by Google". – Reflection Feb 09 '14 at 21:19
  • 1
    Semantics and politics perhaps. From the WikiPedia page on SPDY: "The first draft of HTTP 2.0 is using SPDY as the working base for its specification draft and editing". Perhaps what I should have said was the SPDY was designed to improve rather than replace HTTP. – Julian Knight Feb 09 '14 at 21:22
7

To answer your question immediately: No, the World Wide Web as we know it now does not depend on HTTP. It has never depended on HTTP. All it requires is a protocol over a reliable transport which a client can use to request a resource from a server. Anything with these minimal requirements will do. It uses HTTP now because that was the best protocol available when the Web was first becoming popular. When something better than HTTP comes along, as appears to be the case with SPDY, then HTTP too will fade into history as protocols before it have.

It does, however, depend on HTML and to a lesser extent the various technologies that have grown around it, such as CSS, JavaScript, etc. Even today's HTML 5 would be recognizable as HTML 20 years ago and mostly parseable by browsers of that time, and a well crafted web site of today will actually work in the oldest known browsers (as a well crafted web site of 20 years ago will actually work in today's browsers).


The remainder of this answer is drawn from my experience and can be skipped, but...

So far the existing answers have mostly cited references from today, which is unfortunate, since today's Internet contains very little information about the times prior to the "dot-com boom" of the late 1990s. Some of these references don't match my experience: I was on the Internet years before it opened to the public, and I had a good view to watch the rise of the Web.

HTTP was designed to be a protocol which was efficient at transferring web pages and other files to and from servers. It addressed various shortcomings in FTP that make it a less than entirely practical choice for serving web pages. In particular, at the time FTP was mostly used in "active" mode, as firewalls and NAT were mostly nonexistent. FTP had a "passive" mode from 1985, but it wasn't really necessary until large parts of the Internet started moving behind their iron curtains. In either mode, having to open multiple connections to transfer files was inefficient at best; HTTP could dramatically outperform FTP (or even Gopher) which was important when virtually everyone's home connection was dialup, and very slow dialup at that.

And while a few web pages were served via Gopher, this was mostly because common web clients of the era supported several protocols: HTTP, FTP and Gopher. They had to, in order to gain mindshare. At this time, "searching the Internet" was done with a program called Archie, and that only told you about files on FTP sites. You then had to use Veronica or Jughead to search Gopherspace. There was also WAIS, perhaps the first significant full text search engine, but what Wikipedia won't tell you about that is that it was vastly overengineered crap, and you couldn't find anything unless you knew what site to look for it at to begin with.

I still recall, in 1995 or so, having conversations over several weeks with an AIDS researcher about the Web, and trying to persuade him that he should try out this Mosaic thing. What finally convinced him is that Johns Hopkins had just put up a medical database that he needed on the Web, via HTTP, and a web browser was the only way to get to it. I had many conversations with various people along similar lines.

Back then, in order to gain a foothold, web user agents would commonly support FTP and Gopher, so that people could use a single program to view or download any resource via any of those protocols. It worked and the Web took off, but even downloading a text-only web page was painfully slow at 2400 bps, and many people (myself included) still had nothing better when the Net was finally opened to the public. It was often faster to telnet into your Unix shell account and run lynx there or telnet to the public lynx that the University of Kansas ran. The university had plenty of bandwidth, and that way you only had to see a screen at a time (it took about four seconds to refresh an 80x24 terminal at 2400 bps).

So, from a single program, whether it was lynx, mosaic or the reference client that CERN wrote but nobody really ever used, you could access virtually anything on the Internet at the time, as these programs generally hid or de-emphasized the specific transport being used. (That is, nobody looked at their address bar even then. And Lynx wouldn't show the current URL unless you specifically asked for it.)

Since HTTP was faster and more flexible than other protocols, and HTML was clearly a more powerful language for representing a document than was previously available, its taking off was pretty much inevitable. Gopher never had a chance; it existed in significant form for only a few years. And FTP still remains useful since it's slightly better at transferring large files or whole directory structures at once (assuming you have tar and gzip and know the secret incantations) and until recently it was better for uploading data.

The point I'm trying to drive home here is that the Web is transport-agnostic. It had to be in order to get started, and the fact that it is means that it almost certainly will continue to be in use for decades -- or even centuries -- to come.

hyde
  • 209
  • 1
  • 3
  • 12
Michael Hampton
  • 13,635
  • 4
  • 45
  • 76
5

There are plenty of protocols that can deliver files of information but none have the efficiency of HTTP.

Indeed, there were several ways of getting information over the internet before HTTP came along. Have a look at Gopher for example.

However, HTTP was specifically designed to deliver web pages efficiently. It has played as much a part of the Internet's success as HTML, CSS and JavaScript.

Julian Knight
  • 14,313
  • 3
  • 27
  • 41
  • 2
    -1 He did not ask about getting information over the internet without HTTP. He asked specifically if you can have the world wide web without HTTP. It's question regarding terminology, and you have not answered it at all. – barlop Feb 09 '14 at 21:24
  • 1
    @barlop : I don't second your opinion. Julian explicitly mentions Gopher which can be regarded as the ancestor of the WWW... +1 – mpy Feb 09 '14 at 21:43
  • 2
    @mpy but Gopher is not the WWW. – SerG Feb 09 '14 at 21:47
  • 2
    The crucial element missing from Gopher was the notion of hyperlinking. Gopher has directories, which contain files and other directories. But there was no notion of a special kind of file that could contain hyperlinks to other documents. In 1994 you could certainly serve an HTML document via the gopher protocol, but the gopher browsers of the time wouldn't render it properly and wouldn't give you any easy way to follow the links in the document. So I would argue that Gopher was *not* an early version of the web, because it was missing one of the essential elements. – Mark Dominus Feb 09 '14 at 22:00
  • 1
    The question isn't whether it would've been possible with contemporary web browsers in 1994 though, I read the question as being whether the WWW would be possible at all without HTTP. And the answer to that is not only would it be possible in theory, but it would in fact be possible *today* using some modern browsers, at least in a somewhat simplified form. They should be capable of serving hypertext files sourced from ftp or gopher and linking to other HTML documents available through ftp or gopher. All the essential elements of the WWW are there, without any HTTP required. – cecilkorik Feb 09 '14 at 23:19
  • @cecilkorik, that indeed is the point. It *can* be done - just not as well as with HTTP. Indeed, you could easily make the case that the "Web" would not have taken off without the introduction of HTTP/HTML/etc & I think that would be right. Gopher, after all, **was** a pain to use! – Julian Knight Feb 09 '14 at 23:34
  • @MJD I imagine that the websites served by ftp urls were shown via a web browser? so, regarding Gopher, and gopher browsers not rendering hypertext right. If you used a web browser rather than a gopher browser, and you went to a gopher:// site and viewed a htm/html/web page, would the link not be rendered correctly? – barlop Feb 10 '14 at 00:06
4

I think three things were needed in order to allow the world wide web to form:

  • the Internet
  • the URI
  • the ability to link URI's in documents (HTML).

The URI could specify any type of protocol: ftp://, http:// etc. You can see a bunch of them on wikipedia. Combine any URI scheme with a document that can link to other documents (of which http/html is about the easiest) on the Internet and you have the world wide web.

As others have shown, ftp can serve web pages. That created the first basis for the web, however, I don't think FTP has any support for CGI, which was the next step towards interactive web sites.

Today, CGI has been replaced with frameworks that are integrated with http servers, but the core interaction still has CGI at its heart, using various HTTP verbs to facilitate sending and receiving form. The WWW as we know it today, would not work without http, but the early WWW started out with FTP as a strong component.

DGM
  • 141
  • 3
3

HTTP has many features that were designed specifically for the web, and with serving HTML documents in mind. Features such as persistent connections, metadata responses, pipe-lining, built-in compression, and proxies are important to the way the web works.

There are many ways you can transfer an HTML document if you have to, but most (all?) other protocols lack HTTP's full feature set.

david25272
  • 435
  • 2
  • 8
2

Wikipedia states about WWW:

The World Wide Web (abbreviated as WWW or W3 commonly known as the web) is a system of interlinked hypertext documents accessed via the Internet. With a web browser, one can view web pages that may contain text, images, videos, and other multimedia and navigate between them via hyperlinks.

I think main point here is it says a system of interlinked hypertext documents.

Main and most known protocol to handle hypertext documents is HTTP.

Wikipedia states about it:

HTTP is the foundation of data communication for the World Wide Web.

Even though you can transfer hypertext documents using other protocols (you can send Web page via e-mail) I think WWW highly depends on HTTP these days. HTTP was crafted and designed to handle hypertext documents.

So, I think - yes, WWW can exist without HTTP, but it will be very inconvenient and probably pointless.

VL-80
  • 4,475
  • 2
  • 28
  • 38