接口的构成

news/2024/10/20 15:46:42/

目录

接口

一、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.ppmy.cn/news/1442665.html

相关文章

[97编程世界冠军4K组]代码被转为ts脚本github代码如何在WIN10运行和调试

源代码地址:iGitHub - SuperSodaSea/Omniscent: Analysis and Replication of Omniscent, the 1st in the Mekka & Symposium 1997 PC 4K Intro Competition. 1、软件安装nodejs和webstorm都要安装: node-v20.12.2-x64.msi WebStorm-2024.1.1.exe 代…

文件上传复习(upload-labs14-17关)

因为14-16关需要用到图片码,所以了解一下图片码 利用copy命令合成一个图片马使用_copy 图片马-CSDN博客 图片木马制作方法详细教程_如何制作图片马-CSDN博客 Pass-14(文件包含图片马) 首先,图片的格式在防护中通常是不会使用后…

应用实战 | 别踩白块小游戏,邀请大家来PK挑战~

“踩白块会输”是一个简单的微信小程序游戏,灵感来自当年火热的别踩白块游戏,程序内分成三个模块:手残模式、经典模式和极速模式,分别对应由易到难的三种玩法,可以查看游戏排名。动画效果采用JS实现,小程序…

【真实体验】使用崖山YMP 迁移 Oracle/MySQL 至YashanDB 23.2 验证测试【YashanDB迁移体验官】

一、前言 说一下我和崖山数据库的结缘,大概在去年吧,因为我经常在墨天轮写文章,看到崖山数据库推出了一崖山体验官的活动,我就报名参加了。第一次体验了崖山数据库,也测试了我司数据库到崖山数据库的兼容性&#xff0…

【Java Spring MVC项目异常解决】HTTP 404

报404错误多数情况下是因为路径问题,特别是在基于MVC框架的Web应用中。HTTP 404错误是客户端错误响应代码,表明服务器无法找到客户端请求的资源(例如,Web页面、图片、文件)。在Spring MVC项目中,404错误常见…

electron 中的 ipcMain 介绍

在 Electron 应用中,ipcMain 是主进程中的一个模块,用于处理与渲染进程之间的进程间通信 (IPC, Inter-Process Communication)。Electron 应用程序通常分为两个主要的进程:主进程和渲染进程。主进程(通常是 main.js 文件&#xff…

asp.net表单上传文件

asp.net表单上传文件 可以用自己的主机搭建服务器环境测试 1.借鉴文章&#xff1a; 原文链接&#xff1a;http://www.cnblogs.com/gxwang/p/4883902.html 2.html端示例代码&#xff0c; 文件名为index.aspx <% Page Language"C#" AutoEventWireup"true…

Java23种设计模式-行为型模式之访问者模式

访问者模式&#xff08;Visitor Pattern&#xff09;&#xff1a;主要用于解决对象结构中元素的行为操作问题。这种模式允许在不修改对象结构的情况下&#xff0c;为其添加新的操作。 主要角色&#xff1a; 访问者&#xff08;Visitor&#xff09;&#xff1a;定义了一个访问元…