接口的构成

目录

接口

一、URL

二、请求方法

三、请求报文(request message)

3.1请求行

3.2请求头

3.3 请求体

四、响应报文(response message)

4.1响应行

4.2响应头

4.3响应体 


接口

        接口就是API,是程序开发的函数和方法,提供参数和返回值;是由URL通过请求方法向服务器发送请求参数,得到响应值,本质就是数据的传输与接收;

一、URL

URL(Uniform Resource Locator, 统一资源定位符)

协议://IP地址或域名:端口号/路径?参数1=值1&参数2=值2

协议

http和https区别

  • http(HyperText Transfer Protocol)超文本传输协议,明文传输,不安全;https协议是由ssl+http加密传输,比较安全;
  • https协议需要到CA申请证书,一般免费证书比较少;
  • http端口号80,https端口号443;

 IP地址 

服务器地址

端口号

默认80

路径

资源路径

接口参数

二、请求方法

请求方法

get获取数据

get/post区别

  • 本质

        get从服务端获取资源

        post创建、更新资源提交给服务端

  • 传参方式

        get通过url、requests headers,但不能通过request body传参

        post通过url、request headers、request body传参(常见传参方式)

  • 缓存

        get有缓存

        post无缓存

post提交数据
put更新资源
delete删除资源

三、请求报文(request message)

        HTTP请求报文组成:请求行、请求头、空行、请求体;

3.1请求行

GET http://www.abc.com/articles HTTP/1.1

方法   URL   协议版本

3.2请求头

请求头由键值对组成,每⾏⼀对,键值之间⽤英⽂冒号:进行分隔;

Accept(传输文件类型)

