Talk:Web server

Changes to web server article
To complete the article I am going to do the following changes:
 * to add a few diagrams (images) about clients and HTTP/web server, both with a static and a dynamic configuration (done);
 * to add a few sections about "Content cache", "File cache", etc. (done);
 * to add a second diagram about web server usage between 1995 and 2005 (web server survey) (done);
 * to complete section "History", mostly (done).

Then in the middle-long term there would be some more radical changes to do as described in the following sentences.

The term "web server" is an alias for the term "HTTP server" which is the software and the process that implement HTTP protocol (which may also include HTTPS, ecc.).

As an extension, a "web server" should be intended as the software installation or the software installation and the computer hardware dedicated to host and manage a website.

Maybe the right thing to do would be:
 * to move 80% of content of "Web server" article to "HTTP server" article;
 * to remove above mentioned 80% of content from "web server";
 * to add to "Web server" article a few definitions about the fact that usually the term "web server" is used to include both the "HTTP server" software and the computer hardware dedicated to run the "HTTP server" and its related software.

UPDATE: after a few thoughts about above topic I think that it is better to keep the current division of topics as the term web server predates that of HTTP server and so it is right to only add a few references to HTTP server and to explain the difference between an HTTP server and a web server.

If there are other proposals about non trivial changes to the article, please write here your ideas. Ade56facc 13:11, 17 November 2021 (UTC)

Web server on a single computer
An IP editor removed a few computer examples at the beginning of the article, leaving this comment:


 * dubious examples; "single computer" in this context normally would not mean a desktop and especially not a laptop-

Original text:
 * A web server can be a single computer, i.e. a desktop, a laptop or even an embedded system (such as a router, a printer, a webcam, etc.) with a built-in configuration interface, but high-traffic ..

Edited text:
 * A web server can be a single computer, or even an embedded system such as a router with a built-in configuration interface, but high-traffic ...

Answer: a web server program can run on any kind of computer that has enough HW resources to run it; web servers are used also to configure other local programs, license managers, etc. on a local computer (a desktop or a laptop), to run web interfaces with embedded HW, etc. so a web server is not required to reply only to requests coming from Internet, the majority of web servers could serve contents inside private organizations (LAN, WAN), to local single computers, etc.

The examples about the various kind of single computers were meant to let the reader understand that concept. An embedded system is a single computer so the word "or" is out of context without the previous examples, and a web server can be also a notebook, a laptop, etc. because there is written nowhere that the availability of a web server must be 24h per day, 365 days per year.

The original definitions for a web server were two:
 * 1) a web server program;
 * 2) a web server program + computer HW to run the first one.

... then those 2 definitions were removed and things started to get unclear. ade56facc (talk) 17:53, 10 December 2021 (UTC)

Web Server vs Cloud?
Today people talk about "cloud", not "web servers".

It would be nice to have section about the difference of a web server and the cloud.

I guess this is a difficult task to distinguish between both.

The client still does a client-server request-response communication.

But the client, does it today still communicate to a web server?


 * What you are proposing is inappropriate for this article because Wikipedia is not a textbook. Go see WP:NOT. Specifically, this paragraph: "Wikipedia is an encyclopedic reference, not a textbook. The purpose of Wikipedia is to present facts, not to teach subject matter. It is not appropriate to create or edit articles that read as textbooks, with leading questions and systematic problem solutions as examples. These belong on our sister projects, such as Wikibooks, Wikisource, and Wikiversity. Some kinds of examples, specifically those intended to inform rather than to instruct, may be appropriate for inclusion in a Wikipedia article."
 * Cloud computing refers to a style of computing. A Web server is a specialized kind of server. Totally different concepts.
 * Yes, clients still talk to servers. Usually those servers are Web servers, but not always.  It sounds like you need to read up on multitier architecture.  For example, a Web server that talks to an underlying SQL database server to add or retrieve data is a client as far as the database is concerned.  Similarly, email clients like Outlook and the mail apps built into smartphones talk to email servers.
 * If you still don't get it, you need to read textbooks on computer networking and Web applications, or consider taking an online course. --Coolcaesar (talk) 16:10, 15 April 2020 (UTC)

Code of the first web server
A few years ago, I remember following-along with this reddit thread searching for the code of the first web server. I wasn't sure if it was worth linking to the code, which is now in this GitHub repo.

At the very least, it's an interesting thread that folks might be interested in reading. = paul2520 (talk) 21:09, 16 May 2020 (UTC)

About static vs. dynamic content and web pages in article
I would like to state that the following conclusions are right by facts not by abstract ideas.

1. nowadays serving static content by a modern and efficient OS on a fast computer is usually faster than serving complicated / formatted dynamic content with the same size (90% of times) because of the following reasons:
 * if file has already been read recently then probably it's content has been kept in OS RAM pages (file system cache); so unless it is a really big file, then sending that file is a really fast operation; you may end up to be able to cache most of your website files in RAM, just add enough RAM to web server computer;
 * if file has been cached by web server too then small file contents can be kept in web server memory and sent with no delay due to open/read/close file; medium sized files can be kept mapped (mmap), etc.;
 * file content is usually sent without any further application operation (well, if you compress content on the fly and/or you encrypt HTTP connection this adds up to your computational costs in both cases, static and dynamic);
 * what about SSD disks? It's almost like sending content already in RAM, the whole operation can be done at the speed of light.

