As with request bodies, HTTP responses may contain a message body. This provides additional data that the client will process. Notably, 200 OK responses to a well-formed GET request should always provide a message body containing the requested data. (If there is none, 204 No Content is a more appropriate response).
A message body is included after all headers and a double CRLF. As for requests, its length in bytes should be given with
Content-Length header. A successful response to a GET request, therefore, might look like this:
HTTP/1.1 200 OK\r\n Server: WEBrick/1.3.1\r\n Content-Length: 39\r\n ETag: 4f7e2ed02b836f60716a7a3227e2b5bda7ee12c53be282a5459d7851c2b4fdfd\r\n \r\n Nobody expects the Spanish Inquisition.