Module jdk.httpserver
com.sun.net.httpserver
包定义了一个高级API,用于构建支持HTTP和HTTPS的服务器。SimpleFileServer类实现了一个简单的仅支持HTTP的文件服务器,用于测试、开发和调试目的。通过jwebserver
工具和模块的主入口点提供了一个默认实现,也可以使用java -m jdk.httpserver
来调用。
com.sun.net.httpserver.spi
包指定了一个用于定位基于com.sun.net.httpserver
API的HTTP服务器实现的服务提供者接口(SPI)。
HTTP服务器API使用的系统属性
以下是JDK特定系统属性的列表,用于默认HTTP服务器实现在JDK中。下面的属性如果接收到一个不能解析为数字的字符串,则假定为默认值。
-
sun.net.httpserver.idleInterval
(默认值:30秒)
空闲连接保持打开的最长持续时间(以秒为单位)。此计时器具有实现特定的粒度,可能意味着空闲连接关闭的时间比指定的间隔要晚。小于或等于零的值将映射到默认设置。 -
jdk.httpserver.maxConnections
(默认值:-1)
同时打开的最大连接数。这包括活动连接和空闲连接。如果为零或负数,则不会强制执行限制。 -
sun.net.httpserver.maxIdleConnections
(默认值:200)
同时空闲连接的最大数量。如果设置为零或负值,则连接在使用后关闭。 -
sun.net.httpserver.drainAmount
(默认值:65536)
将自动读取和丢弃的字节数的最大数量,这些字节来自尚未被其HttpHandler
完全消耗的请求主体。如果剩余未读字节的数量少于此限制,则连接将放入空闲连接缓存中。否则,它将被关闭。 -
sun.net.httpserver.maxReqHeaders
(默认值:200)
请求中接受的标头字段的最大数量。如果在读取标头时超过此限制,则连接将终止并忽略请求。如果值小于或等于零,则使用默认值。 -
sun.net.httpserver.maxReqTime
(默认值:-1)
允许接收请求标头和主体的最长时间(以毫秒为单位)。实际时间是请求大小、网络速度和处理程序处理延迟的函数。小于或等于零的值表示时间不受限制。如果超过限制,则连接将终止,并且处理程序将收到一个IOException
。此计时器具有实现特定的粒度,可能意味着请求被中止的时间比指定的间隔要晚。 -
sun.net.httpserver.maxRspTime
(默认值:-1)
允许接收响应标头和主体的最长时间(以毫秒为单位)。实际时间是响应大小、网络速度和处理程序处理延迟的函数。小于或等于零的值表示时间不受限制。如果超过限制,则连接将终止,并且处理程序将收到一个IOException
。此计时器具有实现特定的粒度,可能意味着响应被中止的时间比指定的间隔要晚。 -
sun.net.httpserver.nodelay
(默认值:false)
布尔值,如果为true,则在所有传入连接上设置TCP_NODELAY
套接字选项。
- 模块图:
- 工具指南:
- jwebserver
- 自JDK版本:
- 9
-
Packages
PackageDescription提供了一个简单的高级Http服务器API,可用于构建嵌入式HTTP服务器。提供了一个可插拔的服务提供者接口,允许用其他实现替换HTTP服务器实现。 -
Services