- 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_read_request/2
- http_read_reply_header/2
- http_reply/2
- http_reply/3
- http_reply/4
- http_reply/5
- http_reply/6
- http_status_reply/4
- http_status_reply/5
- http_status_reply/6
- http_join_headers/3
- http_update_encoding/3
- http_update_connection/4
- http_update_transfer/4
- http_post_data/3
- http_reply_header/3
- http_parse_header_value/3
- http_timestamp/2
- http_read_header/2
- http_parse_header/2
- serialize_reply/2
- mime_type_encoding/2
- http_address//0
- status_page/3
- http_stream.pl -- HTTP Streams
- http_exception.pl
- http_path.pl
- http_dispatch.pl -- Dispatch requests in the HTTP server
- http_host.pl
- 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_update_transfer(+Request, +CGIHeader, -Transfer, -Header)
- Decide on the transfer encoding from the Request and the CGI
header. The behaviour depends on the setting
http:chunked_transfer. If
never
, even explitic requests are ignored. Ifon_request
, chunked encoding is used if requested through the CGI header and allowed by the client. Ifif_possible
, chunked encoding is used whenever the client allows for it, which is interpreted as the client supporting HTTP 1.1 or higher.Chunked encoding is more space efficient and allows the client to start processing partial results. The drawback is that errors lead to incomplete pages instead of a nicely formatted complete page.