public class Http2StaticFileServerHandler extends ChannelDuplexHandler
'If-Modified-Since' header to
take advantage of browser cache, as described in
RFC 2616.
Web browser caching works with HTTP headers as illustrated by the following sample:
/file1.txt./file1.txt is cached by the browser./file1.txt does 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.If-Modified-Since date 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
ChannelHandler.Sharable| 限定符和类型 | 字段和说明 |
|---|---|
static int |
HTTP_CACHE_SECONDS |
static java.lang.String |
HTTP_DATE_FORMAT |
static java.lang.String |
HTTP_DATE_GMT_TIMEZONE |
| 构造器和说明 |
|---|
Http2StaticFileServerHandler() |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
channelRead(ChannelHandlerContext ctx,
java.lang.Object msg)
Calls
ChannelHandlerContext.fireChannelRead(Object) to forward
to the next ChannelInboundHandler in the ChannelPipeline. |
void |
exceptionCaught(ChannelHandlerContext ctx,
java.lang.Throwable cause)
Calls
ChannelHandlerContext.fireExceptionCaught(Throwable) to forward
to the next ChannelHandler in the ChannelPipeline. |
bind, close, connect, deregister, disconnect, flush, read, writechannelActive, channelInactive, channelReadComplete, channelRegistered, channelUnregistered, channelWritabilityChanged, userEventTriggeredensureNotSharable, handlerAdded, handlerRemoved, isSharableclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waithandlerAdded, handlerRemovedpublic static final java.lang.String HTTP_DATE_FORMAT
public static final java.lang.String HTTP_DATE_GMT_TIMEZONE
public static final int HTTP_CACHE_SECONDS
public void channelRead(ChannelHandlerContext ctx, java.lang.Object msg) throws java.lang.Exception
ChannelInboundHandlerAdapterChannelHandlerContext.fireChannelRead(Object) to forward
to the next ChannelInboundHandler in the ChannelPipeline.
Sub-classes may override this method to change behavior.channelRead 在接口中 ChannelInboundHandlerchannelRead 在类中 ChannelInboundHandlerAdapterjava.lang.Exceptionpublic void exceptionCaught(ChannelHandlerContext ctx, java.lang.Throwable cause)
ChannelInboundHandlerAdapterChannelHandlerContext.fireExceptionCaught(Throwable) to forward
to the next ChannelHandler in the ChannelPipeline.
Sub-classes may override this method to change behavior.exceptionCaught 在接口中 ChannelHandlerexceptionCaught 在接口中 ChannelInboundHandlerexceptionCaught 在类中 ChannelInboundHandlerAdapter