目录
2.API接口(Application Programming Interface 应用程序接口)
一、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命令:
-
GET:从Web服务器获取资源,例如获取一个Web页面或者一个图片。
-
POST:向Web服务器提交数据,例如提交表单数据或者上传文件。
-
PUT:向Web服务器上传数据,用于更新或创建资源。
-
DELETE:从Web服务器删除资源,例如删除一个文件或者删除一个数据库记录。
-
HEAD:与GET类似,但是只获取资源的头部信息,不获取资源本身。
-
OPTIONS:查询Web服务器支持的HTTP命令和可用的通信选项。
-
TRACE:用于追踪客户端与服务器之间的通信过程。
-
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
,用于隐藏表单中的某些字段,如上面的代码中的side
和appcode
字段。
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接口所需的基本功能。