*/*   代表浏览器可以处理所有类型

Accept- Encoding(文件编解码格式)

Accept-Language浏览器接受的语言
Connection(链接类型)

keep-alive  当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭,客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接

close 代表一个Request完成后,客户端和服务器之间用于传输HTTP数据的TCP连接会关闭, 客户端再次发送Request,需要重新建立TCP连接

Content-Type

application/json

JSON格式:{"key1":"value1","key2":"value2"}

application/x-www-form-urlencoded

HTML表单格式:key1=value1&key2=value2

text/xml:传输纯文本数据;

multipart/form-data:传输文件和二进制数据;

Host(主机和端口号)

Referer(页面跳转处)

User-Agent(浏览器名称)

Cookie

cookie与session的区别:

  • cookie数据存放在客户的浏览器上,session数据放在服务器上、token是接口测试时鉴权码,一般情况下登陆后才可以获取到token,然后在每次请求接口时需要带上token参数;
  • cookie不是很安全,可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session;
  • session会在一定时间内保存在服务器上。当访问增多,会比较占用服务器的性能,考虑到减轻服务器性能方面,应当使用cookie;
  • 将登陆信息等重要信息存放为session,其他信息如果需要保留,可以放在cookie中;

3.3 请求体

主要有两种格式 ,JSON格式和表单格式 ,它们的编码方式不同

四、响应报文(response message)

        HTTP 响应报⽂的组成: 响应⾏、响应头、空⾏、响应体;

4.1响应行

HTTP/1.1 200 OK

协议版本 状态码 状态码原因短语

响应状态码汇总
2XX
200 OK服务器已成功处理了请求

3XX

302

临时重定向;浏览器会自动向 location 返回的 url 发送请求,从而用户好像没有感觉到有这个重定向的存在,比如用户在未登录时访问个人中心页面,这时可以临时重定向到登录的url;

4XX
400

缺少必要参数:客户端未提供必要的参数,导致服务器无法处理请求

参数格式不正确

401

鉴权认证失败,可以在请求头中附加 Authorization 认证信息或者是从前一个页面的响应中提取 cookie/token 等相关内容,再附加到新的请求中去

403 Forbidden

检查URL是否正确;

检查当前角色是否有权限访问该资源;

404

链接地址URL拼写错误

405

客户端使用了服务端不允许的HTTP请求方法,比如服务端只支持post方法,客户端使用get方法请求,则应返回405;

415

请求的格式不受请求页面的支持,常见原因是请求数据的类型和服务端支持的类型不匹配,比如json接口,需要添加一个信息头Content-type:application/json;

5XX
503 Server Unavailable

服务器异常(超载或停机维护)

4.2响应头

由键值对组成,每⾏⼀对,键值之间⽤英⽂冒号:进行分隔

Access-Control-Allow-Methods

允许哪些方法来访问
Access-Control-Allow-Credentials是否允许发送cookie
Content-Type数据类型
Date时间
Server服务器信息
Connection

4.3响应体 

响应体是一个整体,一般都是一个json体;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/4346.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为什么要进行人脸识别?

人脸识别技术被广泛应用于各种场景和行业,其主要目的包括但不限于以下几点: 1. **安全验证**:人脸识别可以用作身份验证的一种方式,确保只有授权人员才能进入特定的区域或访问敏感信息。例如,用于解锁手机或电脑、进入…

Linux---为什么会有粘滞位?

在前面已经讲过目录的rwx权限: 可读权限(r): 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容. 有可写权限(w):如果目录没有可写权限,则无法在目录中创建文件, 也无法在目录中删除文件.可执行权限(x): 如果目录没有可执行权限, 则无法cd到…

MOUNT windows到本机

mount -t cifs -o username"Administrator",password"123456789",vers2.0,rw,uid0,gid0 //192.168.10.68/home /home/windows/windowsHome 其中: username"Administrator" 为Windows用户的用户名 password"123456789" …

D-Wave 推出快速退火功能,扩大量子计算性能增益

内容来源:量子前哨(ID:Qforepost) 文丨浪味仙 排版丨沛贤 深度好文:1400字丨6分钟阅读 摘要:量子计算公司 D-Wave 宣布在其 Leap™ 实时量子云服务中的所有量子处理单元 (QPU) 上推出新的快速退火功能。…

Java 网络编程之TCP(五):分析服务端注册OP_WRITE写数据的各种场景(二)

接上文 二、注册OP_WRITE写数据 服务端代码: import java.io.IOException; import java.net.InetSocketAddress; import java.nio.ByteBuffer; import java.nio.channels.SelectableChannel; import java.nio.channels.SelectionKey; import java.nio.channels.S…

C++ //练习 13.58 编写新版本的Foo类,其sorted函数中有打印语句,测试这个类,来验证你对前两题的答案是否正确。

C Primer(第5版) 练习 13.58 练习 13.58 编写新版本的Foo类,其sorted函数中有打印语句,测试这个类,来验证你对前两题的答案是否正确。 环境:Linux Ubuntu(云服务器) 工具&#xf…

RFC 6071: IP Security (IPsec) and Internet Key Exchange (IKE) Document Roadmap

![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/96882d1fb67b4383bc77c4dd421f7b

【一刷《剑指Offer》】面试题 10:二进制中 1 的个数

力扣对应题目链接:191. 位1的个数 - 力扣(LeetCode) 牛客对应题目链接:二进制中1的个数_牛客题霸_牛客网 一、《剑指Offer》内容 核心考点 :二进制计算。 二、分析问题 1、循环检查二进制位 可以直接循环检查给定数字…

Qt 顺序容器类与关联容器类

hello!欢迎大家来到我的Qt学习系列之顺序容器类与关联容器类。希望这篇文章能对你有所帮助!!!大家也可以关注我的专栏,我会持续更新一些Qt的学习知识,和数据库的学习内容!!&#xff…

Springboot实现国际化以及部署Linux不生效问题

1、在application.properties 添加以下配置: #国际化配置 spring.messages.basenamei18n/messages/messages spring.messages.fallback-to-system-localefalse 2、添加配置文件在 resources目录下 如下图所示: 这个国际化文件命名有个坑,必须…

胸部X光图像分类:因果视角

Chest X-ray Image Classification: A Causal Perspective 摘要 这篇论文提出了一种新的方法来处理胸部X射线(CXR)分类问题,将因果推理融入到基于深度学习的方法中。尽管近年来深度学习在CXR分类方面取得了许多进展,但确保这些算…

【接口测试】JMeter接口关联测试

‍‍1 前言 我们来学习接口管理测试,这就要使用到JMeter提供的JSON提取器和正则表达式提取器了,下面我们来看看是如何使用的吧。 2 JSON提取器 1、添加JSON提取器 在线程组右键 > 添加 > 后置处理器 > JSON提取器 2、JSON提取器参数说明 N…

在浏览器中查看Revit模型:原理及实现

Greg Schleusner AIA 有一天向我提到,业内许多人认为带有 SVF2 的 Autodesk Viewer 是建筑模型最强大、性能最强的在线查看器之一,并且想知道开源 VIM 查看器和格式如何比较。 可以使用NSDT 3DConvert的 Revit插件 上传你的模型并在线查看预览&#xff…

vue的组件化

1.什么是组件化? 组件化开发 指的是:根据 封装 的思想, 把页面上可重用的 UI 结构封装为组件 ,从而方便项目的开发和维护。 2.什么是Vue组件 组件是Vue中的一个重要概念,是一个可以重复使用的Vue实例,它拥…

Python爬虫--用户代理IP池

前面一篇讲了用户 UA 代理池,现在这篇来讲下 IP 代理, 相对于 UA 来说,IP 更容易被封, 这里讲两种方法。 方法一:本地ip池 方法一 就是将 IP 拿下来本地,然后通过随机选取或者其他来调用 这就跟之前使用…

怎么通过PHP语言实现远程控制棋牌室

怎么通过PHP语言实现远程控制棋牌室呢? 本文描述了使用PHP语言调用HTTP接口,实现控制棋牌室,通过专用的包间控制器,来实现包间内所有电器以及门锁的独立控制。 可选用产品:可根据实际场景需求,选择对应的规…

洗鞋店上门预约小程序

洗鞋上门预约小程序,一款针对洗鞋行业的移动应用,让你轻松享受洗鞋的便捷服务。只需一键预约,多种洗鞋选项任你选,满足你的个性化需求。简洁明了的操作界面,让你快速下单,享受高效的洗鞋体验。 该系统凭借…

BetterDisplay Pro for Mac:显示器校准软件

BetterDisplay Pro for Mac是一款出色的显示器校准软件,旨在提升你的视觉体验。它提供了准确的显示器参数调整,包括亮度、对比度、色温和色域等,让你的显示器呈现更真实、清晰、细腻的图像。此外,软件还提供多种预设模式和自定义选…

遥感雷达波段的原理及应用

雷达波段是不同波长的组。每一种都有其独特的穿透地球表面的能力。它们还可以揭示环境的不同方面。 雷达频段在电磁频谱内具有特定的频率范围。这些波段由 L-、S-、C- 和 X-波段等字母表示。稍后会详细介绍这一点。 什么是合成孔径雷达? 合成孔径雷达 (SAR) 是一…

后台图书管理系统:SSM整合开发案例

代码已经完善,文章内容会在后续补充 代码地址(https://javazhang.lanzn.com/ig8tf1wd2aba 密码:1234) 1.1 .SpringConfig 代码 Configuration ComponentScan({"com.itheima.service" }) PropertySource("classpath:jdbc.properties") Import({JdbcConfig…