@@ -34,7 +34,6 @@ The server implements numerous features, such as:
3434
3535- Secure Sockets Layer (SSL)
3636- Erlang Scripting Interface (ESI)
37- - Common Gateway Interface (CGI)
3837- User Authentication (using Mnesia, Dets or plain text database)
3938- Common Logfile Format (with or without disk_log(3) support)
4039- URL Aliasing
@@ -43,10 +42,10 @@ The server implements numerous features, such as:
4342
4443The configuration of the server is provided as an Erlang property list.
4544
46- As of ` Inets ` 5 \. 0 the HTTP server is an easy to start/stop and customize web
45+ The HTTP server is an easy to start/stop and customize web
4746server providing the most basic web server functionality. Inets is designed for
4847embedded systems and if you want a full-fledged web server there are other
49- erlang open source alternatives.
48+ Erlang open source alternatives.
5049
5150Almost all server functionality has been implemented using an especially crafted
5251server API, which is described in the Erlang Web Server API. This API can be
@@ -165,45 +164,14 @@ and cannot be the hostname that is allowed when putting in `bind_address`.
165164`Inets ` HTTP server provides two ways of creating dynamic web pages , each with
166165its own advantages and disadvantages :
167166
168- - ** _CGI scripts (deprecated )_ ** - Common Gateway Interface (CGI ) scripts can be written in
169- any programming language . CGI scripts are standardized and supported by most
170- web servers . The drawback with CGI scripts is that they are resource - intensive
171- because of their design . CGI requires the server to fork a new OS process for
172- each executable it needs to start .
173-
174167- ** _ESI - functions_ ** - Erlang Server Interface (ESI ) functions provide a tight
175168 and efficient interface to the execution of Erlang functions . This interface ,
176169 on the other hand , is `Inets ` specific .
177170
178171### CGI Version 1.1 , RFC 3875
179172
180173> #### Note {: .info }
181- > `mod_cgi ` and `mod_actions ` are deprecated since OTP 29 and will be removed in OTP 30 .
182- > Use `mod_esi ` instead for dynamic page generation .
183- >
184-
185- The module `mod_cgi ` enables execution of
186- [CGI scripts ](http :// www .ietf .org / rfc / rfc3875 .txt ) on the server . A file
187- matching the definition of a ScriptAlias config directive is treated as a CGI
188- script . A CGI script is executed by the server and its output is returned to the
189- client .
190-
191- The CGI script response comprises a message header and a message body , separated
192- by a blank line . The message header contains one or more header fields . The body
193- can be empty .
194-
195- Example :
196-
197- ```text
198- " Content-Type:text/plain\n Accept-Ranges:none\n\n some very
199- plain text"
200- ```
201-
202- The server interprets the message headers and most of them are transformed into
203- HTTP headers and sent back to the client together with the message - body .
204-
205- Support for CGI - 1.1 is implemented in accordance with
206- [RFC 3875 ](http :// www .ietf .org / rfc / rfc3875 .txt ).
174+ > `mod_cgi ` and `mod_actions ` are removed since OTP 39 .
207175
208176### ESI
209177
@@ -318,26 +286,8 @@ of these modules is to be present in the module directive. Notice that there are
318286some interaction dependencies to take into account , so the order of the modules
319287cannot be random .
320288
321- ### mod_actions - Filetype/Method-Based Script Execution
322-
323- > #### Note {: .info }
324- > `mod_cgi ` and `mod_actions ` are deprecated since OTP 29 and will be removed in OTP 30 .
325- > Use `mod_esi ` instead for dynamic page generation .
326- >
327-
328- This module runs CGI scripts whenever a file of a certain type or HTTP method
329- (see [RFC 1945 ](http :// tools .ietf .org / html / rfc1945 )) is requested .
330-
331- Uses the following Erlang Web Server API interaction data :
332-
333- - `real_name ` \- from `m :mod_alias `.
334-
335- Exports the following Erlang Web Server API interaction data , if possible :
336-
337- - ** `{new_request_uri , RequestURI }`** - An alternative `RequestURI ` has been
338- generated .
339-
340289### mod_alias - URL Aliasing
290+ {: # mod_alias }
341291
342292The `m :mod_alias ` module makes it possible to map different parts of the host
343293file system into the document tree , that is , creates aliases and redirections .
@@ -348,6 +298,7 @@ Exports the following Erlang Web Server API interaction data, if possible:
348298 `mod_alias :path / 3 `.
349299
350300### mod_auth - User Authentication
301+ {: # mod_auth }
351302
352303The `m :mod_auth ` module provides for basic user authentication using textual
353304files , Dets databases as well as Mnesia databases .
@@ -411,16 +362,8 @@ the HTTP server. If they are placed in the directory which it protects, clients
411362can download the tables . Only the Dets and Mnesia storage methods allow writing
412363of dynamic user data to disk . `plain ` is a read only method .
413364
414- ### mod_cgi - CGI Scripts
415-
416- > #### Note {: .info }
417- > `mod_cgi ` and `mod_actions ` are deprecated since OTP 29 and will be removed in OTP 30 .
418- > Use `mod_esi ` instead for dynamic page generation .
419- >
420-
421- This module handles invoking of CGI scripts .
422-
423365### mod_dir - Directories
366+ {: # mod_dir }
424367
425368This module generates an HTML directory listing (Apache - style ) if a client sends
426369a request for a directory instead of a file . This module must be removed from
@@ -436,6 +379,7 @@ Exports the following Erlang Web Server API interaction data:
436379 a `MimeType `.
437380
438381### mod_disk_log - Logging Using Disk_Log.
382+ {: # mod_disk_log }
439383
440384Standard logging using the " Common Logfile Format" and `m :disk_log `.
441385
@@ -444,6 +388,7 @@ Uses the following Erlang Web Server API interaction data:
444388- `remote_user ` \- from `mod_auth `
445389
446390### mod_esi - Erlang Server Interface
391+ {: # mod_esi }
447392
448393The `m :mod_esi ` module implements the Erlang Server Interface (ESI ) providing a
449394tight and efficient interface to the execution of Erlang functions .
@@ -458,6 +403,7 @@ Exports the following Erlang web server API interaction data:
458403 a `MimeType `
459404
460405### mod_get - Regular GET Requests
406+ {: # mod_get }
461407
462408This module is responsible for handling GET requests to regular files . GET
463409requests for parts of files is handled by `mod_range `.
@@ -467,6 +413,7 @@ Uses the following Erlang web server API interaction data:
467413- `real_name ` \- from `m :mod_alias `
468414
469415### mod_head - Regular HEAD Requests
416+ {: # mod_head }
470417
471418This module is responsible for handling HEAD requests to regular files . HEAD
472419requests for dynamic content is handled by each module responsible for dynamic
@@ -477,6 +424,7 @@ Uses the following Erlang Web Server API interaction data:
477424- `real_name ` \- from `m :mod_alias `
478425
479426### mod_log - Logging Using Text Files.
427+ {: # mod_log }
480428
481429Standard logging using the " Common Logfile Format" and text files .
482430
@@ -485,6 +433,7 @@ Uses the following Erlang Web Server API interaction data:
485433- `remote_user ` \- from `mod_auth `
486434
487435### mod_range - Requests with Range Headers
436+ {: # mod_range }
488437
489438This module responses to requests for one or many ranges of a file . This is
490439especially useful when downloading large files , as a broken download can be
@@ -498,6 +447,7 @@ Uses the following Erlang Web Server API interaction data:
498447- `real_name ` \- from `m :mod_alias `
499448
500449### mod_responsecontrol - Requests with If\* Headers
450+ {: # mod_responsecontrol }
501451
502452This module controls that the conditions in the requests are fulfilled . For
503453example , a request can specify that the answer only is of interest if the
@@ -529,6 +479,7 @@ Exports the following Erlang Web Server API interaction data:
529479 must be treated as an ordinary get request .
530480
531481### mod_security - Security Filter
482+ {: # mod_security }
532483
533484The `m :mod_security ` module serves as a filter for authenticated requests
534485handled in `m :mod_auth `. It provides a possibility to restrict users from access
@@ -541,6 +492,7 @@ blocked users or users who have been authenticated within a configurable amount
541492of time .
542493
543494### mod_trace - TRACE Request
495+ {: # mod_trace }
544496
545497`mod_trace ` is responsible for handling of TRACE requests . Trace is a new
546498request method in HTTP / 1.1 . The intended use of trace requests is for testing .
0 commit comments