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

相关推荐
郑洁文18 分钟前
基于Python的网络入侵检测系统
网络·python·php
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ31 分钟前
nginx部署教程
运维·网络·nginx
安全小白wula32 分钟前
RCE远程代码/命令执行基础讲解
网络·网络安全·渗透测试·rce·web渗透
24zhgjx-fuhao1 小时前
ISIS:单区域集成ISIS
网络·智能路由器
不爱洗脚的小滕1 小时前
【RAG】Milvus 混合检索参数调优:ef / candidate_k / final_k 详解
网络·langchain·milvus·rag
夜月yeyue2 小时前
KCP 与 UDP 可靠传输
linux·网络·单片机·网络协议·udp·php
一个向上的运维者2 小时前
Docker 自定义网络中容器无法通过宿主机 IP 访问服务的完整排障记录
网络·tcp/ip·docker
WIZnet2 小时前
W55RP20-EVB-MKR MicroPython 实战(14):MQTT 协议与 OneNET 平台对接
单片机·网络协议·wiznet
utf8mb4安全女神2 小时前
子网划分【概念+实操+理解】
运维·服务器·网络
GlobalSign数字证书2 小时前
中小企业的 SSL/TLS 证书管理,有更轻量的方案
数据库·网络协议·ssl