【接口】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的情况
相关推荐
Greedy Alg1 天前
Socket编程学习记录
网络·websocket·学习
刘逸潇20051 天前
FastAPI(二)——请求与响应
网络·python·fastapi
软件技术员1 天前
使用ACME自动签发SSL 证书
服务器·网络协议·ssl
我也要当昏君1 天前
6.4 电子邮件 (答案见原书 P284)
网络协议
Mongnewer1 天前
通过虚拟串口和网络UDP进行数据收发的Delphi7, Lazarus, VB6和VisualFreeBasic实践
网络
我也要当昏君1 天前
6.5 万维网(答案见原书P294)
网络
嶔某1 天前
网络:传输层协议UDP和TCP
网络·tcp/ip·udp
文火冰糖的硅基工坊1 天前
[嵌入式系统-154]:各种工业现场总线比较
网络·自动驾驶·硬件架构
以己之1 天前
详解TCP(详细版)
java·网络·tcp/ip
せいしゅん青春之我1 天前
[JavaEE初阶]网络协议-状态码
java·网络协议·http