269. Quick overview of SWS
SWS was added in JDK 18 under JEP 408 in the jdk.httpserver
module. Basically, SWS is a minimalist implementation of a static file server capable of serving a single directory hierarchy. If the request points to a file, then SWS will serve that file. If the request points to a directory containing an index file, then the index file will be served; otherwise, the directory content will be listed.
SWS is very easy to set up and is available as a command-line tool (jwebserver
) and as a suite of programmatic API points (com.sun.net.httpserver
). SWS supports HTTP 1.1 only (not HTTPS or HTTP/2) and it can respond only to the idempotent HEAD
and GET
requests (any other request type will return a 405 or 501 HTTP code).
In addition, MIME types are set up automatically by SWS and no security mechanism (for instance, OAuth) is available.
Key abstractions of SWS
To better understand how SWS works behind the scenes, consider the following diagram:
...