- http
- http
- http_unix_daemon.pl -- Run SWI-Prolog HTTP server as a Unix system daemon
 - thread_httpd.pl -- Threaded HTTP server
 - http_wrapper.pl -- Server processing of an HTTP request
 - http_header.pl -- Handling HTTP headers
 - http_stream.pl -- HTTP Streams
 - http_exception.pl -- Map Prolog exceptions to HTTP errors
 - http_path.pl -- Abstract specification of HTTP server locations
 - http_dispatch.pl -- Dispatch requests in the HTTP server
 - http_host.pl -- Obtain public server location
 - http_parameters.pl -- Extract parameters (GET and POST) from HTTP requests
 - http_client.pl -- HTTP client library
 - http_multipart_plugin.pl -- Multipart form-data plugin
 - http_hook.pl -- HTTP library hooks
 - html_write.pl -- Write HTML text
 - html_quasiquotations.pl -- HTML quasi quotations
 - mimetype.pl -- Determine mime-type for a file
 - html_head.pl -- Automatic inclusion of CSS and scripts links
 - http_server_files.pl -- Serve files needed by modules from the server
 - term_html.pl -- Represent Prolog terms as HTML
 - json.pl -- Reading and writing JSON serialization
 - http_open.pl -- HTTP client library
 - http_session.pl -- HTTP Session management
 - http_openid.pl -- OpenID consumer and server library
 - yadis.pl -- Yadis discovery
 - ax.pl -- Attribute Exchange library
 - http_authenticate.pl -- Authenticate HTTP connections using 401 headers
 - http_json.pl -- HTTP JSON Plugin module
 - http_dirindex.pl -- HTTP directory listings
 - js_write.pl -- Utilities for including JavaScript
 - js_grammar.pl -- JavaScript grammar
 - http_cors.pl -- Enable CORS: Cross-Origin Resource Sharing
 - json_convert.pl -- Convert between JSON terms and Prolog application terms
 - http_server.pl -- HTTP server library
 - http_dyn_workers.pl -- Dynamically schedule HTTP workers.
 - http_server_health.pl -- HTTP Server health statistics
 - hub.pl -- Manage a hub for websockets
 - websocket.pl -- WebSocket support
 - http_log.pl -- HTTP Logging module
 - mimepack.pl -- Create a MIME message
 
 
 - http
 
- http_location_by_id(+ID, -Location) is det
 - True when Location represents the HTTP path to which the handler
with identifier ID is bound. Handler identifiers are deduced from
the http_handler/3 declaration as follows:
- Explicit id
 - 
If a term 
id(ID)appears in the option list of the handler, ID it is used and takes preference over using the predicate. - Using the handler predicate
 - 
ID matches a handler if the predicate name matches ID. The
ID may have a module qualification, e.g., 
Module:Pred 
If the handler is declared with a pattern, e.g.,
root(user/User), the location to access a particular user may be accessed using e.g.,user('Bob'). The number of arguments to the compound term must match the number of variables in the path pattern.A plain atom ID can be used to find a handler with a pattern. The returned location is the path up to the first variable, e.g.,
/user/in the example above.User code is adviced to use http_link_to_id/3 which can also add query parameters to the URL. This predicate is a helper for http_link_to_id/3.
- Errors
 - - 
existence_error(http_handler_id, Id). - See also
 - - http_link_to_id/3 and the library(http/html_write) construct
location_by_id(ID)or its abbreviation#(ID)