【Linux网络】应用层协议HTTP

应用层协议HTTP


文章目录


HTTP协议





HTTP协议请求与响应格式





下面是http响应


HTTP响应:


HTTP的方法



代码如下(示例):

c 复制代码
要通过历史写的http服务器,验证GET⽅法, 这⾥需要了解⼀下FORM表单的问题
这⾥就要引⼊web根⽬录,⽂件读取的基本操作了
std::string GetFileContentHelper(const std::string& path)
{
	// ⼀份简单的读取⼆进制⽂件的代码
	std::ifstream in(path, std::ios::binary);
	if (!in.is_open())
		return "";
	in.seekg(0, in.end);
	int filesize = in.tellg();
	in.seekg(0, in.beg);
	std::string content;
	content.resize(filesize);
	in.read((char*)content.c_str(), filesize);
	// std::vector<char> content(filesize);
	// in.read(content.data(), filesize);
	in.close();
	return content;
}

代码如下(示例):

c 复制代码
// curl -i 显⽰
$ curl -i www.baidu.com
HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
Connection: keep-alive
Content-Length: 2381
Content-Type: text/html
Date: Sun, 16 Jun 2024 08:38:04 GMT
Etag: "588604dc-94d"
Last-Modified: Mon, 23 Jan 2017 13:27:56 GMT
Pragma: no-cache
Server: bfe/1.0.8.18
Set-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/
<!DOCTYPE html>
...
// 使⽤head⽅法,只会返回响应头
$ curl --head www.baidu.com
HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
Connection: keep-alive
Content-Length: 277
Content-Type: text/html
Date: Sun, 16 Jun 2024 08:43:38 GMT
Etag: "575e1f71-115"
Last-Modified: Mon, 13 Jun 2016 02:50:25 GMT
Pragma: no-cache
Server: bfe/1.0.8.18 


HTTP的状态码




HTTP常见Header




cookie 和 session 会话管理和会话保持


相关推荐
zhanghaofaowhrql1 天前
Cursor+GitOps:自动化运维新姿势
运维·自动化
weixin_471383031 天前
Docker - 05 - 构建流程
运维·docker·容器
夏玉林的学习之路1 天前
如何远程连接服务器
运维·服务器
风曦Kisaki1 天前
#Linux数据库管理Day06:主从同步与MaxScale读写分离
linux·运维·数据库
小楼昨夜又东风1261 天前
使用python快速拉包
linux
Tipriest_1 天前
ubuntu创建和更换当前swap大小
linux·运维·ubuntu
雨辰AI1 天前
生产级实战:人大金仓 V9 标准化运维手册(日常巡检 + 监控告警 + 应急处置)
java·运维·数据库·后端
ejinxian1 天前
微虚拟机 smolvm 与Docker 容器比较
运维·docker·容器·smolvm
ShiXZ2131 天前
PDF-OCR文件识别篇(八):配置、运维与排错
java·运维·ocr·dubbo·springboot
爱码少年1 天前
Docker如何一次查看多个容器日志
运维·docker·容器