Yii2 响应部分 response
当应用完成处理一个请求后, 会生成一个yii\web\Response响应对象并发送给终端用户 响应对象包含的信息有HTTP状态码,HTTP头和主体内容等, 网页应用开发的最终目的本质上就是根据不同的请求构建这些响应对象。
设置状态码 基本上我们并不会直接去设置网页的状态码,所以了解一下就可以了。 \Yii::$app->response->statusCode = 404; 1 1 HTTP 头部 Yii 提供了比较简易操作 Http 头部的方法。 $headers = Yii::$app->response->headers; // 增加一个 Pragma 头,已存在的Pragma 头不会被覆盖。
$headers->add('Pragma', 'no-cache'); // 设置一个Pragma 头. 任何已存在的Pragma 头都会被丢弃
$headers->set('Pragma', 'no-cache'); // 删除Pragma 头并返回删除的Pragma 头的值到数组
$values = $headers->remove('Pragma'); // 获取头部信息的个数
$headers->count(); // 获取已经存在 Pragma 属性的值
$headers->get('Pragma'); // 增加一个 Pragma 头的默认值,如果 Pragma 头已经存在,则不会增加。
$headers->setDefault('Pragma', 'no-cache'); // 查看 Pragma 头是否存在,返回boolean值
$headers->has('Pragma'); // 移除目前存在的所有头部信息
$headers->removeAll(); 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 浏览器跳转 下面列出来的这两个跳转蛮常用的,所以一定要记住 public function actionIndex(){
// 操作方法内调用
$this->redirect('http://www.yiichina.com/' , 301);
} // 如果需要在操作方法外面使用
\yii::$app->response->redirect('http://www.baidu.com/'); 1
2
3
4
5
6
7 1
2
3
4
5
6
7 当然Yii也提供了其他的跳转方式,手册没有列出来 public function actionIndex(){
// 跳转到首页
$this->goHome(); // 返回上一页
$this->goBack(); // 刷新页面
$this->refresh(); // 当然这些跳转方式不必非要在操作方法内使用,根据自己的需求去调用。
} 1
2
3
4
5
6
7
8
9
10
11
12 1
2
3
4
5
6
7
8
9
10
11
12 发送文件 yii提供了多种发送文件的模式,基本上已经满足用户的需求了。 public function actionIndex(){
// 发送一个已存在的文件到客户端
return \Yii::$app->response->sendFile('./robots.txt');
// 发送一个文本字符串作为文件到客户端
return \Yii::$app->response->sendContentAsFile('i love you','yyy.log');
}
// 如果不是在操作方法之内调用,没办法return,yii也追加了此方法
\Yii::$app->response->sendFile('./robots.txt')->send();
Yii2 响应部分 response的更多相关文章
- 转:PHP--获取响应头(Response Header)方法
转:http://blog.sina.com.cn/s/blog_5f54f0be0102uvxu.html PHP--获取响应头(Response Header)方法 方法一: ========== ...
- JMeter 检查点之响应断言(Response Assertion)
检查点之响应断言(Response Assertion) by:授客 QQ:1033553122 JMeter断言用于对sampler(采样器)进行额外检查,且在相同作用域中,每执行完一个samp ...
- ASP.NET Core 如何记录每次响应的Response信息 - sky 胡萝卜星星 - CSDN博客
原文:ASP.NET Core 如何记录每次响应的Response信息 - sky 胡萝卜星星 - CSDN博客 上一篇文章中我们已经成功的记录了Request部分的信息,现在我们来看下如何记录Res ...
- 转:http协议学习系列(响应头---Response Headers)
HTTP最常见的响应头如下所示: ·Allow:服务器支持哪些请求方法(如GET.POST等): ·Content-Encoding:文档的编码(Encode)方法.只有在解码之后才可以得到Conte ...
- 【Azure 应用服务】App Service 通过配置web.config来添加请求返回的响应头(Response Header)
问题描述 在Azure App Service上部署了站点,想要在网站的响应头中加一个字段(Cache-Control),并设置为固定值(Cache-Control:no-store) 效果类似于本地 ...
- Django 源码小剖: 响应数据 response 的返回
响应数据的返回 在 WSGIHandler.__call__(self, environ, start_response) 方法调用了 WSGIHandler.get_response() 方法, 由 ...
- Alamofire源码解读系列(九)之响应封装(Response)
本篇主要带来Alamofire中Response的解读 前言 在每篇文章的前言部分,我都会把我认为的本篇最重要的内容提前讲一下.我更想同大家分享这些顶级框架在设计和编码层次究竟有哪些过人的地方?当然, ...
- 请求头(request headers)和响应头(response headers)解析
*****************请求头(request headers)***************** POST /user/signin HTTP/1.1 --请求方式 文件名 http ...
- 获取SpringCloud gateway响应的response的值,记录踩坑
最近在做网关改造,想要通过Gateway过滤器获取ResponseBody的值,查看了网上的帖子和官网内容: 帖子:https://cloud.tencent.com/developer/articl ...
随机推荐
- spring boot模仿reponseBody注解,自定义注解,返回值加上元数据
简介 ResponseBody是通过RequestResponseBodyMethodProcessor起作用的. 我们的做法是写一个包装类,替换掉他 问题:怎么替换呢? 取出 Spring的List ...
- Eclipse源代码分析
Eclipse源代码分析 一.概述走入Eclipse的内核,看看它到底是怎么工作的? 1.Eclipse源代码 下载地址:http://download.eclipse.org/eclipse/dow ...
- go编译
1. Go编译器 两种官方编译器,gc和gccgo,其中gccgo基于gcc后端. go编译器支持8种指令集,不同建构编译质量不同: amd64 (also known ) (x86 or x86-) ...
- Face Alignment by Coarse-to-Fine Shape Searching--解析
人脸关键点定位.Face Alignment by Coarse-to-Fine Shape Searching 算法源码详解(上) http://blog.csdn.net/shenxiaolu19 ...
- jstorm之于storm
关于流处理框架,在先前的文章汇总已经介绍过Strom,今天学习的是来自阿里的的流处理框架JStorm.简单的概述Storm就是:JStorm 比Storm更稳定,更强大,更快,Storm上跑的程序,一 ...
- Vmware10 Centos7 共享文件夹设置方法
先安装包依赖: yum -y install kernel-devel-$(uname -r) yum -y install net-tools perl gcc gcc-c++ 安装vm tool ...
- 【oneday_onepage】——How to stretch the life of your SSD storage
How to stretch the life of your SSD storage July 18, 2013, 9:06 PM — Once a PC enthusiast's dream st ...
- linq操作符:连接操作符
linq中的连接操作符主要包括Join()和GroupJoin()两个. 一.Join()操作符 Join()操作符非常类似于T-SQL中的inner join,它将两个数据源进行连接,根据两个数据源 ...
- 利用SpringCloud搭建一个最简单的微服务框架
http://blog.csdn.net/caicongyang/article/details/52974406 1.微服务 微服务主要包含服务注册,服务发现,服务路由,服务配置,服务熔断,服务降级 ...
- .gitignore不生效解决办法
.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的.那么解决方法就是先把本地缓存删除(改变成未track状态),然后再提 ...