上一篇
http开发demo
- 行业动态
- 2025-04-26
- 2643
基于HTTP协议的开发Demo通常包含创建服务器、处理GET/POST请求、返回JSON数据及状态码,可借助Node.js或Flask/Django框架搭建基础API,通过路由解析请求路径,结合数据库操作实现增删改查功能,并配置跨域与错误处理
环境准备
开发HTTP服务通常需要以下工具和库:
- 编程语言: Python(简洁易读,适合快速开发)
- Web框架: Flask(轻量级,适合演示)
- 终端工具: Postman(测试API)或浏览器(测试GET请求)
服务器端代码(Flask示例)
以下是一个简单的HTTP服务代码,支持GET和POST请求:
from flask import Flask, request, jsonify app = Flask(__name__) # 定义路由和处理函数 @app.route('/hello', methods=['GET']) def hello_get(): return jsonify(message="Hello, GET!"), 200 # 返回JSON数据 @app.route('/submit', methods=['POST']) def submit_post(): data = request.form.get('user_input') # 获取表单数据 return jsonify(received=data), 200 if __name__ == '__main__': app.run(debug=True)
客户端测试方法
测试工具 | 操作步骤 |
---|---|
浏览器 | 输入 http://127.0.0.1:5000/hello ,查看返回的JSON数据 |
Postman | 设置请求方法为POST 地址填 http://127.0.0.1:5000/submit 在Body中添加表单参数 user_input=test |
Python脚本 | 使用requests 库发送请求:response = requests.post('http://127.0.0.1:5000/submit', data={'user_input': 'test'}) |
扩展功能示例
功能 | 代码片段 |
---|---|
设置Cookie | resp = make_response(jsonify({})) resp.set_cookie('username', 'admin') |
读取Session | from flask import session session['user'] = 'John' |
文件上传 | @app.route('/upload', methods=['POST']) file = request.files['file'] |
常见问题与解答
问题1:HTTP和HTTPS的区别是什么?
解答:
| 特性 | HTTP | HTTPS |
|———————|————————–|—————————|
| 加密方式 | 明文传输 | SSL/TLS加密 |
| 端口 | 默认80 | 默认443 |
| 证书 | 无需证书 | 需要CA颁发的SSL证书 |
| 安全性 | 易被中间人攻击 | 防改动、防窃听 |
问题2:GET和POST请求的核心区别是什么?
解答:
| 对比维度 | GET请求 | POST请求 |
|———————|—————————–|—————————|
| 数据传输位置 | 通过URL传递参数(?key=value)| 通过请求体传递参数 |
| 数据长度限制 | 浏览器通常限制在2KB内 | 无明确限制(依赖服务器配置)|
| 幂等性 | 多次请求结果一致 | 可能改变服务器状态 |
| 典型用途 | 获取资源 | 提交数据(如表单)