接口的构成

目录

接口

一、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.mfbz.cn/a/580778.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C#】rdlc报表答应报错:未能加载文件或程序集“Microsoft.SqlServer.Types

文章目录 一、报错信息二、解决方式 一、报错信息 Microsoft.Reporting.WinForms.LocalProcessingException: An error occurred during local report processing. —> Microsoft.Reporting.DefinitionInvalidException: The definition of the report ‘’ is invalid. —&…

sql注入漏洞及其sqlmap工具的使用

一、sql注入的原理 sql注入概念: sql注入主要是将sql语句,插入到web表单提交或者输入域名或者页面请求的查询字符串,最 终 达到一个欺骗服务器执行sql语句的效果。 sql注入的原理:主要分为平台层注入和代码层注入两种原因 …

stm32的GPIO基本结构

1.带FT标号的引脚能容忍5V 2.GPIO系统架构 stm32的所有GPIO都是挂载在APB2总线上的 3.GPIO的基本结构 在上图中,左边就是寄存器,右边就是驱动器了 保护二极管的作用:VDD表示3.3V,如果输入的电压的值大于3.3V,那么这个…

百度网盘某个文件对外开放怎么弄通过密码下载文件对外开放某个文件

百度网盘某个文件对外开放怎么弄通过密码下载文件对外开放某个文件 百度云盘分享文件(创建公开连接)的方法: 1、登录网页,打开百度云盘,并登陆自己的帐号。 2、上传后选择自己需要分享的文件。 选择分享的文件 3、将鼠标放在需要分享的文…

上市企业数字赋能指数数据集-2001到2022年(TF-IDF)

01、数据简介 上市公司数字赋能指数是一个用来衡量上市公司利用数字技术提高业务能力和效率的指标。这个指数反映了上市公司利用大数据、云计算和人工智能等数字技术,高效地利用商业资源和信息,并扩展供应关系的能力。市公司数字赋能指数是一种综合性的…

【Linux】组管理命令

在Linux系统中,组管理是一种重要的权限管理机制: 权限分配的灵活性:通过将用户组织成不同的组,管理员可以更轻松地管理用户的权限。这样,管理员可以根据组的角色或特定任务来分配权限,而不必逐个用户进行设…

大数据时代的引擎:大数据架构随记

大数据架构通常可以分为以下几层: 一、数据采集层 负责从各种数据源采集、清洗、转换、丰富以及格式化数据,可能包括结构化、半结构化和非结构化的数据。 1.1、常用的技术 在大数据领域,数据采集是一个关键的环节,常用的数据采集…

Spring框架宝典:彻底理解三级缓存策略

一、循环依赖概念 在Spring应用中,循环依赖指的是两个或多个Bean之间相互引用,造成了一个环状的依赖关系。举例来说,如果Bean A依赖于Bean B,同时Bean B也依赖于Bean A,就形成了循环依赖。这种情况下,Sprin…

数据库介绍(Mysql安装)

前言 工程师再在存储数据用文件就可以了,为什么还要弄个数据库? 一、什么是数据库? 文件保存数据有以下几个缺点: 文件的安全性问题文件不利于数据查询和管理文件不利于存储海量数据文件在程序中控制不方便 数据库存储介质: 磁…

【Canvas与艺术】绘制朝鲜国旗

【声明】 该国旗的定位和大小是本人与网上照片比对后估算的&#xff0c;不是精确值。 【成图】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <hea…

四信智能化感知与控制方案,助推灌区续建配套与现代化改造建设

“十四五”明确提到推进大中型灌区节水改造和精细化管理&#xff0c;建设节水灌溉骨干工程&#xff0c;同步推进水价综合改革。 灌区是保障国家粮食安全的重要基础性设施&#xff0c;是实施乡村振兴战略的水利支撑。灌区续建配套与现代化改造是实施乡村振兴战略一项重要任务。为…

一套JAVA语言开发的:危大工程智慧一体化工地系统源码,(后台管理端+APP+可视化大屏端)

智慧工地是指利用移动互联、物联网、智能算法、地理信息系统、大数据挖掘分析等信息技术&#xff0c;提高项目现场的“人•机•料•法•环•安”等施工要素信息化管理水平&#xff0c;实现工程施工可视化智能管理&#xff0c;并逐步实现绿色生态建造。 相关技术&#xff1a;微…

“百团大战”下,20年代的国产数据库如何乘风破浪?

引言 在数字化浪潮的推动下&#xff0c;数据库技术已成为支撑数字经济的坚实基石。腾讯云 TVP《技术指针》联合《明说三人行》特别策划的直播系列——【中国数据库前世今生】&#xff0c;我们将通过五期直播&#xff0c;带您穿越五个十年&#xff0c;深入探讨每个时代的数据库演…

vue3.0(四) ref全家桶以及响应的 源码分析

文章目录 1 ref1.1 ref() 是什么1.2 ref() 特点1.3 创建响应式数据1.4 引用DOM元素1.5 深层响应性1.6 DOM 更新时机1.7 ref源码 2 isRef2.1 isRef运用2.2 isRef源码 3 unref3.1 unref运用3.2 unref源码 4 shallowRef4.1 shallowRef运用4.2 shallowRef源码 5 triggerRef5.1 trig…

SpringCloud系列(10)--Eureka集群原理及搭建

前言&#xff1a;当注册中心只有一个&#xff0c;而且当这个注册中心宕机了&#xff0c;就会导致整个服务环境不可用&#xff0c;所以我们需要搭建Eureka注册中心集群来实现负载均衡故障容错 Eureka架构原理图 1、Eureka集群原理 2、创建Eureka Server端服务注册中心模块 (1)在…

ios微信小程序禁用下拉上拉

第一步&#xff1a; page.json配置页面的"navigationStyle":"custom"属性&#xff0c;禁止页面滑动 "navigationStyle":"custom" 第二步&#xff1a; 页面里面使用scroll-view包裹内容&#xff0c;内容可以内部滑动 <view class&…

LLaMA 3:大模型之战的新序幕

作者 | 符尧 OneFlow编译 翻译&#xff5c;杨婷、宛子琳、张雪聃 本文要点概览&#xff1a; 文本数据的扩展可能已经达到了极限&#xff0c;因为易于获取的网络文本资源&#xff08;如Common Crawl、GitHub、ArXiv等&#xff09;已基本被充分利用。 尽管如此&#xff0c;通过更…

Redis底层数据结构之ZSkipList

目录 一、概述二、ZSkipList结构三、和平衡树和哈希表的对比 redis底层数据结构已完结&#x1f44f;&#x1f44f;&#x1f44f;&#xff1a; ☑️redis底层数据结构之SDS☑️redis底层数据结构之ziplist☑️redis底层数据结构之quicklist☑️redis底层数据结构之Dict☑️redis…

[Diffusion Model 笔记]Score based

目录 概述方法怎么估计score&#xff08;估计噪声就是估计score&#xff09;怎么采样&#xff08;给原始数据加噪声&#xff0c;早期大后来变小&#xff09;inpainting &#xff08;来自补充材料&#xff09;还没有细究的地方&#xff1a; 概述 本文是观看以下视频的笔记&…

使用JMeter模拟设备通过MQTT发送数据

需求&#xff1a; 需要一个工具能够支持MQTT协议发送各种不同的数据。 目的&#xff1a; 模拟小型温室设备反馈&#xff0c;搭建一个测试环境&#xff0c;根据测试的数据显示硬件的状态和数值。 工具&#xff1a;JMeter 环境&#xff1a;需要配置Java运行环境。 操作步骤&a…
最新文章