http代理服务器操作说明:
一、拦截端口。
二、接受连接,创建新线程,继续监听。
三.在新线程上接受客户端发出的请求。
四、分析客户端请求,获取请求方法(如获取开机自检)、路径) http://www.xx.com/a.htm等)、http协议版本、其他报头信息等。
五、在cache上查找,是否有符合条件的目标内容。 如果有,则发送到客户机; 不然的话
六、如果cache没有匹配的目标,则连接远程服务器,发送请求,接收返回的内容发送到客户端,进行缓存。
七、退出线程。
以上步骤正确吗?
详细问题:
问题1 :步骤3 (接受客户端请求)。 用于接收网络数据的常用函数是recv。 例如,recv_len=recv(FD,data,data_len,0 ); 在这个句子中,data一般应该设置为多少? 在记录中,recv_len有200多人,也有近2000人。 另外,例如,如果将data设置为1024,当recv_len也变为1024时,是否要再次接受以进一步判断是否接受完毕?
答:根据langue的建议,取8192的值“虽然参考了一些SSL实现,但是在高性能的系统中使用8192似乎比较好”。
Q2 )在步骤3 (接受客户端请求)中,浏览器可以发送多少数据? 如“GET /abcde…HTTP/1.0rn…”。 试着进行了测试。 百度可以接收9600字节左右,而谷歌可以接收20000多个。 当然,我回了too long消息。 那么,对于浏览器提交的数据大小,有一个标准吗? 最大值是多少?
以上介绍了http代理服务器的所有操作步骤,希望对大家有帮助。
文章部分来自互联网,涉及入侵删除*