Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Web server
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==History== [[File:Ginevra, centro visitatori del cern, primo server della storia (1989), 02.JPG|thumb|120x120px|right|First web proposal (1989) evaluated as ''"vague but exciting..."'']] [[File:First Web Server.jpg|thumb|The world's first web server, a [[NeXT Computer]] workstation with Ethernet, 1990. The case label reads: "This machine is a server. DO NOT POWER IT DOWN!!"]] {{See also|History of the web browser|History of the World Wide Web|History of the Internet}} This is a very brief history of ''web server programs'', so some information necessarily overlaps with the histories of the ''web browsers'', the ''World Wide Web'' and the ''Internet''; therefore, for the sake of clarity and understandability, some key historical information below reported may be similar to that found also in one or more of the above-mentioned history articles.<ref>{{Cite web |title=Short History of the Web |url=https://home.web.cern.ch/science/computing/birth-web/short-history-web |website=CERN |access-date=2025-03-20}}</ref> === Initial WWW project (1989–1991) === In March 1989, [[Sir Tim Berners-Lee]] proposed a new project to his employer [[CERN]], with the goal of easing the exchange of information between scientists by using a [[hypertext]] system. The proposal titled ''"HyperText and CERN"'', asked for comments and it was read by several people. In October 1990 the proposal was reformulated and enriched (having as co-author [[Robert Cailliau]]), and finally, it was approved.<ref name="TBL-fight-fake-news">{{Cite news|url=https://www.telegraph.co.uk/technology/2018/11/24/father-web-sir-tim-berners-lee-plan-fight-fake-news/ |archive-url=https://ghostarchive.org/archive/20220111/https://www.telegraph.co.uk/technology/2018/11/24/father-web-sir-tim-berners-lee-plan-fight-fake-news/ |archive-date=11 January 2022 |url-access=subscription |url-status=live|title='Father of the web' Sir Tim Berners-Lee on his plan to fight fake news|last=Zolfagharifard|first=Ellie|date=2018-11-24|work=The Telegraph|location=London|access-date=2019-02-01|language=en-GB|issn=0307-1235}}{{cbignore}}</ref><ref name="history-computers-internet-www">{{Cite web|url=http://history-computer.com/Internet/Maturing/Lee.html|title=History of Computers and Computing, Internet, Birth, The World Wide Web of Tim Berners-Lee|website=history-computer.com|access-date=2019-02-01|archive-date=4 January 2019|archive-url=https://web.archive.org/web/20190104193211/http://history-computer.com/Internet/Maturing/Lee.html|url-status=live}}</ref><ref name="www-project-history-original">{{Cite web|url=http://info.cern.ch/hypertext/WWW/History.html|title=WWW Project History (original)|author=Tim Berner-Lee|publisher=CERN (World Wide Web project)|year=1992|access-date=2021-12-20|archive-date=8 December 2021|archive-url=https://web.archive.org/web/20211208000457/http://info.cern.ch/hypertext/WWW/History.html|url-status=live}}</ref> Between late 1990 and early 1991 the project resulted in Berners-Lee and his developers writing and testing several software libraries along with three programs, which initially ran on [[NeXTSTEP|NeXTSTEP OS]] installed on [[NeXT]] workstations:<ref name="www-TBL-announcement-1991">{{Cite web|url=https://groups.google.com/g/comp.sys.next.announce/c/avWAjISncfw?pli=1|title=WorldWideWeb wide-area hypertext app available (announcement)|author=Tim Berner-Lee|publisher=CERN (World Wide Web project)|date=1991-08-20|access-date=2021-10-16|archive-date=2 December 2021|archive-url=https://web.archive.org/web/20211202204104/https://groups.google.com/g/comp.sys.next.announce/c/avWAjISncfw?pli=1|url-status=live}}</ref><ref name="web-history">{{Cite web|url=https://web30.web.cern.ch/web-history.html|title=Web History|author=Web Administrator|publisher=CERN (World Wide Web project)|access-date=2021-10-16|archive-date=2 December 2021|archive-url=https://web.archive.org/web/20211202001216/https://web30.web.cern.ch/web-history.html|url-status=live}}</ref><ref name="www-project-history-original" /> * a graphical [[web browser]], called [[WorldWideWeb]]; * a portable [[Line Mode Browser|line mode web browser]]; * a web server, later known as [[CERN httpd]]. Those early browsers retrieved web pages written in a [[HTML#History|simple early form of HTML]], from web server(s) using a new basic communication protocol that was named [[Hypertext Transfer Protocol#History|HTTP 0.9]]. In August 1991 Tim Berners-Lee announced the ''birth of WWW technology'' and encouraged scientists to adopt and develop it.<ref name="www-TBL-web-announcement">{{Cite web|url=https://www.w3.org/People/Berners-Lee/1991/08/art-6484.txt|title=Qualifiers on hypertext links ...|author=Tim Berner-Lee|publisher=CERN (World Wide Web project)|date=1991-08-02|access-date=2021-10-16|archive-date=7 December 2021|archive-url=https://web.archive.org/web/20211207032603/https://www.w3.org/People/Berners-Lee/1991/08/art-6484.txt|url-status=live}}</ref> Soon after, those programs, along with their [[source code]], were made available to people interested in their usage.<ref name="www-TBL-announcement-1991" /> Although the source code was not formally licensed or placed in the public domain, CERN informally allowed users and developers to experiment and further develop on top of them. Berners-Lee started promoting the adoption and the usage of those programs along with their [[porting]] to other [[operating system]]s.<ref name="www-project-history-original" /> === Fast and wild development (1991–1995) === In December 1991, the {{strong|first web server outside Europe}} was installed at SLAC (U.S.A.).<ref name="web-history" /> This was a very important event because it started trans-continental web communications between web browsers and web servers. In 1991–1993, CERN web server program continued to be actively developed by the www group, meanwhile, thanks to the availability of its source code and the public specifications of the HTTP protocol, many other implementations of web servers started to be developed. In April 1993, CERN issued a public official statement stating that the three components of Web software (the basic line-mode client, the web server and the library of common code), along with their [[source code]], were put in the [[public domain]].<ref name="CERN-licensing-the-web">{{Cite web|url=https://home.cern/science/computing/birth-web/licensing-web|title=Licensing the Web|author1=Tim Smith|author2=François Flückiger|publisher=CERN (World Wide Web project)|access-date=2021-10-16|archive-date=6 December 2021|archive-url=https://web.archive.org/web/20211206161306/http://home.cern/science/computing/birth-web/licensing-web|url-status=live}}</ref> This statement freed web server developers from any possible legal issue about the development of ''derivative work'' based on that source code (a threat that in practice never existed). At the beginning of 1994, the most notable among new web servers was [[NCSA httpd]] which ran on a variety of [[Unix]]-based OSs and could serve ''dynamically generated content'' by implementing the <code>POST</code> HTTP method and the [[Common Gateway Interface|CGI]] to communicate with external programs. These capabilities, along with the multimedia features of NCSA's [[Mosaic (web browser)|Mosaic]] browser (also able to manage [[HTML]] [[Form (HTML)|FORM]]s in order to send data to a web server) highlighted the potential of web technology for publishing and [[distributed computing]] applications.{{image frame |content={{Graph:Chart |height = 160 |width = 170 |xAxisTitle = Year |xAxisAngle = -40 |yAxisTitle = Number of active web sites |yAxisMin = 0 |type = rect |showValues = offset:4 |x = 1991, 1992, 1993, 1994, 1995, 1996 |y1 = 1, 10, 50, 623, 10022, 100000 |colors = blue }} |width= |align= |caption=Number of active web sites (1991–1996)<ref name="ws-web-app-test-ajax">{{cite book|url=https://www.researchgate.net/publication/27353046 |title=Analysis and Testing of Ajax-based Single-page Web Applications |publisher=|author=Ali Mesbah|language=en|isbn=978-90-79982-02-8|year=2009|access-date=2021-12-18}}</ref><ref name="ws-stats-1991-1996">{{cite web|url=http://www.isoc.org/guest/zakon/Internet/History/HIT.html |title=Hobbes' Internet Timeline v5.1 (WWW Growth) NOTE: till 1996 number of web servers = number of web sites |publisher=ISOC|author=Robert H'obbes' Zakon|url-status=unfit|archive-url=https://web.archive.org/web/20000815100731/http://www.isoc.org/guest/zakon/Internet/History/HIT.html|archive-date=2000-08-15|access-date=2021-12-18}}</ref> |pos= |border=no |mode= }}In the second half of 1994, the development of NCSA httpd stalled to the point that a group of external software developers, [[webmaster]]s and other professional figures interested in that server, started to write and collect [[Patch (computing)|patches]] thanks to the NCSA httpd source code being available to the public domain. At the beginning of 1995 those patches were all applied to the last release of NCSA source code and, after several tests, the [[Apache HTTP server]] project was started.<ref name="NCSA-public-Apache">{{Cite web |url=http://illinois.edu/lb/imageList/2943 |title=NCSA httpd |author= |publisher=NCSA (web archive) |access-date=2021-12-16 |archive-url=https://web.archive.org/web/20100801142847/http://illinois.edu/lb/imageList/2943 |archive-date=1 August 2010 |url-status=dead}}</ref><ref name="ws-apache-how-it-came-to-be">{{Cite web|url=https://httpd.apache.org/ABOUT_APACHE.html|title=About the Apache HTTPd server: How Apache Came to be|publisher=Apache: HTTPd server project|year=1997|access-date=2021-12-17|language=en|archive-date=7 June 2008|archive-url=https://web.archive.org/web/20080607122013/http://httpd.apache.org/ABOUT_APACHE.html|url-status=live}}</ref> At the end of 1994, a new commercial web server, named [[Oracle iPlanet Web Server#Netsite|Netsite]], was released with specific features. It was the first one of many other similar products that were developed first by [[Netscape]], then also by [[Sun Microsystems]], and finally by [[Oracle Corporation]]. In mid-1995, the first version of [[Internet Information Services|IIS]] was released, for [[Windows NT]] OS, by [[Microsoft]]. This marked the entry, in the field of World Wide Web technologies, of a very important commercial developer and vendor that has played and still is playing a key role on both sides (client and server) of the web. In the second half of 1995, CERN and NCSA web servers started to decline (in global percentage usage) because of the widespread adoption of new web servers which had a much faster development cycle along with more features, more fixes applied, and more performances than the previous ones. === Explosive growth and competition (1996–2014) === {{image frame |content={{Graph:Chart |height = 200 |width = 200 |xAxisTitle = Year |xAxisAngle = -40 |yAxisTitle = Number of active web sites |yAxisMin = 0 |type = rect |showValues = offset:4 |x = 1996, 1997, 1998, 1999, 2000, 2001, 2002 |y1 = 100000, 603367, 1681868, 3689227, 6500000, 10371177, 13462537 |colors = blue }} |width= |align= |caption=Number of active web sites (1996-2002)<ref name="ws-stats-1991-1996"/><ref name="ws-stats-1999-2002">{{cite web |url=https://news.netcraft.com/archives/2021/12/22/december-2021-web-server-survey.html |title=Web Server Survey, NOTE: number of active web sites in year 2000 has been interpolated |publisher=Netcraft |author= |date=22 December 2021 |access-date=2021-12-27 |archive-date=27 December 2021 |archive-url=https://web.archive.org/web/20211227070918/https://news.netcraft.com/archives/2021/12/22/december-2021-web-server-survey.html |url-status=live }}</ref> |pos= |border=no |mode= }} [[File:Cobalt Qube 3 Front.jpg|thumb|right|Sun's [[Cobalt Qube]] 3 – a computer [[server appliance]] (2002, discontinued)]] At the end of 1996, there were already over '''fifty''' known (different) web server software programs that were available to everybody who wanted to own an Internet [[domain name]] and/or to host websites.<ref name="ws-1996-sw-products">{{Cite web |url=http://www.netcraft.com/survey/servers.html |title=Netcraft: web server software (1996) |author= |publisher=Netcraft (web archive) |access-date=2021-12-16 |archive-url=https://web.archive.org/web/19961230090855/http://www.netcraft.com/survey/servers.html |archive-date=30 December 1996 |url-status=dead}}</ref> Many of them lived only shortly and were replaced by other web servers. The publication of [[Request for Comments|RFC]]s about protocol versions HTTP/1.0 (1996) and HTTP/1.1 (1997, 1999), forced most web servers to comply (not always completely) with those standards. The use of TCP/IP [[HTTP persistent connection|persistent connection]]s (HTTP/1.1) required web servers both to increase the maximum number of concurrent connections allowed and to improve their level of scalability. Between 1996 and 1999, [[Netscape Application Server|Netscape Enterprise Server]] and Microsoft's IIS emerged among the leading commercial options whereas among the freely available and [[open-source]] programs Apache HTTP Server held the lead as the preferred server (because of its reliability and its many features). In those years there was also another commercial, highly innovative and thus notable web server called [[Zeus Web Server|Zeus]] (''now discontinued'') that was known as one of the fastest and most scalable web servers available on market, at least till the first decade of 2000s, despite its low percentage of usage. Apache resulted in the most used web server from mid-1996 to the end of 2015 when, after a few years of decline, it was surpassed initially by IIS and then by Nginx. Afterward IIS dropped to much lower percentages of usage than Apache (see also [[#Market share|market share]]). From 2005–2006, Apache started to improve its speed and its scalability level by introducing new performance features (e.g. event MPM and new content cache).<ref name="ws-apache-overview-2.2">{{Cite web|url=https://httpd.apache.org/docs/2.2/new_features_2_2.html|title=Overview of new features in Apache 2.2|publisher=Apache: HTTPd server project|year=2005|access-date=2021-12-16|language=en|archive-date=27 November 2021|archive-url=https://web.archive.org/web/20211127091204/http://httpd.apache.org/docs/2.2/new_features_2_2.html|url-status=live}}</ref><ref name="ws-apache-overview-2.4">{{Cite web|url=https://httpd.apache.org/docs/2.4/new_features_2_4.html|title=Overview of new features in Apache 2.4|publisher=Apache: HTTPd server project|year=2012|access-date=2021-12-16|language=en|archive-date=26 November 2021|archive-url=https://web.archive.org/web/20211126112829/http://httpd.apache.org/docs/2.4/new_features_2_4.html|url-status=live}}</ref> As those new performance improvements initially were marked as experimental, they were not enabled by its users for a long time and so Apache suffered, even more, the competition of commercial servers and, above all, of other open-source servers which meanwhile had already achieved far superior performances (mostly when serving static content) since the beginning of their development and at the time of the Apache decline were able to offer also a long enough list of well tested advanced features. In fact, a few years after 2000 started, not only other commercial and highly competitive web servers, e.g. [[LiteSpeed Web Server|LiteSpeed]], but also many other open-source programs, often of excellent quality and very high performances, among which should be noted [[Hiawatha (web server)|Hiawatha]], [[Cherokee (webserver)|Cherokee HTTP server]], [[Lighttpd]], [[Nginx]] and other derived/related products also available with commercial support, emerged. Around 2007–2008, most popular web browsers increased their previous default limit of 2 persistent connections per host-domain (a limit recommended by RFC-2616)<ref name="rfc2616-8.1.4">{{cite IETF |rfc=2616 |sectionname=Connections, persistent connections: practical considerations |section=8.1.4|title=RFC 2616, Hypertext Transfer Protocol -- HTTP/1.1|pages=46–47}}</ref> to 4, 6 or 8 persistent connections per host-domain, in order to speed up the retrieval of heavy web pages with lots of images, and to mitigate the problem of the shortage of persistent connections dedicated to dynamic objects used for bi-directional notifications of events in web pages.<ref name="browsers-max-persistent-connections-per-host-domain">{{Cite web|url=http://sgdev-blog.blogspot.com/2014/01/maximum-concurrent-connection-to-same.html|title=Maximum concurrent connections to the same domain for browsers|author=|publisher=|year=2017|access-date=2021-12-21|archive-date=21 December 2021|archive-url=https://web.archive.org/web/20211221234815/http://sgdev-blog.blogspot.com/2014/01/maximum-concurrent-connection-to-same.html|url-status=live}}</ref> Within a year, these changes, on average, nearly tripled the maximum number of persistent connections that web servers had to manage. This trend (of increasing the number of persistent connections) definitely gave a strong impetus to the adoption of [[reverse proxy|reverse proxies]] in front of slower web servers and it gave also one more chance to the emerging new web servers that could show all their speed and their capability to handle very high numbers of concurrent connections without requiring too many hardware resources (expensive computers with lots of CPUs, RAM and fast disks).<ref name="ws-root-bench-2016">{{Cite web|url=https://www.rootusers.com/linux-web-server-performance-benchmark-2016-results/|title=Linux Web Server Performance Benchmark - 2016 results|author=|date=8 March 2016 |publisher=RootUsers|access-date=2021-12-22|archive-date=23 December 2021|archive-url=https://web.archive.org/web/20211223131547/https://www.rootusers.com/linux-web-server-performance-benchmark-2016-results/|url-status=live}}</ref> === New challenges (2015 and later years) === In 2015, RFCs published new protocol version [HTTP/2], and as the implementation of new specifications was not trivial at all, a '''dilemma arose among developers of less popular web servers''' (e.g. with a percentage of usage lower than 1% .. 2%), about adding or not adding support for that new protocol version.<ref name="http2-faq-http2-replace-http1">{{Cite web|url=https://http2.github.io/faq/#will-http2-replace-http1x|title=Will HTTP/2 replace HTTP/1.x?|author=|publisher=IETF HTTP Working Group|access-date=2021-12-22|archive-date=27 September 2014|archive-url=https://web.archive.org/web/20140927004541/http://http2.github.io/faq/#will-http2-replace-http1x|url-status=live}}</ref><ref name="ws-http2-support">{{Cite web|url=https://github.com/httpwg/http2-spec/wiki/Implementations|title=Implementations of HTTP/2 in client and server software|author=|publisher=IETF HTTP Working Group|access-date=2021-12-22|archive-date=23 December 2021|archive-url=https://web.archive.org/web/20211223003728/https://github.com/httpwg/http2-spec/wiki/Implementations|url-status=live}}</ref> In fact supporting HTTP/2 often required radical changes to their internal implementation due to many factors (practically always required encrypted connections, capability to distinguish between HTTP/1.x and HTTP/2 connections on the same TCP port, binary representation of HTTP messages, message priority, compression of HTTP headers, use of streams also known as TCP/IP sub-connections and related flow-control, etc.) and so a few developers of those web servers opted for [[Comparison of web server software#Features|not supporting new HTTP/2 version]] (at least in the near future) also because of these main reasons:<ref name="http2-faq-http2-replace-http1" /><ref name="ws-http2-support" /> * protocols HTTP/1.x would have been supported anyway by browsers for a very long time (maybe forever) so that there would be no incompatibility between clients and servers in next future; * implementing HTTP/2 was considered a task of [[HTTP/2#Criticisms|overwhelming complexity]] that could open the door to a whole new class of [[Software bug|bug]]s that till 2015 did not exist and so it would have required notable investments in developing and testing the implementation of the new protocol; * adding HTTP/2 support could always be done in future in case the efforts would be justified. Instead, developers of '''most popular web servers, rushed to offer the availability of new protocol''', not only because they had the work force and the time to do so, but also because usually their previous implementation of [[SPDY]] protocol could be reused as a starting point and because most used web browsers implemented it very quickly for the same reason. Another reason that prompted those developers to act quickly was that webmasters felt the pressure of the ever increasing [[web traffic]] and they really wanted to install and to try – as soon as possible – something that could drastically lower the number of TCP/IP connections and speedup accesses to hosted websites.<ref name="http2-faq-just-1-connection">{{Cite web|url=https://http2.github.io/faq/#why-just-one-tcp-connection|title=Why just one TCP connection?|author=|publisher=IETF HTTP Working Group|access-date=2021-12-22|archive-date=27 September 2014|archive-url=https://web.archive.org/web/20140927004541/http://http2.github.io/faq/#why-just-one-tcp-connection|url-status=live}}</ref> In 2020–2021 the HTTP/2 dynamics about its implementation (by top web servers and popular web browsers) were partly replicated after the publication of advanced drafts of future RFC about [[HTTP/3]] protocol.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)