ML07-0001-0

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, BASIC and TOKEN. 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 a WWW-Authenticate header that names the realm. A request with the header X-CSRF-ZOSMF-HEADER gets 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: chunked and no Content-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 THTP and ends with three digits, for example THTP440. 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_TIMEOUT limits 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. PORT sets 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 with M= on the start command, and the default is HTTPPRM0 (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 RAKFPROF has 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 REALM sets 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 S command from a cataloged procedure. HTTPD runs as a started task, and the procedure is HTTPD (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 user HTTPD in the group USER. 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 SVC244 in the class FACILITY gates it (Chapter 12, “Troubleshooting”).

token

A value that stands for a login. The server sets it in the cookie Sec-Token. A route with AUTH=TOKEN answers 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 MINTASK to MAXTASK workers, and each has a stack of 64 KB (Chapter 4, “Configuring HTTPD”, Chapter 12, “Troubleshooting”).