📅  最后修改于: 2023-12-03 15:01:19.661000             🧑  作者: Mango
在 Web 开发中,HTTP 动词和 REST 是非常重要的概念。HTTP 动词用于描述客户端(浏览器或 app)发起的请求类型,而 REST 是一种编写 Web 服务的架构风格。
HTTP 是 Web 上最基本的通信协议,它使用一些定义好的动词来描述客户端发起的请求,比如:
除此之外,HTTP 还定义了一些其他的动词,如 HEAD、OPTIONS、TRACE、CONNECT,不过这些动词在 Web 开发中比较少见。
在 REST 中,HTTP 动词和资源具有相应的对应关系。比如,通过 POST 创建一个资源,通过 PUT 更新一个资源,通过 DELETE 删除一个资源。
下面是一个使用 HTTP 动词的示范代码片段:
import requests
url = 'https://api.example.com/user'
data = {'name': 'John', 'age': 25}
# POST 请求
response = requests.post(url, json=data)
# PUT 请求
response = requests.put(url + '/1', json=data)
# GET 请求
response = requests.get(url + '/1')
# DELETE 请求
response = requests.delete(url + '/1')
REST(Representational State Transfer,表现层状态转移)是一种 Web 服务架构风格,它是一组架构约束和原则,常常被用于编写 Web 应用程序。
REST 中最重要的两个概念是资源和 URI(Uniform Resource Identifier,统一资源标识符)。资源是一种通过 URI 表示的抽象概念,它可以是实体的一种形式,或是一种虚拟的概念。URI 是唯一标识资源的字符串,可以通过 HTTP 动词来对资源进行操作。
下面是一个使用 REST 的示范代码片段:
from flask import Flask, request
app = Flask(__name__)
@app.route('/users', methods=['POST'])
def create_user():
# 向数据库中写入新用户信息
return 'user created successfully'
@app.route('/users/<int:user_id>', methods=['PUT'])
def update_user(user_id):
# 根据 user_id 更新用户信息
return 'user updated successfully'
@app.route('/users/<int:user_id>', methods=['GET'])
def get_user(user_id):
# 根据 user_id 获取用户信息
return 'user info'
@app.route('/users/<int:user_id>', methods=['DELETE'])
def delete_user(user_id):
# 根据 user_id 删除用户信息
return 'user deleted successfully'
在这个示例中,我们使用 Flask 编写了一个用户管理的 Web 服务,通过 URI /users
表示用户资源。使用 POST、PUT、GET 和 DELETE HTTP 动词对用户资源进行操作。