I know that, <a href="http://m-hewedy.blogspot.com/2010/05/how-to-know-socket-has-end-of-http.html" rel="nofollow">the http clients sends</a>
0x13 bytes to inform the http server that the request data has finished.
But how the server informs the http clients that the response data has finished? (it sends
No. HTTP Clients do not send CRLF to the server to indicate that the request is complete, and servers do not send a particular byte sequence to the client to indicate completion. You should read this document: <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.4" rel="nofollow">http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.4</a> to understand how clients and servers are able to determine when a request or response is complete. The short summary is that the Content-Length header, Chunked Transfer-encoding terminator, or TCP/IP connection closure are all used as signals.