九、Get、Post区别

编写一个demo server

#!/user/bin/env python
# -*- coding: utf-8 -*-
from flask import Flask, session, Request, request, make_response

app = Flask(__name__)
request: Request
app.secret_key = "key"

@app.route( "/request", methods=['POST', 'GET'])
def hello( ) :
    query = request.args
    post = request.form
    return f"query: {query}\n"\
           f"post: {post}"
  • 在terminal中输入:flask run进行运行

    image.png

  • 在浏览器中输入:127.0.0.1:5000/request?a=1&b=2

  • 发送get与post请求

    • curl -s 'http://127.0.0.1:5000/request?a=1&b=2' -v &>/tmp/get
    • curl -s 'http://127.0.0.1:5000/request' -d "a=1&b=2" -v &>/tmp/post
  • get和post对比


    image.png
image.png
  1. HTTP的Method字段不一样,URL中get请求一般都带有参数
  2. Post请求如果有数据,会带上 Content-LengthContent-Type ,即请求的内容长度和类型

post也可以发送query请求

get与post的区别总结

  • http的method字段不同
  • post可以附加body,可以支持form、json、 xml、binary等各种数据格式
  • 行业通用的Restful规范
    • 无状态变化的建议使用get请求(比如请求多次结果一致,不涉及信息修改)
    • 数据的写入与状态修改建议用post

Session、Cookie区别实战解析。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容