HTTP,

HTTP(超文本传输协议)

用于互联网上传输网页、图片、视频之类

主要负责客户端和服务器(浏览器)之间的通信

特点

1.无状态

每次响应都是独立的,服务器斌你该不会记录上一次的请求信息

2.基于请求响应

必须先由客户端发起请求,如输入网址等,服务器再根据请求返回响应内容

3.明文传输

数据在传输过程中并不会加密,可能会被第三方拦截

对"无状态"的弥补方案

cookie:服务器通过响应头给客户端发送一小段数据,客户端的后续请求会自动携带该数据段,服务器通过它识别信息

Session:服务器为每个登录的客户创建一个会话,并存储状态,再通过cookie发送sessionTD,通过该ID找到数据

Token:客户端登录后,返回一个加密的token,后续的客户端会鞋底啊token,识别身份

HTTP传输过程

1.建立TCP连接

2.客户端发送HTTP请求

客户端会按照HTTP协议格式,封装数据发送请求数据给服务器

请求内容包含三部分:

请求行:明确请求方式,目标资源路径,HTTP版本

请求头:携带附加信息,浏览器类型,接受方式,cookie

请求体(可选):仅在POST方式中存在,用于传输表单信息

3.服务器处理请求并返回HTTP响应

①解析请求内容②执行业务逻辑③按照格式响应

相应内容包含三部分:

响应行:HTTP版本,状态码(200,403,404),描述访问结果

响应头:携带服务器的附加信息,数据类型和数据长度

响应体:核心数据,如HTML代码,图片二进制,jsons数据

4.关闭TCP连接(4次挥手)

HTTP长连接和短链接

短链接

一次请求后就断开连接

长连接

多请求复用一个连接

长连接短链接对比

|------|----------|--------------|
| | 短连接 | 长连接 |
| 生命周期 | 完成响应就关闭 | 建立请求后可承载多次响应 |
| 连接标识 | 无需标识 | keep-alive |
| 版本 | http 1.0 | http 1.1 |
| 场景 | 早期页面 | 现代复杂页面 |
| 资源消耗 | 高,频繁建立连接 | 复用一个连接,资源消耗低 |

其他

DNS(域名系统):功能:域名->IP地址

ARP(地址解析协议):IP地址->MAC物理地址

NAT(网络地址转换):将私有IP转为公有

DHCP(动态主机配置协议):自动分配网络连接信息(IP地址,网关,DNS)

index.html

是网站的默认首页文件,当用户去访问某个域名时,而不指定对应的文件名时,服务器会自动查找该文件,并返回这个文件

作用

网站默认入口,无需输入完整的路径,直接访问域名就可显示,降低用户操作成本

HTML

建立网站的基础语言

lseek

移动文件读写指针的位置

核心作用

指定下一次读写文件的起始位置,实现对文件的随机访问

off_t lseek(int fd, off_t offset ,int whence)

fd:文件描述符

offset:偏移量

whence:基准位置(决定offset从哪里开始计算)

SEEK_SET:以文件开头为基准

SEEK_CUR:以当前指针为基准

SEEK_END:以文件末尾为基准

返回值:成功移动指针时,返回新指针的位置;失败返回-1

相关推荐
Vis-Lin20 小时前
BLE 协议栈:ATT 协议详解
网络·物联网·网络协议·iot·ble
lcxc21 小时前
Mac M4超流畅运行Win版同花顺教程
网络
W.A委员会21 小时前
常见网络攻击
网络·http·网络安全
zmj32032421 小时前
CAN数据帧详解
网络·can·canfd·数据帧
无心水21 小时前
OpenClaw技术文档/代码评审/测试用例生成深度实战
网络·后端·架构·测试用例·openclaw·养龙虾
TechWayfarer1 天前
攻防对抗:利用IP段归属查询工具快速封禁攻击源——3步联动防火墙(附脚本)
python·网络协议·tcp/ip·安全
深蓝海拓1 天前
基于QtPy (PySide6) 的PLC-HMI工程项目(十)框架初成的阶段总结
网络·笔记·python·学习·ui·plc
白羊by1 天前
Softmax 激活函数详解:从数学原理到应用场景
网络·人工智能·深度学习·算法·损失函数
VBsemi-专注于MOSFET研发定制1 天前
高端牧光互补储能电站功率链路设计实战:效率、可靠性与系统集成的平衡之道
网络·人工智能
深念Y1 天前
赛米尼M02/海纳斯HiNAS系统-WiFi驱动安装教程
运维·服务器·网络·docker·nas·机顶盒·hinas