php中的页面跳转和重定向
php中的页面跳转和重定向
ThinkPHP中跳转和重定向的区别
跳转:
浏览器认为: 当前URL请求成功, 重新请求新的URL.
浏览器会 记录当前的URL 和 新的URL 在请求历史记录中.
回退, 是可以回退到, 当前的URL上的. (无论 success, 和 error 都是一样)
语法实现: 在浏览器层面, 修改浏览器的location.href来实现的:location.href=href;
重定向:
浏览器认为, 当前的URL无效, 被重新定位到新的URL上.
浏览器不会记录当前的URL到历史记录中,
不能回退到当前的URL中.
语法实现, 都是服务器向浏览器发出重定向响应指令,
通过响应头:
header('Location:'. URL), 立即重定向到某个URL
header('Refresh: ')
重定向使用实例
重定向(Redirect)就是通过各种方法将各种网络请求重新定个方向转到其它位置(如:网页重定向、域名的重定向、路由选择的变化也是对数据报文经由路径的一种重定向)。
什么时候用转发什么时候重定向
java中,如果你要跳转的那个页面需要用到你本页的参数,就用转发request.getRequestDispache("目标页面").forward(request,response),反之则可以用重定向
转发是在服务器内跳转的
重定向是服务器反馈客户端,由客户端重新发起其他请求
java中转发与重定向的区别
转发与重定向的区别如下:
转发是服务器行为,重定向是客户端行为
1.转发在服务器端完成的;重定向是在客户端完成的
2.转发的速度快;重定向速度慢
3.转发的是同一次请求;重定向是两次不同请求
4.转发不会执行转发后的代码;重定向会执行重定向之后的代码
5.转发地址栏没有变化;重定向地址栏有变化
6.转发必须是在同一台服务器下完成;重定向可以在不同的服务器下完成
在servlet中调用转发、重定向的语句如下:
request.getRequestDispatcher("new.jsp").forward(request, response);//转发到new.jsp
response.sendRedirect("new.jsp");//重定向到new.jsp
转发过程:客户浏览器发送http请求,web服务器接受此请求,调用内部的一个方法在容器内部完成请求处理和转发动作,将目标资源发送给客户;在这里,转发的路径必须是同一个web容器下的url,其不能转向到其他的web路径上去,中间传递的是自己的容器内的request。在客户浏览器路径栏显示的仍然是其第一次访问的路径,也就是说客户是感觉不到服务器做了转发的。转发行为是浏览器只做了一次访问请求。
重定向过程:客户浏览器发送http请求,web服务器接受后发送302状态码响应及对应新的location给客户浏览器,客户浏览器发现是302响应,则自动再发送一个新的http请求,请求url是新的location地址,服务器根据此请求寻找资源并发送给客户。在这里location可以重定向到任意URL,既然是浏览器重新发出了请求,则就没有什么request传递的概念了。在客户浏览器路径栏显示的是其重定向的路径,客户可以观察到地址的变化的。重定向行为是浏览器做了至少两次的访问请求的。
重定向,其实是两次request
第一次,客户端request A,服务器响应,并response回来,告诉浏览器,你应该去B。这个时候IE可以看到地址变了,而且历史的回退按钮也亮了。重定向可以访问自己web应用以外的资源。在重定向的过程中,传输的信息会被丢失。
php中的页面跳转和重定向的关系与区别
首先解释下,页面跳转与页面重定向的关系?
页面重定向一定会有页面跳转,页面跳转不一定会有页面重定向,也就是说页面重定向真包含于页面跳转,页面重定向是页面跳转的充分不必要条件。
总结下PHP下的几种页面跳转的方法
1、meta标签实现
只需在head里加上下面这一句就行了,在当前页面停留0秒后跳转到目标页面
echo '<meta http-equiv="refresh" content="0;url=https://www.baidu.com">';
2、JavaScript实现
echo '<script>window.location.href = 'https://www.baidu.com';</script>';
3、PHP页面重定向实现
header('Location: https://www.baidu.com');
使用PHP页面重定向跳转与上面两种方法有点不同的是,它的http应答状态码是指定为3xx。具体差别涉及HTTP的请求过程,这里就不细说了。
重定向是浏览器解析http的首部指令(比如302状态码)时实现跳转的,这个过程不会响应跳转前的页面,而普通页面跳转是在html页面(即http响应的主体)执行时进行跳转的。
php中的页面跳转和重定向的更多相关文章
- Struts2中的页面跳转
内容源自:Struts2中的页面跳转 一.全局页面的设置如果<package>包中的一些action都返回success,并且返回的页面都是同一个JSP页面,这样就可以配置全局的结果页面. ...
- [Xcode 实际操作]九、实用进阶-(23)多个Storyboard故事板中的页面跳转
目录:[Swift]Xcode实际操作 本文将演示多个Storyboard故事板中的页面跳转. 使用快捷键[Command]+[N]创建一个新的故事板文件. (在项目文件夹[DemoApp]上点击鼠标 ...
- web项目中实现页面跳转的两种方式
<a href="javascript:"></a>跳转在网页本身,URL不改变 <a href="#"></a> ...
- WEB开发中的页面跳转方法总结
PHP header()函数跳转 PHP的header()函数非常强大,其中在页面url跳转方面也调用简单,使用header()直接跳转到指定url页面,这时页面跳转是302重定向: $url = & ...
- php开发中的页面跳转方法总结
PHP页面跳转实现的功能就是将网站中一个网页跳转到另一个网页中.对于刚刚学习PHP语言的朋友来说,是必须要掌握的基础方法. 页面跳转可能是由于用户单击链接.按钮等触发的,也可能是系统自动产生的.页面自 ...
- js中实现页面跳转
1.在本页中跳转到指定页面 1.window.location.href方式 <script language="javascript" type="text ...
- 关于在Android中Activity页面跳转的方法
一.无返回结果的页面跳转 1.创建两个类FActivity.java和SActivity.java 2.创建两个layout目录下的factivity.xml和sactivity.xml 3.在And ...
- js中实现页面跳转(返回前一页、后一页)
一:JS 重载页面,本地刷新,返回上一页 代码如下: <a href="javascript:history.go(-1)">返回上一页</a> <a ...
- Flask实战第5天:页面跳转和重定向
GET和POST请求 在网络请求中有许多请求方式,比如GET, POST, DELETE, PUT等,最常用的就是GET和POST GET 只会在服务器上获取资源,不会更改服务器的状态,这种请求方式推 ...
随机推荐
- ZOJ 3556
终于做出来了,激动.... 这道题隐藏得深啊,但若推导下来,就变简单了. 首先,一个集合的子集的个数为2^n=s.注意了,题目求的是有序集合组,并且每个集合是可以重复使用的,怎么办呢?这就要想到多重集 ...
- 叫号系统排队系统挂号系统实现(JAVA队列)
关于队列,使用的地方很的多. 现实中有许多的样例. 比方医院的挂号系统,银行里的叫号系统,食堂里的排队打饭等等.市场上又这种排队取号的设备.他们的功能基本例如以下: 1.系统可联网联机统一发号.2.系 ...
- easyui编辑器(kindeditor-4.1.10)
//1 重写kindedit -建一个js文件 easyui_kindeditor.js (function ($, K) { if (!K) throw " ...
- jsp的凝视可能会影响页面载入速度
在jsp页面使用"<!-- -->"的凝视,凝视里面的java代码还是会得到运行,能够再查看页面源码上看到运行完毕的内容,这样就会让不希望运行的代码得到运行.影响载入速 ...
- Android This Activity already has an action bar supplied by the window decor
This Activity already has an action bar supplied by the window decor. Do not request Window.FEATURE_ ...
- jmeter脚本编写之五类常见请求编写
1.普通post请求 2.普通json请求 3.带query參数的json请求 4.xml请求 5.上传请求 starting (Windows系统 点击 F12 调出开发人员工具,选择Network ...
- node16---cookie session
03.js var express = require("express"); var app = express(); var db = require("./mode ...
- 为什么同样的数据,俩人生成的obj和bin文件不一样
http://bbs.csdn.net/topics/270055083 编译器编译的时候可能有些东西依赖时间,或许是优化的原因,如果可以,换个编译器试试,或许两次编译的时候,强制把系统时间调成一个看 ...
- hiho 1604 - 股票价格,思维题
题目链接 题目大意 小Hi最近在关注股票,为了计算股票可能的盈利,他获取了一只股票最近N天的价格A1~AN. 在小Hi的策略中,每天可以在下列三种操作中选取一种: 1.什么也不做: 2.按照当天的价格 ...
- HTML、CSS规范
作为一名前端开发者,至少要对HTML.CSS规范有个了解,然后尝试在项目是使用,以便别人阅读你代码的时候,也相对轻松点. HTML.CSS规范,参见:编码规范 by @mdo JavaScript 参 ...