This week's book giveaways are in the Refactoring and Agile forums. We're giving away four copies each of Re-engineering Legacy Software and Docker in Action and have the authors on-line! See this thread and this one for details.
Originally posted in [url = http://www.wrox.com/books/1861007701.htm ] Professional SCWCD Sample Chapter, p.88-89 [/url] "The first line of the server response contains the status code (200 in this case), followed by any headers, finally the border of the response. Therefore, if the response has already been committed (or flushed) it is too late to change the status: it will have already been sent before the response body has just been committed. HTTP headers do not cause a problem as they are buffered by the servlet and returned all at once. Therefore, the status may be set after a header has been set.
I would like to ask in this connection: What are potential problems sending the wrong or null status code? Why status code is not buffered? Suppose, that HTTP headers are not buffered and what problem would it create? Does it mean that status is always sent with headers and border, while headers are constantly monitored and may be sent separately on change? [ December 17, 2002: Message edited by: G Vanin ]