acl/lib_protocol/changes.txt

326 lines
12 KiB
Plaintext
Raw Normal View History

2014-11-19 00:25:21 +08:00
<EFBFBD>޸<EFBFBD><EFBFBD><EFBFBD>ʷ<EFBFBD>б<EFBFBD><EFBFBD><EFBFBD>
2016-05-10 21:58:47 +08:00
------------------------------------------------------------------------
261) 2017.8.15
261.1) bugfix: icmp_stream.c <20>к<EFBFBD><D0BA><EFBFBD> icmp_read Ӧ<><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD> read_ready = 0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>첽 IO ģʽ<C4A3><CABD> event <20>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õĸñ<C4B8>־λ<D6BE><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> IO <20><>ѭ<EFBFBD><D1AD>
261.2) feature: icmp_chat.c <20>н<EFBFBD> ICMP_CHAT::tid <20><>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD> ID <20><>Ϊԭ<CEAA>Ӽ<EFBFBD>ֵ<EFBFBD><D6B5>
<EFBFBD><EFBFBD>֧<EFBFBD><EFBFBD>Э<EFBFBD><EFBFBD>ģʽ<EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>
261.3) feature: <20><> ICMP_HOST::delay <20>ĵ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>
261.4) compatibility: icmp_pkt.c <20><><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD> ping <20><><EFBFBD>ݰ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>غ<EFBFBD><D8BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0<CEAA><30>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Щ<EFBFBD>ƶ<EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2016-05-10 21:58:47 +08:00
260) 2016.5.10
260.1) feature: http_hdr_res.c <20>еĺ<D0B5><C4BA><EFBFBD> http_hdr_res_parse ȡ<><C8A1><EFBFBD>˶<EFBFBD> http_status
2016-05-10 21:58:47 +08:00
<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>
2015-11-09 22:11:21 +08:00
------------------------------------------------------------------------
259) 2016.2.28
259.1) bugfix: http_hdr_req.c <20>з<EFBFBD><D0B7><EFBFBD> url_part <20><><EFBFBD><EFBFBD>
258) 2016.2.15
258.1) bugfix: http_hdr_req.c <20>з<EFBFBD><D0B7><EFBFBD> url_part <20><><EFBFBD><EFBFBD>
2015-11-09 22:11:21 +08:00
257) 2015.11.6
257.1) bugfix: http_hdr_res.c/http_hdr_req.c <20><><EFBFBD>п<EFBFBD><D0BF>ܻ<EFBFBD><DCBB><EFBFBD>Ϊ main_cache_free
<EFBFBD>ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> http_hdr_res_free/http_hdr_req_free ֮ǰ<D6AE><C7B0><EFBFBD>ö<EFBFBD><C3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>ͻ
2014-11-19 00:25:21 +08:00
------------------------------------------------------------------------
256) 2015.7.23
256.1) compile: ȥ<><C8A5><EFBFBD><EFBFBD> -pedantic <20><><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EEA3AC>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD> __FUNCTION__ <20><>ͻ
255) 2015.7.2
255.1) bugfix: http_hdr.c <20>еĺ<D0B5><C4BA><EFBFBD> http_hdr_print/http_hdr_fprint/http_hdr_sprint
Ӧ<EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> HTTP <20><><EFBFBD>ֶ<EFBFBD>
254) 2015.6.28
254.1) compile: ֧<><D6A7><EFBFBD><EFBFBD> VC x64 <20><><EFBFBD><EFBFBD><EFBFBD>±<EFBFBD><C2B1><EFBFBD>ʹ<EFBFBD><CAB9>
2015-01-30 23:08:42 +08:00
253) 2015.1.30
253.1) feature: <20>ڽ<EFBFBD><DABD><EFBFBD> HTTP <20><><EFBFBD><EFBFBD>ͷ<EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD> http_hdr_req_line_parse <20>У<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
HTTP <20><><EFBFBD>󷽷<EFBFBD><F3B7BDB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD><C6A3>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD><EFBFBD>չ<EFBFBD>Լ<EFBFBD><D4BC><EFBFBD> HTTP <20><><EFBFBD>󷽷<EFBFBD>
252) 2015.1.1
252.1) compile: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̿<EFBFBD><CCBF><EFBFBD>ʹ<EFBFBD><CAB9> clang/clang++ <20><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>
------------------------------------------------------------------------
251) 2014.11.27
251.1) bugfix: 239.1) <20>޸<EFBFBD> http_hdr_req.c <20>еĺ<D0B5><C4BA><EFBFBD> __strip_url_path <20><>Ȼ<EFBFBD><C8BB><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><EFBFBD>µڶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '\0'<27><>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ð<EFBFBD> ACL_VSTRING_RESET/ACL_VSTRING_TERMINATE <20><><EFBFBD><EFBFBD> acl_argv_split ֮<><D6AE><EFBFBD><EFBFBD>
2014-11-19 00:25:21 +08:00
250) 2014.11.18
250.1) bugfix: proto_snprintf.c <20>к<EFBFBD><D0BA><EFBFBD> proto_secure_snprintf/proto_securevsnprintf
<EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD> _vsnprintf_s ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>Ϊ _TRUNCATE<54><45><EFBFBD><EFBFBD><EFBFBD>򵱻<EFBFBD><F2B5B1BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ıȽ<C4B1>СʱVC<56><EFBFBD><E1B9A9>
API <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
249) 2014.8.8
249.1) bugfix: http_hdr_req.c <20>е<EFBFBD><D0B5>ظ<EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD>ֲ߳̾<CCBE><D6B2><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD> __hdr_reset
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>һЩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ACL_VSTRING_RESET<45><54><EFBFBD><EFBFBD><EFBFBD>ú겢<C3BA><EAB2A2><EFBFBD><EFBFBD><E1BDAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
β<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0<><30><EFBFBD><EFBFBD><EFBFBD>¾ɵ<C2BE><C9B5><EFBFBD><EFBFBD>ݻᱻ<DDBB>ظ<EFBFBD>ʹ<EFBFBD><CAB9>
------------------------------------------------------------------------
248) 2014.5.13
248.1) bugfix: http_hdr_req.c <20><> http_hdr_req_cookies_parse <20>ڴ<EFBFBD><DAB4><EFBFBD> cookies_table
<EFBFBD><EFBFBD>ϣ<EFBFBD><EFBFBD>ʱָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ACL_HTABLE_FLAG_KEY_REUSE<53><45><EFBFBD><EFBFBD><EFBFBD><EFBFBD> __add_cookie_item <20><>ȴ<EFBFBD><C8B4> KEY <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>
247) 2014.1.11
247.1) compile: <20>ڸ߰汾VC<56><43>>VC2008) <20><><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>ʹ<EFBFBD>ø<EFBFBD>Ϊ<EFBFBD><CEAA>ȫ<EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD>
246) 2013.12.5
246.1) feature: Makefile ֧<><D6A7> solaris <20><><EFBFBD><EFBFBD>
245) 2013.11.22
245.1) bugfix: http_chat_sync.c<><63><EFBFBD>ں<EFBFBD><DABA><EFBFBD> http_res_body_get_sync <20>У<EFBFBD><D0A3><EFBFBD>Ϊ
chunked <20><><EFBFBD>ʽʱ<CABD><CAB1><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD> ctx->chunk.chunk_oper = CHUNK_OPER_HEAD
244) 2013.11.6
244.1) compile: http_hdr_res.c/http_hdr_req.c<><63><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ֲ߳̾<CCBE><D6B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD><DEB7><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷţ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> valgrind <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
------------------------------------------------------------------------
243) 2013.10.3
243.1) bugfix: http_chat_async.c <20><> http_res_body_get_async/http_req_body_get_async
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>ж<EFBFBD> ctx->read_cnt <20><> 0
242) 2013.9.27
242.1) lib_acl <20><><EFBFBD><EFBFBD> ACL_EVENT_NOTIFY_RDWR/ACL_EVENT_NOTIFY_TIME <20><><EFBFBD><EFBFBD><EFBFBD>ӿڶ<D3BF><DAB6><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>޸ģ<EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>ģ<EFBFBD><EFBFBD>(icmp)<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
241) 2013.9.22
241.1) <20><>Ϊ lib_acl <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD> ACL_VSTREAM <20><>д<EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڱ<D3BF><DAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD>ص<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD>ӿڣ<EFBFBD><EFBFBD><EFBFBD>ҪӰ<EFBFBD><EFBFBD><EFBFBD> icmp ģ<><C4A3><EFBFBD><EFBFBD> icmp_stream.c <20>е<EFBFBD><D0B5>ڲ<EFBFBD><DAB2>ӿ<EFBFBD>
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>