【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 会话管理和会话保持


相关推荐
寒水馨1 分钟前
Linux下载、安装godot-4.7.1-stable(附安装包Godot_v4.7.1-stable_linux.x86_64.zip)
linux·游戏引擎·godot·游戏开发·2d游戏·3d游戏·godot engine
念恒1230614 分钟前
Socket编程UDP(中)
linux·网络协议·udp
深耕运维十八载云架构实务19 分钟前
系统故障玄学之内存明明显示空闲,服务器却频繁卡顿卡死?拆解被忽略的 Linux 隐性内存陷阱
linux
qetfw1 小时前
CentOS 7 搭建 Sendmail + Dovecot 邮件服务器:SMTP、POP3、IMAP 与 TLS
linux·centos
明日清晨1 小时前
printf(“%p\n“,&((struct A *)NULL)->m_float)的原理
linux·服务器·前端
运维大师1 小时前
【K8S 运维实战】15-链路追踪Jaeger与OTel
运维·容器·kubernetes
霁月的小屋2 小时前
Docker 工程化实践(二):理解镜像分层与容器文件系统
运维·docker·容器
Android系统攻城狮2 小时前
Linux PipeWire深度解析之pw_context_add_spa_lib调用流程与实战(二十九)
linux·运维·服务器·音频进阶·pipewire音频进阶
Dovis(誓平步青云)3 小时前
《如何在CentOS 7中添加Plex官方软件源:解决文件磁盘难管理难题》
linux·运维·服务器·后端·生成对抗网络·centos
草莓熊Lotso3 小时前
【Linux网络】深入理解Linux IO多路复用:select服务器完善、内核原理与poll实战
linux·运维·服务器·c语言·网络·c++