接口设计相关内容-TCP/UDP/API/Flask框架

目录

一、TCP协议和UDP协议的联系和区别

 二、HTTP协议

HTTP/1.1协议中定义的8个HTTP命令:

一次完整的HTTP请求过程

三、接口开发一些解释

 1.多媒体表单

2.API接口(Application Programming Interface 应用程序接口)

3.Flask框架


一、TCP协议和UDP协议的联系和区别

 二、HTTP协议

HTTP(Hypertext Transfer Protocol)是一种用于在网络上进行通信的协议,它被用于Web浏览器和Web服务器之间的通信。HTTP是一种客户端-服务器协议,它是建立在TCP/IP协议之上的

HTTP协议通过客户端向服务器请求资源,服务器响应客户端请求并返回所请求的资源,完成数据的传输。在HTTP协议中,客户端发送HTTP请求消息,服务器回送HTTP响应消息。

HTTP请求消息由三个部分组成:请求行、请求头和请求体。请求行包含请求方法、请求URI和HTTP协议版本号。请求头包含一些附加的信息,例如客户端的浏览器类型、所请求的资源类型等。请求体则包含一些附加的数据,例如POST请求中所提交的表单数据。

HTTP响应消息也由三个部分组成:状态行、响应头和响应体。状态行包含HTTP协议版本号、状态码和状态描述。响应头包含一些附加的信息,例如服务器类型、所返回的数据类型等。响应体则包含所请求的资源,例如HTML文档、图片等。

HTTP协议的主要特点包括无状态、可扩展、灵活等。无状态是指HTTP协议不会记录客户端的请求历史,每个请求都是独立的。可扩展是指HTTP协议可以通过增加新的方法、头部和状态码等来扩展自身的功能。灵活是指HTTP协议可以通过传输任意类型的数据,例如文本、图片、视频等。

HTTP/1.1协议中定义的8个HTTP命令:

  1. GET:从Web服务器获取资源,例如获取一个Web页面或者一个图片。

  2. POST:向Web服务器提交数据,例如提交表单数据或者上传文件。

  3. PUT:向Web服务器上传数据,用于更新或创建资源。

  4. DELETE:从Web服务器删除资源,例如删除一个文件或者删除一个数据库记录。

  5. HEAD:与GET类似,但是只获取资源的头部信息,不获取资源本身。

  6. OPTIONS:查询Web服务器支持的HTTP命令和可用的通信选项。

  7. TRACE:用于追踪客户端与服务器之间的通信过程。

  8. CONNECT:用于将Web服务器作为代理连接到另一个服务器,主要用于SSL/TLS加密连接。

一次完整的HTTP请求过程

域名解析 --> 发起TCP的3次握手 --> 建立TCP连接后发起http请求 --> 服务器响应http请求,浏览器得到html代码 --> 浏览器解析html代码,并请求html代码中的资源(如js、css、图片等) --> 浏览器对页面进行渲染呈现给用户

json是主流用于传输数据的格式:字符串一律双引号

三、接口开发一些解释

任务:通过python语言,调用阿里云的身份证识别接口,写一个开放的接口提供给前端

三个部分:前端、我写的代码(接口API)、阿里云接口(云API服务)

流程:前端调用我,我调用阿里云,阿里云返回给我数据,我把数据返回给前端的过程。

总结:文件封装到多媒体表单进行上传

 1.多媒体表单

多媒体表单是指HTML表单中可以上传二进制文件、音频、视频、图像等多种媒体类型的一种表单。HTML表单中通常使用<form>标签来创建表单,而多媒体表单则需要在<form>标签的enctype属性中指定媒体类型。多媒体表单中通常使用<input>标签的type属性来指定上传文件的输入框。以下是一个典型的多媒体表单的HTML代码示例:

阿里云身份证识别接口项目中,多媒体表单指的是通过HTTP POST请求将身份证照片上传到阿里云身份证识别服务的表单。在使用阿里云身份证识别接口时,需要使用HTTP POST请求将身份证照片发送到阿里云服务器。为了实现上传照片的功能,需要使用一个包含文件上传功能的表单,也就是多媒体表单。

多媒体表单通常使用<form>标签来创建表单,而在阿里云身份证识别接口项目中,需要使用表单的enctype属性将表单的编码类型设置为multipart/form-data,以支持上传二进制文件类型的数据。上传身份证照片时,需要使用<input>标签的type属性设置为file,表示该输入框用于上传文件,如下所示:

<form action="https://dm-51.data.aliyun.com/rest/160601/ocr/ocr_idcard.json" method="POST" enctype="multipart/form-data">
  <input type="file" name="image">
  <input type="hidden" name="side" value="face">
  <input type="hidden" name="appcode" value="your_appcode">
  <input type="submit" value="提交">
</form>

在上述代码中,action属性指定了提交表单数据的URL,method属性指定了HTTP请求方法,enctype属性设置为multipart/form-data以支持文件上传,<input>标签的type属性设置为file,用于上传身份证照片,<input>标签的name属性用于标识上传的数据的名称,例如上面的代码中,上传的身份证照片的数据名称为image。此外,<input>标签的type属性可以设置为hidden,用于隐藏表单中的某些字段,如上面的代码中的sideappcode字段。

2.API接口(Application Programming Interface 应用程序接口)

API(应用程序编程接口)是一组定义了如何交互的规范,它允许不同的应用程序之间进行数据交换和通信。API可以被用来访问和操作远程服务器上的资源,它提供了一种标准化的方式来与其他软件组件进行交互。API可以用不同的协议和数据格式进行实现。(比如用HTTP协议请求)

API接口定义了如何交互。

3.Flask框架

Flask框架是一个基于Python编写的Web框架,它提供了一些基本功能,如路由、模板、静态文件处理、会话管理等,可以帮助开发人员更轻松地构建Web应用程序。Flask是一个轻量级的框架,易于学习和使用,同时也支持与其他Python库和框架的集成。

在Web应用程序开发中,通常使用Flask框架来实现API接口。Flask提供了路由、请求处理、响应处理等功能,可以帮助开发人员快速实现API接口。Flask框架可以支持RESTful API和其他常见的API实现方式,同时也支持多种数据格式和协议,如JSON、XML、HTTP等。Flask还可以与其他Python库和框架集成,例如数据库访问、认证和授权、测试等。

 Flask框架则提供了实现API接口所需的基本功能。

猜你喜欢

转载自blog.csdn.net/qq_45790998/article/details/129265050