实验解析请求报文:
1.在Edge浏览器上输入ip地址+端口号+文件资源,也就是下图中的120.XX.139.29:8888/A/B/c.html
2.我的程序接收到了一个没有有效载荷的http请求(呼应上面的结构图1),如下
GET /1/2/3.html HTTP/1.1 //请求行(请求方法+请求资源+协议版本)
Host: 120.46.139.29:8888 //请求的目的主机+端口号
Connection: keep-alive //链接模式
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.0.0 //操作系统信息+浏览器信息,这也就是当你用浏览器下载app的时候他自动能识别你需要ios还是安卓。
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate //客户端可以接收的编码类型
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6 //编码符号
3.关闭我的HttpServer程序
const std::string SEP="\r\n";
std::string HandlerHttp(const std::string& request)
{
//前提:request一定是一个完整的请求报文。
//给别人返回的是一个http response;
std::cout<<"------------------------------------"<This is a test!