diff --git a/src/jdk.httpserver/share/classes/module-info.java b/src/jdk.httpserver/share/classes/module-info.java index d7ddf8eb303..46dbb6ea64f 100644 --- a/src/jdk.httpserver/share/classes/module-info.java +++ b/src/jdk.httpserver/share/classes/module-info.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2021, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2022, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -37,6 +37,59 @@ *
The {@link com.sun.net.httpserver.spi} package specifies a Service Provider * Interface (SPI) for locating HTTP server implementations based on the * {@code com.sun.net.httpserver} API. + *
+ * System properties used by the HTTP server API + *
+ * The following is a list of JDK specific system properties used by the default HTTP + * server implementation in the JDK. Any properties below that take a numeric value + * assume the default value if given a string that does not parse as a number. + *
{@systemProperty sun.net.httpserver.idleInterval} (default: 30 sec)
+ * Maximum duration in seconds which an idle connection is kept open. This timer
+ * has an implementation specific granularity that may mean that idle connections are
+ * closed later than the specified interval. Values less than or equal to zero are mapped
+ * to the default setting.
+ *
{@systemProperty jdk.httpserver.maxConnections} (default: -1)
+ * The maximum number of open connections at a time. This includes active and idle connections.
+ * If zero or negative, then no limit is enforced.
+ *
{@systemProperty sun.net.httpserver.maxIdleConnections} (default: 200)
+ * The maximum number of idle connections at a time. If set to zero or a negative value
+ * then connections are closed after use.
+ *
{@systemProperty sun.net.httpserver.drainAmount} (default: 65536)
+ * The maximum number of bytes that will be automatically read and discarded from a
+ * request body that has not been completely consumed by its
+ * {@link com.sun.net.httpserver.HttpHandler HttpHandler}. If the number of remaining
+ * unread bytes are less than this limit then the connection will be put in the idle connection
+ * cache. If not, then it will be closed.
+ *
{@systemProperty sun.net.httpserver.maxReqHeaders} (default: 200)
+ * The maxiumum number of header fields accepted in a request. If this limit is exceeded
+ * while the headers are being read, then the connection is terminated and the request ignored.
+ * If the value is less than or equal to zero, then the default value is used.
+ *
{@systemProperty sun.net.httpserver.maxReqTime} (default: -1)
+ * The maximum time in milliseconds allowed to receive a request headers and body.
+ * In practice, the actual time is a function of request size, network speed, and handler
+ * processing delays. A value less than or equal to zero means the time is not limited.
+ * If the limit is exceeded then the connection is terminated and the handler will receive a
+ * {@link java.io.IOException}. This timer has an implementation specific granularity
+ * that may mean requests are aborted later than the specified interval.
+ *
{@systemProperty sun.net.httpserver.maxRspTime} (default: -1)
+ * The maximum time in milliseconds allowed to receive a response headers and body.
+ * In practice, the actual time is a function of response size, network speed, and handler
+ * processing delays. A value less than or equal to zero means the time is not limited.
+ * If the limit is exceeded then the connection is terminated and the handler will receive a
+ * {@link java.io.IOException}. This timer has an implementation specific granularity
+ * that may mean responses are aborted later than the specified interval.
+ *
{@systemProperty sun.net.httpserver.nodelay} (default: false)
+ * Boolean value, which if true, sets the {@link java.net.StandardSocketOptions#TCP_NODELAY TCP_NODELAY}
+ * socket option on all incoming connections.
+ *