类 HttpStaticFileServerHandler
- java.lang.Object
-
- io.netty.channel.ChannelHandlerAdapter
-
- io.netty.channel.ChannelInboundHandlerAdapter
-
- io.netty.channel.SimpleChannelInboundHandler<HttpRequest>
-
- xyz.xiezc.ioc.starter.starter.web.netty.file.HttpStaticFileServerHandler
-
- 所有已实现的接口:
io.netty.channel.ChannelHandler,io.netty.channel.ChannelInboundHandler
@Sharable public class HttpStaticFileServerHandler extends io.netty.channel.SimpleChannelInboundHandler<HttpRequest>
A simple handler that serves incoming HTTP requests to send their respective HTTP responses. It also implements'If-Modified-Since'header to take advantage of browser cache, as described in RFC 2616.How Browser Caching Works
Web browser caching works with HTTP headers as illustrated by the following sample:
- Request #1 returns the content of
/file1.txt. - Contents of
/file1.txtis cached by the browser. - Request #2 for
/file1.txtdoes not return the contents of the file again. Rather, a 304 Not Modified is returned. This tells the browser to use the contents stored in its cache. - The server knows the file has not been modified because the
If-Modified-Sincedate is the same as the file's last modified date.
Request #1 Headers =================== GET /file1.txt HTTP/1.1 Response #1 Headers =================== HTTP/1.1 200 OK Date: Tue, 01 Mar 2011 22:44:26 GMT Last-Modified: Wed, 30 Jun 2010 21:36:48 GMT Expires: Tue, 01 Mar 2012 22:44:26 GMT Cache-Control: private, max-age=31536000 Request #2 Headers =================== GET /file1.txt HTTP/1.1 If-Modified-Since: Wed, 30 Jun 2010 21:36:48 GMT Response #2 Headers =================== HTTP/1.1 304 Not Modified Date: Tue, 01 Mar 2011 22:44:28 GMT
-
-
字段概要
字段 修饰符和类型 字段 说明 static DateTimeFormatterdateTimeFormatterstatic intHTTP_CACHE_SECONDSstatic StringHTTP_DATE_FORMATstatic StringHTTP_DATE_GMT_TIMEZONEStringstaticPath
-
构造器概要
构造器 构造器 说明 HttpStaticFileServerHandler(String staticPath)
-
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 voidchannelRead0(io.netty.channel.ChannelHandlerContext ctx, HttpRequest request)voidexceptionCaught(io.netty.channel.ChannelHandlerContext ctx, Throwable cause)voidhandle(io.netty.channel.ChannelHandlerContext ctx, HttpRequest httpRequest)-
从类继承的方法 io.netty.channel.ChannelInboundHandlerAdapter
channelActive, channelInactive, channelReadComplete, channelRegistered, channelUnregistered, channelWritabilityChanged, userEventTriggered
-
从类继承的方法 io.netty.channel.ChannelHandlerAdapter
ensureNotSharable, handlerAdded, handlerRemoved, isSharable
-
-
-
-
字段详细资料
-
dateTimeFormatter
public static final DateTimeFormatter dateTimeFormatter
-
HTTP_CACHE_SECONDS
public static final int HTTP_CACHE_SECONDS
- 另请参阅:
- 常量字段值
-
staticPath
public String staticPath
-
-
构造器详细资料
-
HttpStaticFileServerHandler
public HttpStaticFileServerHandler(String staticPath)
-
-
方法详细资料
-
channelRead0
public void channelRead0(io.netty.channel.ChannelHandlerContext ctx, HttpRequest request) throws Exception- 指定者:
channelRead0在类中io.netty.channel.SimpleChannelInboundHandler<HttpRequest>- 抛出:
Exception
-
handle
public void handle(io.netty.channel.ChannelHandlerContext ctx, HttpRequest httpRequest)
-
exceptionCaught
public void exceptionCaught(io.netty.channel.ChannelHandlerContext ctx, Throwable cause)- 指定者:
exceptionCaught在接口中io.netty.channel.ChannelHandler- 指定者:
exceptionCaught在接口中io.netty.channel.ChannelInboundHandler- 覆盖:
exceptionCaught在类中io.netty.channel.ChannelInboundHandlerAdapter
-
-