HTTP ParserHTTP解析器
C語言實現(xiàn)的HTTP解析器,提供請求和響應報文的解析功能,可用于高性能的HTTP應用程序中。它不使用任何系統(tǒng)調用及內存分配的功能,并且不緩沖任何數據,可以被隨時中斷使用。根據你的系統(tǒng)架構,它處理一個請求只消耗約40字節(jié)(而對于網絡服務器就是每個連接)。
功能:
- 不依賴第三方庫
- 處理持續(xù)流(keep-alive)
- 分塊解碼
- 支持Upgrade
- 防止緩沖區(qū)溢出攻擊
可以從HTTP消息中解析出下列信息:
- 報頭域及值
- Content-Length
- 請求方法
- 響應代碼
- 傳輸編碼
- HTTP版本
- 請求URL
- 消息體
示例代碼:
http_parser_settings settings; settings.on_url = my_url_callback; settings.on_header_field = my_header_field_callback; /* ... */ http_parser *parser = malloc(sizeof(http_parser)); http_parser_init(parser, HTTP_REQUEST); parser->data = my_socket;
評論
圖片
表情
