一般当浏览器发送完 Request 之后就会半关闭 socket ,这会使得服务器中read()返回 0 ,服务器就知道 Request 已经读完了,然后根据 Request 可以生成 Response ,然后发回浏览器去(貌似是这样的吧?)
如果 Request 中有 Keep-alive 的话,浏览器就不会关闭 socket ,那么服务器中的read()将会阻塞(阻塞状态)或者返回负值(非阻塞状态)。在这种情况下,服务器如果得知 Request 已经发送完了呢?是 Request 里面有长度信息吗?
本人对于 HTTP 理解不是很透彻,望大神答疑解惑。