【接口】HTTP(1)|请求|响应

1、概念

Hyper Text Transfer Protocol(超文本传输协议)用于从万维网(就是www)服务器传输超文本到本地浏览器的传送协议。

HTTP协议是基于TCP的应用层协议,它不关心数据传输的细节,主要是用来规定客户端和服务端的数据传输格式,最初是用来向客户端传输HTML页面的内容。默认端口是80。

HTTP是基于请求与响应模式的、无状态的、应用层的协议。

TCP------传输层协议

IP------网络层协议

2、HTTP请求报文( 报文===请求数据**)**

HTTP请求报文主要 由请求行 、请求头部 、空一行 、请求体 部分组成

请求行:请求方式 + url + 协议

2.1 请求方法(Request Method):

请求方法 备注
POST 创建资源-增加
GET 获取资源-查询
PUT 替换资源-修改
DELETE 删除资源
HEAD 获取服务器响应消息头
PATCH 更新资源,替换部分资源

2.2 URL(Uniform Resource Locator):

统一资源定位符,用于描述网上的资源

格式:schema://host:port/path/.../?query-string

scheme:协议,如http,https,ftp等

host:域名或者IP地址 DNS会将域名转换成IP地址

port:端口

path:资源路径

query-string:发送的参数

示例:https://www.baidu.com/s?wd=接口

2.3 请求头

请求头 描述
Host 主机ip地址或域名
User-Agent 客户端相关信息,比如操作系统、浏览器等信息,用户代理
Accept 指定客户端接收信息类型,如:image/jpg,text/html,application/json 表示任意类型的数据
Accept-Charset 客户端接受的字符集,如gb2312、iso-8859-1
Accept-Encoding 可接受的内容编码,如gzip------编码方式
Accept-Language 接受的语言,如Accept-Language:zh-cn
Authorization 客户端提供给服务端,进行权限认证的信息
Cookie 携带的cookie信息
Referer 当前文档的URL,即从哪个链接过来的
Content-Type 请求体内容类型,如Content-Type: application/x-www-form-urlencoded
Content-Length 数据长度
Cache-Control 缓存机制,如Cache-Control:no-cache
Pragma 防止页面被缓存,和Cache-Control:no-cache作用一样
X-Requested-With 如果 requestedWith 为 null,则为同步请求; 如果 requestedWith 为 XMLHttpRequest 则为 Ajax 异步请求。

3、HTTP响应报文

HTTP响应报文主要 由状态行 、响应头部 、空一行 、响应正文 部分组成

3.1 状态码

**状态码(Status Code ):**用以表示网页服务器HTTP响应状态的3位数字代码

状态码 描述
1XX 请求已接受待处理
2XX 请求成功并返回
3XX 重定向相关,请求资源位置发生了变化
4XX 客户端发送请求错误
5XX 服务器端错误

3.2 响应头

响应头 描述
Server HTTP服务器的软件信息
Date 响应报文的时间
Expires 指定缓存过期时间
Set-Cookie 种Cookie
Last-Modified 资源最后修改时间
Content-Type 响应的类型和字符集,如:Content-Type: text/html; charset=utf-8
Content-Length 内容长度
Connection 如Keep-Alive,表示保持tcp连接不关闭,不会永久保持连接,服务器可设置
Location 指明重定向的位置,新的URL地址,如304的情况
相关推荐
梦到啥说啥11 小时前
Linux网络编程:UDP网络协议
linux·网络协议·udp
鸿蒙开发爱好者12 小时前
下班后做的小工具和小游戏,我把它们整理成了 WyanHub
网络·人工智能·职场和发展·个人开发
乐橙开放平台12 小时前
海康和大华摄像头能统一管理吗?可以通过 GB28181 或视频融合平台接入
网络·后端·物联网·音视频
FungLeo13 小时前
成为全栈·Vue 管理后台篇·用 fetch 建一层可控的请求内核
前端·javascript·vue.js·http·fetch·formdata·接口封装
张小姐的猫14 小时前
【基于 WebSocket 的多用户网页五子棋】—— 项目结构设计与实用工具类模块
网络·websocket·网络协议
QXWZ_IA15 小时前
测绘单位采购RTK:设备价格、账号年费、售后,用时间轴分权重
网络·人工智能·安全
IT大白鼠16 小时前
GitLab 未认证 RCE 应急实战CVE-2026-97229(CVSS 10.0)
网络·安全·gitlab
陈希12316 小时前
Linux 网络诊断工具实战:ping、curl、tcpdump、mtr、dig 用法详解
linux·网络·tcpdump
草莓熊Lotso18 小时前
【C++ 基于微服务的即时通讯系统】文件存储子服务实战:UUID生成、文件IO封装与全接口单元测试
开发语言·网络·数据库·c++·微服务·架构·单元测试
wuyk55520 小时前
Spider-第03讲-HTTP速通与读懂响应
网络·爬虫·网络协议·http