从零开始学Python Flask Web(五)--Flask Response响应

前言:

不管我们使用什么语言开发,既然我们做的是web,都遵循的是HTTP协议,那么既然遵循这个协议,我们客户端发送请求,发送的就是Request对象,服务器接收到请求,给我们返回数据,返回的就是Response对象。

和Request一样,Response同样是一个对象。我们客户端(浏览器)的request对象发送到服务器端,服务器做出响应,把response对象发送给客户端。我们也不能把response就认为是我们看到的五颜六色的页面,那只是response中的body的一部分。它还有headers等信息,而且我们做技术的,服务器端发送出来的response我们是可以参与其中的,就是我们可以控制服务器端返回给客户端的是什么。接下来就让我们来直观感受一下。


Response直观感受

我们先去访问一下网易云音乐的首页,看看网易服务器给我们返回了的东西大概都有哪些。

首先我们看一下返回的response的头部信息:有状态码:200,还有一堆属性的东西。如下图:

然后看一下response的body,就是我们看到的浏览器给我们渲染成的美好的页面。如下图:

以上呢,就是一个成熟的服务器给我们返回来的东西,就是这个response对象。


参与到Response中

首先我在pycharm中创建了个flask项目,然后在templates里面写了个resp.html文件,在  .py 文件中写了路由视图函数等,如图:图中标明信息

这是resp.html文件:

这是.py 文件:

然后我们运行,查看结果:发现是不是resp.html中写了什么,这里就显示了什么,因为我们指定了发送的格式是纯文本,所以浏览器接收到之后就按纯文本处理了。

我们看一下具体的response信息:发现我们成功访问了,而状态码是404,而且类型也是text/plain.这和逻辑不符合,没关系,这就是因为我们参与了response的结果。这时候你是不是发现浏览器很傻,你告诉它啥,它就信啥。

然后我们修改我们的代码,把格式和状态码改为正常的。

然后来看我们的运行结果:终于像个平时看到的网页了。

再来看它的response信息:发现我们告诉浏览器我发过来的格式是html。那浏览器就把刚才的html成功渲染了,而不是纯文本发送过来了。而且状态码也成功的表示为200了。正确了。


总结:

通过以上简单的小栗子,我们发现服务器给客户端的response对象我们是可以参与其中的。并不是说我们写了个html,客户请求过来了,我们就把html发送过去了。这里很多东西我们都是可以参与的。

猜你喜欢

转载自blog.csdn.net/qq_42666483/article/details/82526765