4.HTTP请求

文章目录

  • 1.请求报文和响应报文
  • 2.request对象
    • 2.1什么是request对象?
    • 2.2为什么要有request对象?
    • 2.3 requst对象的常用方法
  • 3.常见的HTTP方法见下表:

1.请求报文和响应报文

打开浏览器,当我们输入一个url,点击访问的时候会向目标服务器发送一个HTTP请求,请求的的时候会发生什么呢,会经过os七层,这里我们不赘述os七层通讯原理,可以理解为通过url我们请求目标服务器的一段具体的资源,可以理解为发送了一个请求,一个请求的本质就是向目标服务器上面发送了一些数据,这种浏览器于服务器之间交互的数据被称为报文。

  • 请求报文:请求时浏览器发送的数据称为请求报文
  • 响应报文:服务器收到了请求返回给浏览器的数据称为响应报文

报文中的GET请求和POST请求

  • GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连,如EditBook?name=test1&id=123456.
  • POST方法是把提交的数据放在HTTP包的请求体中.
  • GET提交的数据大小有限制(因为浏览器对URL的长度有限制)
  • POST方法提交的数据没有限制。
  • GET与POST请求在服务端获取请求数据方式不同。

2.request对象

2.1什么是request对象?

request对象封装解析了请求报文中的数据,其大部分功能是由依赖包werkzeug完成的,并且每个request对象都是线程隔离的,保证了数据的安全性。

2.2为什么要有request对象?

request对象解决了很多问题,各种请求的方法以及请求参数的格式都不一致,所以flask帮我们做了一个request对象,专门去解析各种方法以及各种格式的请求,以便于去开发使用。

2.3 requst对象的常用方法

request对象使用需要从flask模块中导入

from flask import Flask, request
 from flask import Flask
    from flask import request
    from flask import render_template
    from flask import redirect
    from flask import make_response

    app = Flask(__name__)


    @app.route('/login.html', methods=['GET', "POST"])
    def login():

        # 请求相关信息
        # request.method  提交的方法
        # request.args  get请求提及的数据
        # request.form   post请求提交的数据
        # request.values  post和get提交的数据总和
        # request.cookies  客户端所带的cookie
        # request.headers  请求头
        # request.path     不带域名,请求路径
        # request.full_path  不带域名,带参数的请求路径
        # request.script_root  
        # request.url           带域名带参数的请求路径
        # request.base_url		带域名请求路径
        # request.url_root      域名
        # request.host_url		域名
        # request.host			127.0.0.1:500
        # request.files
        # obj = request.files['the_file_name']
        # obj.save('/var/www/uploads/' + secure_filename(f.filename))

        # 响应相关信息
        # return "字符串"
      
        return "内容"

    if __name__ == '__main__':
        app.run()

3.常见的HTTP方法见下表:

请求 说明
GET 获取服务器资源
POST 处理服务器资源
PUT 在服务器更新资源
DELETE 删除服务器资源
PATCH 在服务器更新资源(客户端提供改变的属性)

你可能感兴趣的:(Flask,http,flask,python)