python接口基础

一、什么是API接口

  1. 接口的定义

接口:应用程序接口,简称API。

  • 是数据交互的入口和出口,是一套规范,一套标准。

  • 接口本质上是程序开发的函数和方法,提供参数和返回值。

  1. 接口的分类

软件接口:作用是适配,后端(服务器) 前端(界面)

硬件接口:作用是适配,常见的硬件接口:USB接口,type c接口,lighting接口

  1. 访问接口的介质

介质:URL(统一资源定位符(Uniform Resource Locator),也被称为web地址。)

比如:http://www.baidu.com

二、什么是接口测试

  1. 接口测试的定义

测试接口的返回数据是否和预期一致。可以使用浏览器、postman、jmeter和soupui等接口测试工具,也可以通过代码访问。

  1. 接口定义规则

可以在接口文档查看

  • 访问地址

  • 请求方式

  • 请求参数

三、HTTP协议

HTTP是一种应用层协议,用于在客户端和服务器之间传输超文本(Hypertext)数据。

HTTP 协议通过请求和响应的方式进行数据交互,客户端向服务器发送请求,服务器接收到请求后进行处理,返回响应给客户端。

HTTP (Hypertext Transfer Protocol,超文本传输协议)由三部分组成:

  1. 请求报文(Request Message):客户端向服务器发送的请求消息,包括请求行、请求头部和请求正文三部分组成。

  1. 响应报文(Response Message):服务器向客户端返回的响应消息,包括状态行、响应头部和响应正文三部分组成。

  1. 连接管理:用于建立和管理客户端与服务器之间的连接,包括 TCP 连接管理和 HTTP 持久连接等。

  1. HTTP请求

HTTP 请求由三个部分组成:请求行、请求头和请求体。

  1. 请求行

请求行包含了请求方法、请求 URL 和 HTTP 版本信息,其基本格式如下:

<Method> <URL> HTTP/<Version>

<Method> 表示请求方法,例如 GET、POST、PUT、DELETE 等

GER

请求指定的资源, 使用GET的请求应该只用于获取数据

POST

发送数据给服务器,创建或者更新资源

PUT

创建或者替换目标资源

PATCH

用于对资源进行部分修改

DELETE

删除资源

补充:GET和POST的区别

区别

GET

POST

作用

获取资源

创建资源

请求主体

无请求主体

有请求主体

幂等性

幂等

非幂等

缓存

可以缓存

一般不缓存

历史记录和书签

可存放

不可

<URL> 表示请求的资源地址

<Version>` 表示所使用的 HTTP 协议的版本,例如 HTTP/1.1。

  1. 请求头

请求头包含了一些关于请求的信息,例如 Accept、User-Agent、Authorization 等,用于控制请求的内容和格式。请求头的格式如下:

Header-Name>: <Header-Value>

  1. 请求体

请求体用于传递客户端发送的数据,例如表单数据、JSON 数据等。请求体的格式和内容根据具体的业务需求而定,可以为空。在使用 GET 请求方法时,请求体通常为空;在使用 POST、PUT、DELETE 等请求方法时,请求体通常包含了需要传递的数据。

  1. HTTP 请求的完整格式

<Method> <URL> HTTP/<Version>
<Header-Name1>: <Header-Value1>
<Header-Name2>: <Header-Value2>
...
<Header-NameN>: <Header-ValueN>

<Request Body>

其中,请求行、请求头和请求体之间以空行分隔。

  1. HTTP响应

HTTP 响应是指服务器向客户端发送的响应消息,由三部分组成:状态行(响应行),响应体,响应体

  1. 状态行(http状态码)

状态行(Status Line):描述了服务器响应的状态,包括 HTTP 版本号、状态码和状态描述。

HTTP 状态码用于表示服务器对请求的处理结果,共分为 5 类,每类有对应的状态码和状态描述,

分类

分类描述

1xx

服务器已收到请求,正在处

2xx

服务器成功处理了请求。

  • 200 OK:请求成功,服务器已经正确处理了请求。

  • 201 Created:请求成功,服务器已经创建了新的资源。

  • 204 No Content:请求成功,但是响应报文中没有实体的主体部分。

3xx

重定向,需要进一步的操作以完成请求

  • 301 Moved Permanently:请求的资源已被永久移动到新的 URL,客户端应该重新使用新的 URL 请求。

  • 302 Found:请求的资源已被临时移动到新的 URL,客户端应该继续使用原有的 URL 请求。

  • 304 Not Modified:客户端请求的资源没有被修改,可以使用本地缓存的版本。

4xx

客户端错误,请求包含语法错误或无法完成请求

  • 400 Bad Request:请求报文中存在语法错误,服务器无法理解。

  • 401 Unauthorized:请求需要身份认证,客户端没有提供认证信息或认证失败。

  • 403 Forbidden:请求被服务器拒绝,通常因为客户端没有足够的访问权限。

  • 404 Not Found:请求的资源不存在,服务器无法找到对应的资源。

5xx

服务器错误,服务器无法完成请求

  • 400 Bad Request:请求报文中存在语法错误,服务器无法理解。

  • 401 Unauthorized:请求需要身份认证,客户端没有提供认证信息或认证失败。

  • 403 Forbidden:请求被服务器拒绝,通常因为客户端没有足够的访问权限。

  • 404 Not Found:请求的资源不存在,服务器无法找到对应的资源。

  1. 响应头

响应头(Header):包含了响应的元数据信息,例如日期、服务器信息、响应长度、响应类型等。

Date: Sat, 15 May 2023 09:20:32 GMT
Server: Apache/2.4.23 (Win32) OpenSSL/1.0.2j PHP/5.6.27
Content-Length: 1234
Content-Type: text/html; charset=utf-8

  1. 响应体

响应正文(Body):服务器返回的实体主体部分,具体内容根据请求的资源和响应的数据格式而定。

四、Session、Token和Cookie

Session、Token 和 Cookie 都是用于在 Web 应用程序中进行用户身份验证和会话管理的机制。

  1. Session

Session 是一种服务器端技术,用于跟踪用户的会话状态。在用户登录时,服务器会创建一个唯一的会话 ID,并将其保存到用户的浏览器 Cookie 中,然后在后续请求中通过 Cookie 来识别用户。服务器可以在会话中保存用户信息和状态,以便在后续请求中进行访问和修改。

  1. Token

Token 是一种通过 HTTP 请求头或参数进行身份验证的机制。在用户登录时,服务器会生成一个唯一的 Token,并将其返回给客户端。客户端在后续请求中通过在请求头或参数中添加 Token 来进行身份验证。Token 可以在客户端中存储,也可以存储在服务器端的数据库中。

  1. Cookie

Cookie 是一种客户端技术,用于在客户端存储少量的数据。在 Web 应用程序中,Cookie 通常用于存储用户的会话 ID,以便在后续请求中识别用户。Cookie 可以在服务器端设置,并发送给客户端,客户端在后续请求中通过 Cookie 来传递数据。

总的来说,Session、Token 和 Cookie 都是用于身份验证和会话管理的机制,它们在实现上有所不同,但都可以用于保护 Web 应用程序的安全和稳定性。

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值