Of course if content of a dynamic request is read directly from RAM and it is not too large then this operation can be faster than sending a static file of equal size.


 * Usually, sending dynamic content implies:
 * A) CGI: spawning an external program (hundreds of times slower);
 * or
 * B) FCGI, etc.: sending the request to an external program, already in execution via local socket connection and getting the reply via socket (two .. five times slower);
 * or
 * C) passing the request to an internal thread that creates the dynamic content on the fly (maybe not always slower than sending a file of the same content size but usually yes, if thread has to collect data from a DB or some other source, then format it, etc.).

2. HTTP was not created to distribute web pages only; maybe the first version 0.9 had that target but all subsequent versions, starting with HTTP/1.0 drafts around 1992 .. 1996 aimed to allow access to many types of contents (HTML files, images, other binary / executable files, etc.) so, since 1992..1993, it is much more correct to use the term web content instead of web pages. In fact, in RFC-1945 term "hypermedia information" (a synonym for web content) is used: "The Hypertext Transfer Protocol (HTTP) is an application-level protocol with the lightness and speed necessary for distributed,   collaborative, hypermedia information systems."

The right thing to do about wiki articles "Static web page" and "Dynamic web page" would be to create articles with a more general idea of content, i.e. "Static web content" and "Dynamic web content", and move there part of what is contained in "Static web page" and "Dynamic web page". Ade56facc 08:54, 8 November 2021 (UTC)

I feel truly sorry for anyone who tries to read this article beyond the lead and the history section. It reminds me of what Harrison Ford once said to George Lucas: "You can write this shit but you sure as hell can't read it." Whoever loaded it up with "i.e."s and "etc."s, in particular, should do penance. 73.71.251.64 (talk) 04:43, 11 December 2021 (UTC)


 * Merely replacing "i.e." with "e.g." does not make the text more readable in this regard. I look at the article and see an interminable Powerpoint presentation written with a short attention span (as indicated by the endless "etc."s). 73.71.251.64 (talk) 19:11, 11 December 2021 (UTC)


 * In technical sections text has to be understandable but technically correct; listing items is the easiest form of presentation to read because it also allows a fast visual memorization of the topics / keywords used; the etc. are required in examples because there are lots of other items, details that are missing; those mentioned in the article are the most important;  the idea was to provide a general scenario of the topics and to refer to technical papers for the rest of the many details.  Indeed it's like talking about cars, there are lot of different models, each one with its features, etc. so you end up listing / describing those features that are common among several brands / models. ade56facc (talk) 19:23, 11 December 2021 (UTC)


 * There are many computing-related articles on Wikipedia (and car-related articles: Internal combustion engine, Chevrolet_Suburban) that are not written this way. Resorting at every turn to bullet lists and "etc." is an indicator of jumping too quickly to a level of detail beyond what can be effectively written as prose. 73.71.251.64 (talk) 20:29, 11 December 2021 (UTC)


 * Maybe I did not use the fittest example by citing cars (I did not meant wiki articles about cars) and in any case in Internal combustion engine and in many other technical articles bullet lists are used; in this case it would have been better to cite some network protocol or things like that.  What you refer to is the "Technical Overview" of a very technical topic.  Those bullet items are not micro details, they are macro features, tasks or at most sub-topics with ultra short explanations;  the aim was not to tell a lengthy story but to summarize that part (without losing important items) making it very clear what is the main flow, the structure, the macro tasks usually and logically performed inside a typical web server;  in these cases I am firmly convinced that too much prose is difficult to read and to understand (for the average reader, not for me) as it is often named "the wall of words";  there are studies about it;  besides this the bullet lists are reduced to a minimum.  I can understand that you don't like too many occurrences of "etc." (around fifty of them) but why do you dislike them so much?  They only mean "et cetera" = "and other (things / there are other items, details, etc.)". ade56facc (talk) 21:18, 11 December 2021 (UTC)


 * Yes, too much prose (especially without section and paragraph structure) is its own problem, which is why it's important to choose the level of exposition. I focus on "etc." because it announces again and again that the chosen level of exposition will not, perhaps cannot be delivered. 73.71.251.64 (talk) 21:51, 11 December 2021 (UTC)


 * "is its own problem" I don't think so. To me those "etc." mean only that "there is more than this", because I don't want to tell you about less important items but I don't want to lie about the existence of more information. Anyway, supposing there are too many "etc.", what would you do about them? Simply remove them or use some other word? ade56facc (talk) 22:05, 11 December 2021 (UTC)


 * You just said that too much prose is difficult to read. I was agreeing with you — with qualification. "etc." is not a distinct problem in itself; it comes from, and draws attention to, the use of enumeration as the primary method of explanation. 73.71.251.64 (talk) 22:29, 11 December 2021 (UTC)


 * Since your first comment, I had already understood what you were aiming to, but, before changing that structure (that I find very appropriate for the topic), let me see what I can do about the "etc."; I'll start that editing on Monday. In any case I think that, when dealing with such a technical topics, it's better to list items rather then trying to describe them with free prose. Meanwhile, there are those "citation needed" that should be satisfied. ade56facc (talk) 22:50, 11 December 2021 (UTC)
 * OK, mostly done (removal of "etc."), those left are because they are really required; in near future I'll try to add notable references to some sentences tagged with . ade56facc (talk) 12:45, 13 December 2021 (UTC)

How i got money
money 2402:AD80:132:DD83:2059:3455:6325:E9EA (talk) 05:28, 17 March 2024 (UTC)