I was not able to grasp the concept for the topic "Response Filter" (Page 681), It says that we need to build custom response filter. My question is WHY?, The book says that, the response is sent to the client w/o going thru the filter. So writing the code for compressing the filter after chain.doFilter(request, response), is too late. But why did the response go directly to the client. If we imagine this scenario as a stack, the response should go from the filter to the client as the filter would be popped off. Or why was'nt this made to go thru the filter again...??