/usr/lib/swipl/library/ext/http/http/http_header.pl
All Application Manual Name SummaryHelp

  • http
    • http
      • http_unix_daemon.pl
      • thread_httpd.pl
      • http_wrapper.pl -- Server processing of an HTTP request
      • http_header.pl -- Handling HTTP headers
        • serialize_reply/2
        • mime_type_encoding/2
        • http_address//0
        • status_page/3
        • 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
      • http_stream.pl -- HTTP Streams
      • http_exception.pl -- Map Prolog exceptions to HTTP errors
      • http_path.pl
      • http_dispatch.pl
      • http_host.pl -- Obtain public server location
      • http_client.pl
      • http_open.pl -- HTTP client library
      • http_parameters.pl -- Extract parameters (GET and POST) from HTTP requests
      • http_multipart_plugin.pl -- Multipart form-data plugin
      • http_hook.pl
      • html_write.pl
      • html_quasiquotations.pl
      • html_decl.pl -- HTML emitter analysis and IDE support
      • js_write.pl -- Utilities for including JavaScript
      • http_server_files.pl -- Serve files needed by modules from the server
      • hub.pl -- Manage a hub for websockets
      • websocket.pl -- WebSocket support
      • http_session.pl
      • http_cors.pl -- Enable CORS: Cross-Origin Resource Sharing
      • mimetype.pl -- Determine mime-type for a file
      • html_head.pl -- Automatic inclusion of CSS and scripts links
      • term_html.pl -- Represent Prolog terms as HTML
      • http_dyn_workers.pl
      • http_server.pl -- HTTP server library
      • http_server_health.pl -- HTTP Server health statistics
      • http_log.pl -- HTTP Logging module
      • http_redis_plugin.pl -- Hook session management to use Redis
      • http_error.pl -- Decorate uncaught HTTP exceptions with stack-trace
      • mimepack.pl -- Create a MIME message
 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 explicit requests are ignored. If on_request, chunked encoding is used if requested through the CGI header and allowed by the client. If if_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.