Class HttpStaticFileServerHandler
java.lang.Object
org.jboss.netty.channel.SimpleChannelUpstreamHandler
org.jboss.netty.example.http.file.HttpStaticFileServerHandler
- All Implemented Interfaces:
ChannelHandler,ChannelUpstreamHandler
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 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
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.jboss.netty.channel.ChannelHandler
ChannelHandler.Sharable -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidInvoked when an exception was raised by an I/O thread or aChannelHandler.voidInvoked when a message object (e.g:ChannelBuffer) was received from a remote peer.Methods inherited from class org.jboss.netty.channel.SimpleChannelUpstreamHandler
channelBound, channelClosed, channelConnected, channelDisconnected, channelInterestChanged, channelOpen, channelUnbound, childChannelClosed, childChannelOpen, handleUpstream, writeComplete
-
Constructor Details
-
HttpStaticFileServerHandler
public HttpStaticFileServerHandler()
-
-
Method Details
-
messageReceived
Description copied from class:SimpleChannelUpstreamHandlerInvoked when a message object (e.g:ChannelBuffer) was received from a remote peer.- Overrides:
messageReceivedin classSimpleChannelUpstreamHandler- Throws:
Exception
-
exceptionCaught
Description copied from class:SimpleChannelUpstreamHandlerInvoked when an exception was raised by an I/O thread or aChannelHandler.- Overrides:
exceptionCaughtin classSimpleChannelUpstreamHandler
-