acl/lib_protocol/changes.txt

234 lines
8.2 KiB
Plaintext
Raw Normal View History

240) 2013.7.30
240.1) warning: http_hdr_req.c::http_hdr_req_new() <20>ڲ<EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD>ֲ߳̾<CCBE><D6B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> valgrind <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>ڴ<EFBFBD>й¶<D0B9><C2B6><EFBFBD>棬ͨ<E6A3AC><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><DFB3>н<EFBFBD><D0BD><EFBFBD><EFBFBD>ͷ<EFBFBD>ȥ<EFBFBD><C8A5><EFBFBD>˴˾<CBB4><CBBE><EFBFBD>
239) 2013.7.23
239.1) bugfix: http_hdr_req.c->http_hdr_req_create() <20><><EFBFBD><EFBFBD> URL ʱ<><CAB1><EFBFBD><EFBFBD>
238) 2013.5.22
238.1) performance: http Э<><D0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> HTTP ͷ<>Ľ<EFBFBD><C4BD><EFBFBD><EFBFBD>ٶȣ<D9B6><C8A3><EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF> 5 <20><>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><EFBFBD> 17 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
238.2) bugfix: http Э<><D0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> http_hdr_reset <20><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD> hh <20><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>Ϸ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
237) 2013.3.24
237.1) bugfix: http_hdr_req.c->__strip_url_path <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD>һ<EFBFBD><D2BB> / <20><>ʧ
236) 2012.12.30
236.1) feature: smtp_client ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> smtp_printf <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3B7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
235) 2012.12.17
235.1) feature: smtp Э<><D0AD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> smtp_greet <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD>
smtp_helo/smtp_ehlo
234) 2012.11.7
334.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> smtp Э<><D0AD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7>
233) 2012.7.10
233.1) compile: ֧<><D6A7> VC2003 <20><>Ԥ<EFBFBD><D4A4><EFBFBD><EFBFBD>ܣ<EFBFBD><DCA3>Ӷ<EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD>ٶȸ<D9B6><C8B8><EFBFBD>
233) 2012.4.29
233.1) bugfix: <20><>Ϊ acl_aio_request_timer <20><>ʱ<EFBFBD>䵥λ<E4B5A5><CEBB>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ΢<CEAA>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>޸<EFBFBD> icmp_chat_aio.c <20>е<EFBFBD>ʱ<EFBFBD>䵥λ
232) 2012.4.9
232.1) ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD>Ӻ<EFBFBD><D3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ׺<C7B0><D7BA>__attribute__((format(printf,3,4))) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>β<EFBFBD><EFBFBD><EFBFBD>
231) 2011.6.21
231.1) bugfix: http_util.c, <20><> http_util_req_new <20>е<EFBFBD> http_hdr_req_host
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> NULL <20><EFBFBD><E1B5BC> http_util_req_new <20><><EFBFBD><EFBFBD> core
231.2) http_hdr_req.c: http_hdr_req_create <20>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD>ȡ Host <20>ֶεķ<CEB5>ʽ
230) 2011.6.15
230.1) http_hdr_req.c: http_hdr_req_create() <20>γɵ<CEB3> HTTP <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽΪ<CABD><CEAA>
{METHOD} http://xxx.xxx.xxx/xxx?xxx HTTP/1.x
<EFBFBD><EFBFBD><EFBFBD>ø<EFBFBD>ʽ tomcat <20><><EFBFBD><EFBFBD>ʶ<EFBFBD><CAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD>Ϊ:
{METHOD} /xxx?xxx HTTP/1.x
229) 2011.4.18
229.1) performance: http_hdr_req.c, http_hdr_res.c <20><><EFBFBD><EFBFBD><EFBFBD>ֲ߳̾<CCBE><D6B2>ڴ<EFBFBD><DAB4>صĻ<D8B5><C4BB><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD>ʹ<EFBFBD><EFBFBD> HTTP ͷ<><CDB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻҪ<D6BB>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD><EFBFBD>ʼʱ<CABC><CAB1><EFBFBD><EFBFBD>һ<EFBFBD><D2BB> http_hdr_cache <20><><EFBFBD><EFBFBD>
228) 2011.4.11
228.1) performance: http_req_body_get_sync(), http_res_body_get_sync() <20>ڲ<EFBFBD>
<EFBFBD><EFBFBD> ctx <20><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ׼<CEAA><D7BC><EFBFBD><EFBFBD>Ϊһ<CEAA><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڻ<EFBFBD>
<EFBFBD>ж<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Իᵼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> HTTP <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD><C2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD><EFBFBD>½<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڽ<EFBFBD> ctx <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD>Ϊ<EFBFBD><CEAA>ÿһ<C3BF><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ĻỰ<C4BB><E1BBB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ׼
227) 2010.11.23
227.1) <20>޸<EFBFBD><DEB8><EFBFBD>һЩ<D2BB><D0A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
227.2) bugfix: http_hdr.c, http_hdr_entry_value <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> off <20><>־λ<D6BE><CEBB>
<EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD>
226) 2010.11.22
226.1) bugfix: http_hdr_req.c
http_hdr_req_cookies_parse() <20>е<EFBFBD> cookies_table <20>жϷ<D0B6>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>
225) 2010.2.2
225.1) http_chat_asyn.c: body_can_read() <20>е<EFBFBD><D0B5>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD> -1 ʱ<><CAB1>Ҳֱ<D2B2>ӷ<EFBFBD><D3B7><EFBFBD> -1
224) 2010.1.22
224.1) performance: http_chat_async.c, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB2BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9>̣<EFBFBD><CCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD>
223) 2010.1.11
223.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> http_util.c, <20><><EFBFBD>Էdz<D4B7><C7B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9> http Э<><D0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD>
223.2) samples: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> http/ Ŀ¼<C4BF>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
222) 2010.1.8
222.1) http_chat_async.c: ȥ<><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õĻص<C4BB><D8B5><EFBFBD><EFBFBD><EFBFBD>
221) 2010.1.1
221.1) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>HTTPЭ<50><D0AD><EFBFBD><EFBFBD><ECB2BD><EFBFBD>Ľӿڣ<D3BF>Ŀǰ<C4BF><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1B9A9><EFBFBD>ֶ<EFBFBD>HTTPͷ<50>ķ<EFBFBD>ʽ, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD>HTTPͷ<EFBFBD>ķ<EFBFBD>ʽ
220) 2009.12.30 - 12.31
220.1) http_chat_async.c: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB2BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>, ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD>
ͬʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>ӷ<EFBFBD>ʽ<EFBFBD><CABD><EFBFBD>Ӷ<EFBFBD><D3B6>Ļص<C4BB><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD>ֻ<EFBFBD><D6BB>ע<EFBFBD><D7A2>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD> acl_aio <20>Ŀ<EFBFBD><C4BF><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5>ķ<EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD>
<EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
220.2) http_chat_async.c: <20><EFBFBD><E1B9A9>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><ECB2BD><EFBFBD><EFBFBD>ģʽ
219) 2009.12.16
219.1) lib_http_struct.h: ȥ<><C8A5><EFBFBD><EFBFBD> HTTP_HDR_RES <20><><EFBFBD><EFBFBD><EFBFBD>õij<C3B5>Ա<EFBFBD>ֶ<EFBFBD>
218) 2009.12.14
218.1) http_hdr_req.c: <20><> http_hdr_req_redirect <20><><EFBFBD><EFBFBD>Ϊ http_hdr_req_rewrite,
<EFBFBD><EFBFBD> http_hdr_req_redirect2 <20><><EFBFBD><EFBFBD>Ϊ http_hdr_req_rewrite2
218.2) http_hdr_req.c: http_hdr_req_url() <20><>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> __thread <20><>ʽʹ<CABD><CAB9><EFBFBD>߳<EFBFBD>
<EFBFBD>ֲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ acl_pthread_tls_get() <20><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> lib_protocol <20>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߶<EFBFBD>̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD>⶯̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>ֲ߳̾<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
217) 2009.12.4
217.1) feature: http_hdr.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> http_hdr_entry_replace2()/5 ֧<><D6A7> HTTP ͷ<><CDB7>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
216) 2009.12.3
216.1) http_hdr.c: <20>ڷ<EFBFBD><DAB7><EFBFBD> keep-alive <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> chunked <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD>,
<EFBFBD><EFBFBD>Ϊ HTTP1.1 <20><> chunked <20><><EFBFBD><EFBFBD>ģʽ<C4A3><CABD>, <20><><EFBFBD>Բ<EFBFBD><D4B2><EFBFBD><EFBFBD><EFBFBD> Connection: keep-alive <20><><EFBFBD>ݼ<EFBFBD>
<EFBFBD>ɱ<EFBFBD><EFBFBD>ֳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB> Connection: keep-alive <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> chunked <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ֳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
215) 2009.11.26
215.1) http: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD>, <20>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>
215.2) http_hdr_req.c: <20><><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD><CBBA><EFBFBD> http_hdr_req_url()/1 <20><><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>URL
214) 2009.11.11
214.1) bugfix: http_hdr_req.c: __add_request_item() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>й¶<D0B9><C2B6><EFBFBD><EFBFBD>
213) 2009.11.10
213.1) http_hdr_entry_value, http_hdr_entry <20><><EFBFBD><EFBFBD>ֵȥ<D6B5><C8A5><EFBFBD><EFBFBD> const <20><><EFBFBD><EFBFBD>
212) 2009.6.22
212.1) Makefile: <20><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8> make all_lib <20>ϲ<EFBFBD> lib_acl.a <20><> lib_protocol.a,
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD> lib_protocol.a ʱ<>Ͳ<EFBFBD><CDB2><EFBFBD><EFBFBD>ٰ<EFBFBD><D9B0><EFBFBD> lib_acl.a <20><>
211) 2009.4.9
211.1) http Э<><D0AD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>ͨ<EFBFBD>Ų<EFBFBD><C5B2>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʺϵ<CABA><CFB5><EFBFBD><EFBFBD><EFBFBD>ʹͬ<CAB9><CDAC>ͨ<EFBFBD>ſ<EFBFBD><C5BF><EFBFBD><EFBFBD>첽ͨ<ECB2BD>ſ<EFBFBD><C5BF><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Щ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>
211.2) imcp Э<><D0AD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD> icmp_stat_host()/2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ṹ ICMP_HOST <20><><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD>
Ϊ<EFBFBD>ⲿֱ<EFBFBD>ӿ<EFBFBD><EFBFBD>ã<EFBFBD><EFBFBD>Ӷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>õ<EFBFBD>ʹ<EFBFBD><EFBFBD>
211.3) imcp <20>е<EFBFBD> ping <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><E4BEAB><EFBFBD>ϸ<EFBFBD>ϸ<EFBFBD><CFB8>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD>ACL<43><4C><EFBFBD><EFBFBD>win32ƽ̨<C6BD>µ<EFBFBD>
gettimeofday()/2 <20>ľ<EFBFBD><C4BE>ȸ<EFBFBD>ϸ
210) 2009.4.8
210.1) ʹHTTP<54>첽ͨ<ECB2BD>ſ<EFBFBD><C5BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD>ͬʱȥ<CAB1><C8A5><EFBFBD><EFBFBD>HTTPͬ<50><CDAC>ͨ<EFBFBD>ſ<EFBFBD><C5BF>оɵ<D0BE>ͨ<EFBFBD><CDA8>ģʽ
209) 2009.4.3
209.1) <20><>Ϊ aio <20><><EFBFBD><EFBFBD><EFBFBD>޸ģ<DEB8><C4A3><EFBFBD><EFBFBD>Զ<EFBFBD>HTTP<54>첽ͨ<ECB2BD>Ų<EFBFBD><C5B2>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
208) 2009.3.6
208.1) feature: http_tmpl.c, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1xx, 2xx, 3xx <20><><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
207) 2009.2.26
207.1) <20><>Ϊ lib_acl <20>е<EFBFBD> aio ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һЩ<D2BB>µĹ<C2B5><C4B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD><D4A3><EFBFBD><EFBFBD>޸<EFBFBD><DEB8><EFBFBD>
http_chat_async.c ģ<>ʹ֮<CAB9><D6AE><EFBFBD><EFBFBD><EFBFBD>첽IO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮ǰ<D6AE><C7B0>IO<49><4F><EFBFBD><EFBFBD>
206) 2009.2.17
206.1) feature: http/http_tmpl.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> http_tmpl_title()/1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD><DAB8><EFBFBD>
HTTP<EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
205) 2009.1.5
205.1) comment: icmp/ <20><>ͷ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> JavaDoc <20><>ʽ<EFBFBD><CABD>ע<EFBFBD><D7A2>
205.2) icmp: <20>޸ĸ<DEB8><C4B8><EFBFBD><EFBFBD>ӿڵĶ<DAB5><C4B6>ʽ
19) 2009.1.1-2009.1.3
19.1) <20><><EFBFBD><EFBFBD><EFBFBD>˹<EFBFBD><CBB9><EFBFBD>Ŀ¼(vc6, vc2003, vc2008)<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼ src/http, src/icmp,
include/http, include/icmp, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͳһ<CDB3><D2BB>Э<EFBFBD><D0AD>֧<EFBFBD><D6A7>ͷ<EFBFBD>ļ<EFBFBD> lib_protocol.h
19.2) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ICMP Э<><D0AD><EFBFBD><EFBFBD>ʵ<EFBFBD>֣<EFBFBD>Ŀǰ<C4BF><C7B0>֧<EFBFBD><D6A7> ping <20><><EFBFBD><EFBFBD>
18) 2008.12.4
18.1) feature: http_chat_sync.c, <20><><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD><CBB6><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>Ԥ<EFBFBD><D4A4><EFBFBD><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߶<EFBFBD><DFB6><EFBFBD>Ч<EFBFBD>ʣ<EFBFBD>
ͬʱ<EFBFBD><EFBFBD>˿<EFBFBD><EFBFBD>ƽӿڣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD>ʱ<EFBFBD>Ƿ<EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
17) 2008.11.21
17.1) feature: http_hdr_req.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> http_hdr_req_redirect2() <20>ӿڣ<D3BF><DAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ԭ<EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ض<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ
16) 2008.10.23
16.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> http_hdr_req_range <20><> http_hdr_res_range <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƫ<EFBFBD><C6AB>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
15) 2008.10.11
15.1) <20><><EFBFBD>½<EFBFBD>HTTPЭ<50><D0AD><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
14) 2008.10.10
14.1) bugfix: <20>޸<EFBFBD><DEB8><EFBFBD><EFBFBD>й<EFBFBD>sscanf <20><><EFBFBD><EFBFBD>64λ<34><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>BUG<55><47><EFBFBD><EFBFBD>Ӱ<EFBFBD><D3B0><EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD>
http_chat_sync.c: chunked_hdr_get2(), http_chat_async: chunked_hdr_get_ready()
13) 2008.10.9
13.1) workaround: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>VC6<43><36>VC2003<30><33><EFBFBD><EFBFBD><EBBBB7><EFBFBD>µĹ<C2B5><C4B9><EFBFBD><EFBFBD><EFBFBD>֯<EFBFBD><D6AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD>
lib_http.dll, lib_http.lib, lib_http_d.dll, lib_http_d.lib <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD>
lib_http_vc6.lib, lib_http_vc6d.lib, lib_http_vc2003.lib, lib_http_vc2003d.lib
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>VC2003<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>VC6<EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>
12) 2008.10.7
12.1) bugfix: HTTP_HDR <20><EFBFBD><E1B9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1>chat_ctx<74><78>chat_free_ctx_fn<66><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
http_hdr_clone() ʱ<><CAB1>Ӧ<EFBFBD>ý<EFBFBD><C3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD>գ<EFBFBD><D5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ͬһ<CDAC>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɴ<EFBFBD><C9B4><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>˱<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>HTTP<EFBFBD>첽ͨ<EFBFBD><EFBFBD>ʱͨ<EFBFBD><EFBFBD>ACL_VSTREAM <20><>
acl_vstream_add_close_handle() <20><><EFBFBD>ص<EFBFBD><D8B5>ͷź<CDB7><C5BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2A3AC><EFBFBD><EFBFBD>HTTPͬ<50><CDAC>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD>
acl_vstream_add_close_handle() ģʽ<C4A3><CABD><EFBFBD>ص<EFBFBD><D8B5>ͷź<CDB7><C5BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>ij<EFBFBD><C4B3><EFBFBD><EFBFBD>첽ͨ<ECB2BD>ŵ<EFBFBD><C5B5>ͷ<EFBFBD>ģʽ
11) 2008.10.6
11.1) compile bugfix: <20>ڱ<EFBFBD><DAB1>붯̬<EBB6AF><CCAC>ʱû<CAB1>н<EFBFBD>http_hdr_res_get_sync<6E><63><EFBFBD><EFBFBD>
10) 2008.9.29
10.1) feature: <20>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD><C4BC>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E5A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> HTTP_API <20><><EFBFBD><EFBFBD><E5A3AC><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>DLL<EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>Է<EFBFBD><D4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9> HTTP <20><EFBFBD><E2A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>DLL<4C><4C>ʽʹ<CABD><CAB9>
HTTP <20><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>Ԥ<EFBFBD><D4A4><EFBFBD><EFBFBD><EFBFBD>꣺HTTP_DLL
9) 2008.9
9.1) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> http_chat_async.c <20>еIJ<D0B5><C4B2>ֽӿ<D6BD>
8) 2008.7.23
8.1) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20><>Ѷ<EFBFBD>޸ĵ<DEB8>APACHE<48><45><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2A3AC><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD>ʶ<EFBFBD><CAB6>HTTP<54><50><EFBFBD><EFBFBD>ͷ<EFBFBD>ֶβ<D6B6>ȡ<EFBFBD><C8A1>ʱ<EFBFBD>ر<EFBFBD>
<EFBFBD>ķ<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD>ڹر<EFBFBD>ijһHTTP<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ý<EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD>滻Ϊ "_" <20>ķ<EFBFBD>ʽ(cresondo
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>QQ<51>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ijһ<C4B3><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
7) 2008.7.17
7.1) safety: http_chat_async.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ctx_nested_check() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>رջ<D8B1><D5BB><EFBFBD>ʱ
<EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƕ<EFBFBD>׵<EFBFBD><EFBFBD><EFBFBD>
6) 2008.3.19
6.1) feature: ֧<><D6A7> content-length <20><><EFBFBD><EFBFBD> unsigned int <20><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
5) 2008.3.10
5.1) feature: http_hdr_req.c, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>http_hdr_req_redirect<63><74><EFBFBD>Ա<EFBFBD>Ӧ<EFBFBD>ý<EFBFBD><C3BD><EFBFBD><EFBFBD>ض<EFBFBD><D8B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
4) 2008.3.6
4.1) bugfix: http_hdr_req.c, <20><><EFBFBD>ɿͻ<C9BF><CDBB>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>л<EFBFBD>ȡ Host <20>ֶ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󷽷<EFBFBD>Ϊ
CONNECT<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD>HOST<EFBFBD>ֶΣ<EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>HOST<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>Գ<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD> CONNECT ip[domain]:port HTTP/1.1 <20><><EFBFBD><EFBFBD> ip[domain] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>HOST<53><54>Ϣ
url<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
3) 2008.3.2
3.1) features: http_chat_sync.c, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵĺ<DDB5><C4BA><EFBFBD><EFBFBD>ӿ<EFBFBD>
2) 2008.2.13
2.1) features: add http_hdr_clone() in http_hdr.c, add http_hdr_res_clone()
in http_hdr_res.c, add http_hdr_req_clone() in http_hdr_req.c
1) 2008.1.8
1.1) bugfix: http_hdr_req.c->__add_request_item<65><6D>__add_cookie_item<65><6D><EFBFBD>жԱ<D0B6><D4B1><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>Ĵ洢ԭ<EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>й©<EFBFBD><EFBFBD>