HTTP(Hypertext Transfer Protocol,超文本传输协议)定义了服务器和客户端之间信息交流的格
式和传递方式,它是万维网(World Wide Web)中数据交换的基础。
![](https://img-blog.csdnimg.cn/20200207153317788.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE1NjQ3Nzk=,size_16,color_FFFFFF,t_70)
HTTP请求
一个标准的URL由很多部分组成,以下面这个URL为例:
http://helloflask.com/hello?name=Grey
![](https://img-blog.csdnimg.cn/20200207154921864.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE1NjQ3Nzk=,size_16,color_FFFFFF,t_70)
请求报文
当我们在浏览器中访问这个URL时,随之产生的是一个发向
http://helloflask.com
所在服务器的请求。请求的实质是发送到服务器上的
一些数据,这种浏览器与服务器之间交互的数据被称为报文(message),请求时
浏览器发送的数据被称为请求报(request message),而服务器返回的数据被
称为响应报文(response message)。
Request对象
请求对象request封装了从客户端发来
的请求报文,我们能从它获取请求报文中的所有数据。
request对象常用的属性和方法
![](https://img-blog.csdnimg.cn/20200207155557615.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE1NjQ3Nzk=,size_16,color_FFFFFF,t_70)
在Flask中处理请求
1.路由匹配
为了便于将请求分发到对应的视图函数,程序实例中存储了一个路由表(app.url_map),其中定义了URL规则和视图函数的映射关系。当请求发来后,
Flask会根据请求报文中的URL(path部分)来尝试与这个表中的所有URL规则进行