Linux多线程服务端编程学习(五):多线程HTTP静态服务器

前言首先,介绍几个类用于封装HTTP请求和响应。HttpRequestHttpparserHttpResponseHttpRequest类HttpRequest用于封装HTTP请求,它的成员变量为: enum Method{ Invalid, Get, Post, Head, Put, Delete}; enum Version{ Unknown, Http10, Http11...
摘要由CSDN通过智能技术生成

前言

本篇文章源码的地址为:https://github.com/freshman94/NetLib

首先,介绍几个类用于封装HTTP请求和响应。

  • HttpRequest
  • Httpparser
  • HttpResponse

HttpRequest类

HttpRequest用于封装HTTP请求,它的成员变量为:

	enum Method{ Invalid, Get, Post, Head, Put, Delete};
	enum Version{ Unknown, Http10, Http11};

	Method method_;
	Version version_;
	string path_;
	std::unordered_map<std::string, std::string> paras_;	//参数
	std::unordered_map<string, string> headers_;

path_表示请求资源的路径,paras_为request的参数,headers_为request的首部信息。

HttpParser类

HttpParser类用于解析HTTP请求,其核心成员变量为HttpRequest request_;核心成员函数为

 bool parseRequest(Buffer* buf)

buf为TCP连接的接收缓冲区,其中存储的数据就是HTTP请求。 HttpParser解析该请求,并将得到的信息,如:请求的method、资源的路径和参数

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值