当前位置:  软件>C/C++软件

HTTP解析器 HTTP Parser

    来源:    发布时间:2015-02-03

    本文导语:  C语言实现的HTTP解析器,提供请求和响应报文的解析功能,可用于高性能的HTTP应用程序中。它不使用任何系统调用及内存分配的功能,并且不缓冲任何数据,可以被随时中断使用。根据你的系统架构,它处理一个请求只消耗...

C语言实现的HTTP解析器,提供请求和响应报文的解析功能,可用于高性能的HTTP应用程序中。它不使用任何系统调用及内存分配的功能,并且不缓冲任何数据,可以被随时中断使用。根据你的系统架构,它处理一个请求只消耗约40字节(而对于网络服务器就是每个连接)。

功能:

  • 不依赖第三方库
  • 处理持续流(keep-alive)
  • 分块解码
  • 支持Upgrade
  • 防止缓冲区溢出攻击

可以从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;

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间javax.xml.ws.http接口httpbinding成员方法: http_binding定义参考
  • 防病毒的HTTP代理服务器 HTTP Anti Virus Proxy
  • java命名空间java.net枚举proxy.type的类成员方法: http定义及介绍
  • HTTP开发工具包 http-kit
  • java命名空间javax.print.attribute.standard类referenceurischemessupported的类成员方法: http定义及介绍
  • Java HTTP客户端 http4j
  • java命名空间java.net类httpurlconnection的类成员方法: http_accepted定义及介绍
  • 如何设置服务器, 使http://localhost/hello.php变成http://www.example.com/hello.php生效?
  • java命名空间java.net类httpurlconnection的类成员方法: http_unauthorized定义及介绍
  • Web服务器/前端 iis7站长之家
  • java命名空间java.net类httpurlconnection的类成员方法: http_created定义及介绍
  • linux c socket http编程 返回http消息体出错!
  • java命名空间java.net类httpurlconnection的类成员方法: http_forbidden定义及介绍
  • 请问如何在c程序里调用一段http地址,比如http://test/reload.jsp
  • java命名空间java.net类httpurlconnection的类成员方法: http_gone定义及介绍
  • 为什么输http://www.china-java.net,会自动改为http://www.china-java.net:8081?
  • java命名空间java.net类httpurlconnection的类成员方法: http_ok定义及介绍
  • http协议中文分词 http-scws
  • java命名空间java.net类httpurlconnection的类成员方法: http_conflict定义及介绍
  • MM求助:怎样多线程下载http://java.sun.com上的东东? 用http方式,谢谢了.
  • java命名空间java.net类httpurlconnection的类成员方法: http_reset定义及介绍
  • 异步 HTTP 客户端开发包 android-async-http


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3