【接口】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的情况
相关推荐
NEXU53 小时前
Linux:套接字
linux·服务器·网络
FreeBuf_5 小时前
CERT/CC警告:新型HTTP/2漏洞“MadeYouReset“恐致全球服务器遭DDoS攻击瘫痪
服务器·http·ddos
monster_风铃6 小时前
华为实验 链路聚合
网络·华为
油丶酸萝卜别吃8 小时前
nginx配置代理服务器
运维·网络·nginx
伯恩bourne9 小时前
MIME(多用途互联网邮件扩展)
网络·网络协议
运维行者_9 小时前
使用Applications Manager进行 Apache Solr 监控
运维·网络·数据库·网络安全·云计算·apache·solr
蝸牛ちゃん10 小时前
大型软件需求变更管理:从混沌到可控的工程化实践
网络·需求分析·变更管理·需求变更
Mr_Xuhhh12 小时前
传输层协议TCP(3)
运维·服务器·网络·网络协议·tcp/ip·http·https
lsnm13 小时前
【LINUX网络】HTTP协议基本结构、搭建自己的HTTP简单服务器
linux·运维·服务器·c语言·网络·c++·http
SKYDROID云卓小助手15 小时前
三轴云台之控制信号解析与执行
运维·服务器·网络·人工智能·信号处理