前面说到了mochiweb_request:ok/2这个函数,接下来说下里面的response/3这个函数
Length是读写设备读写数据的字节数长度,
Response是调用start_response_length/2函数
由注释可以看出start_response_length是响应状态码、响应头部、服务器和日期
下面判断一下请求方法是不是'HEAD',如果不是则调用mochiweb_io:iodevice_stream/2从文件中读取数据并发送给浏览器
最后我们回到mochiweb_http:headers/5函数的call_body那里,下面是?MODULE:after_response(Body, Req);
这函数大意是根据HTTP请求信息决定是简单的关闭Socket连接,还是清理一下Req对象并保持连接