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!
=== Common tasks === A web server program, when it is running, usually performs several general '''tasks''', (e.g.):<ref name="web-server-technology" /> * starts, optionally reads and applies settings found in its [[configuration file]](s) or elsewhere, optionally opens log file, starts listening to client connections / requests; * optionally tries to adapt its general behavior according to its settings and its current [[#Operating conditions|operating conditions]]; * manages '''client connection(s)''' (accepting new ones or closing the existing ones as required); * '''[[#Read request message|receives]]''' client requests (by reading HTTP messages): ** reads and verify each HTTP request message; ** usually performs [[#URL normalization|URL normalization]]; ** usually performs [[#URL mapping|URL mapping]] (which may default to URL path translation); ** usually performs [[#URL path translation to file system|URL path translation]] along with various security checks; * '''[[#Manage request message|executes]]''' or refuses requested HTTP method: ** optionally manages [[#URL authorization|URL authorization]]s; ** optionally manages [[#URL redirection|URL redirection]]s; ** optionally manages requests for '''[[#Serve static content|static resources]]''' (file contents): *** optionally manages [[#Directory index files|directory index files]]; *** optionally manages [[#Regular files|regular files]]; ** optionally manages requests for '''[[#Serve dynamic content|dynamic resources]]''': *** optionally manages [[#Directory listings|directory listings]]; *** optionally manages [[#Program or module processing|program or module processing]], checking the availability, the start and eventually the stop of the execution of external programs used to generate dynamic content; *** optionally manages the communications with external programs / internal modules used to generate dynamic content; * '''[[#Send response message|replies]]''' to client requests sending proper HTTP responses (e.g. requested resources or error messages) eventually verifying or adding [[HTTP headers]] to those sent by dynamic programs / modules; * optionally '''logs''' (partially or totally) '''client requests and/or its responses''' to an external user log file or to a system log file by [[syslog]], usually using [[Common Log Format|common log format]]; * optionally '''logs process messages''' about '''detected anomalies or other notable events''' (e.g. in client requests or in its internal functioning) using syslog or some other system facilities; these log messages usually have a debug, warning, error, alert level which can be filtered (not logged) depending on some settings, see also [[Syslog#Severity level|severity level]]; * optionally generates '''statistics''' about web traffic managed and/or its performances; * other custom tasks.
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)