Appendix A. Glossary
This glossary defines the terms of HTTPD, and of HTTP, MVS and the security product as far as this book uses them. A term printed in italics in a definition has an entry of its own.
ACEE
- The accessor environment element. It holds the identity of a user for the security product. HTTPD creates one for each login, and one for the started task (Chapter 6, “Authentication and Security”).
APF
- The authorized program facility. A program in an APF-authorized library can run with authority. HTTPD needs it, and it obtains it from the library or with SVC 244 (Chapter 2, “Installing HTTPD”, Chapter 12, “Troubleshooting”).
AUTH=
- The route option that sets how a route asks for a login. The values are
NONE,FORM,BASICandTOKEN. A route without it is public (Chapter 5, “Routes and Server Modules”, Chapter 6, “Authentication and Security”). Basic
- The login mode
AUTH=BASIC. The server answers a request without credentials with 401 and aWWW-Authenticateheader that names the realm. A request with the headerX-CSRF-ZOSMF-HEADERgets the 401 without that header (Chapter 6, “Authentication and Security”). chunked transfer
- A way to send a body of unknown length. The response has the header
Transfer-Encoding: chunkedand noContent-Length. The server adds the header itself when a module ends the headers with a blank line of its own (Chapter 9, “Writing a Server Module”, Chapter 12, “Troubleshooting”). display module
- A server module of HTTPD that shows the state of the server over HTTP, for example HTTPDMTT for the master trace table (Chapter 8, “Operating HTTPD”).
DOCROOT
- The Parmlib keyword that names the UFS directory with the static files. The default is
/www(Chapter 7, “Serving Files”). FMID
- The id of a function SYSMOD in SMP. HTTPD has one for each minor release. The id starts with
THTPand ends with three digits, for exampleTHTP440. A new release deletes the id of the earlier one, and an id is used once (Chapter 10, “Upgrading HTTPD”, Chapter 11, “Removing HTTPD”). FORM
- The login mode
AUTH=FORM. A request without a login gets a 302 to the login form (Chapter 6, “Authentication and Security”). HTTPC
- The control block of one client, 4096 bytes. The server creates it when it accepts a connection and frees it when the connection closes. A server module works with a pointer to it (Chapter 9, “Writing a Server Module”).
HTTPD
- The HTTP server for MVS 3.8j, and the name of its control block. The block holds the state of the whole server (Chapter 1, “Introducing HTTPD”, Chapter 9, “Writing a Server Module”).
HTTPX
- The function vector. A server module calls the functions of the server through it. New entries are added at the end, so a module built against an earlier release keeps working (Chapter 9, “Writing a Server Module”).
keep-alive
- A connection that stays open after a response, so that the client can send the next request on it. It holds one worker until it closes.
KEEPALIVE_TIMEOUTlimits the wait between two requests (Chapter 4, “Configuring HTTPD”, Chapter 12, “Troubleshooting”). link list
- The list of libraries that the system searches for a load module after the STEPLIB. HTTPD finds its server modules in the STEPLIB and then in the link list (Chapter 5, “Routes and Server Modules”).
listener
- The socket on which the server waits for connections. The socket thread accepts the connections on it.
PORTsets its port (Chapter 4, “Configuring HTTPD”). load module
- A program in a load library. A server module is a load module that HTTPD runs with the LINK service (Chapter 9, “Writing a Server Module”).
LOC
- The Parmlib keyword for a route that has no program. It makes a path prefix a place for static files, with its own
AUTH=(Chapter 5, “Routes and Server Modules”, Chapter 7, “Serving Files”). master trace table
- The table in which the system keeps the most recent console messages. The display module HTTPDMTT shows it over HTTP (Chapter 8, “Operating HTTPD”, Chapter 12, “Troubleshooting”).
MOD
- The Parmlib keyword for a route that runs a server module. The first route that matches the path wins (Chapter 5, “Routes and Server Modules”).
Parmlib
- The data set with the configuration of HTTPD. The DD name is
HTTPPRM. The member is chosen withM=on the start command, and the default isHTTPPRM0(Chapter 4, “Configuring HTTPD”). RACF
- The security product of IBM. HTTPD asks the security product, through SAF, to check a user id and a password and to check access to a resource.
RAKF
- A security product for MVS 3.8j that answers the SAF calls of HTTPD. A new profile is active after the started task
RAKFPROFhas run (Chapter 6, “Authentication and Security”, Chapter 12, “Troubleshooting”). realm
- The name that the server gives in the Basic challenge and in the login form. The Parmlib keyword
REALMsets it (Chapter 6, “Authentication and Security”). RES=
- The route option that names a resource in a class of the security product. A logged-in user needs READ access to it. Without access the answer is 403 (Chapter 6, “Authentication and Security”).
resident module
- A server module that the server loads once at the start and holds until it ends. After a new build, stop the task and start it again (Chapter 5, “Routes and Server Modules”, Chapter 12, “Troubleshooting”).
SAF
- The system authorization facility. The interface through which a program calls the security product (Chapter 6, “Authentication and Security”).
server module
- A load module that serves the requests of a route and runs in the task of HTTPD. mvsMF is one (Chapter 9, “Writing a Server Module”).
session
- The state of a login in the server: the user, the ACEE, the address of the client and a token. It ends by idle time (
SESSION_TIMEOUT), by age (SESSION_MAXAGE), by logout, or when the server ends (Chapter 6, “Authentication and Security”, Chapter 4, “Configuring HTTPD”). SMF
- The system management facilities. HTTPD can write SMF records (Chapter 8, “Operating HTTPD”, Chapter 4, “Configuring HTTPD”).
SMP
- The program that installs and removes products on MVS in units called SYSMODs. HTTPD is installed as a function SYSMOD with an FMID (Chapter 2, “Installing HTTPD”, Chapter 11, “Removing HTTPD”).
socket thread
- The thread that waits on the listener and gives each new connection to a worker. It has a stack of 32 KB (Chapter 8, “Operating HTTPD”).
started task
- A program that the operator starts with the
Scommand from a cataloged procedure. HTTPD runs as a started task, and the procedure isHTTPD(Chapter 8, “Operating HTTPD”). static file
- A file that the server sends as it is, from the UFS under DOCROOT. (Chapter 7, “Serving Files”).
STCUSER
- The PARM keyword of the procedure that names the user id under which the started task runs after its start. The matching keyword for the group is
STCGROUP. The default is the userHTTPDin the groupUSER. Only if the logon fails does the task keep the identity that it inherited (Chapter 6, “Authentication and Security”, Chapter 12, “Troubleshooting”). STEPLIB
- The DD of the procedure with the load libraries. The system searches it first and then the link list (Chapter 5, “Routes and Server Modules”).
SVC 244
- The service call through which a program obtains APF authorization at run time. The profile
SVC244in the classFACILITYgates it (Chapter 12, “Troubleshooting”). token
- A value that stands for a login. The server sets it in the cookie
Sec-Token. A route withAUTH=TOKENanswers a request without credentials with a bare 401 (Chapter 6, “Authentication and Security”). UFS
- The Unix-like file system with directories and long names that UFSD provides. HTTPD reads its static files from it (Chapter 7, “Serving Files”).
UFSD
- The product that serves a UFS to other tasks. It mounts the webroot image at the path that is the value of DOCROOT (Chapter 7, “Serving Files”).
webroot image
- The file system image with the static files of HTTPD. The package delivers it as
httpd-webroot.img. It is uploaded to a data set and mounted by UFSD (Chapter 2, “Installing HTTPD”, Chapter 7, “Serving Files”). worker
- A thread that serves the requests of one connection from start to end. The pool has
MINTASKtoMAXTASKworkers, and each has a stack of 64 KB (Chapter 4, “Configuring HTTPD”, Chapter 12, “Troubleshooting”).