当前位置: 首页 > 文章教程  > 计算机与互联网 > 网络编程

11.1.1重定向的概念

9/17/2020 9:37:07 PM 人评论

11.1.1重定向的概念

11.1 页面间的参数传递

实现网页间参数的传递主要有以下5种方法。

(1)利用form表单的隐藏域hidden,在表单数据提交时传递参数,这种方法需要和form表单一起使用。

(2)利用超链接通过URL查询字符串传递参数。

(3)使用header()函数重定向功能或JavaScript重定向功能,通过URL查询字符串传递参数。

(4)使用Cookie将浏览器用户的个人资料存放在浏览器端主机中,其他PHP程序通过读取浏览器端主机中的Cookie信息实现页面间的参数传递。

(5)使用Session将浏览器用户的个人资料存放于WEB服务器中,其他PHP程序通过读取服务器端主机中的Session信息实现页面间的参数传递。

由于第1种和第2种方法在数据的采集章节中已经进行了详细的讲解,这里着重讲解如何使用重定向实现网页间参数的传递。

11.1.1 重定向的概念

重定向就是通过各种方法将网络请求从当前页面(page1)重新定位到新页面(page2)的技术,利用这种技术可以实现页面间跳转并通过查询字符串传递参数。重定向的工作原理如图11-1所示,具体过程如下。

(1)浏览器向WEB服务器(WEB服务器1)中的page1页面发出第一次请求,page1页面接收到请求后,仅仅向浏览器返回一个重定向响应头信息(重定向响应头信息格式如图11-1所示)。该响应信息头中不包含任何需要显示的数据,只包含需要重定向到另一个WEB服务器(WEB服务器2)页面page2的地址信息(http://www.baidu.com/s?wd=session)。此时浏览器与WEB服务器1之间完成了第一次请求与第一次响应。

(2)浏览器接收到WEB服务器1的page1页面的重定向响应后,将自动向响应头信息中指定的URL地址(WEB服务器2中的page2页面)发出新的请求(第二次请求)。WEB服务器2中的page2页面接收到新的请求后,page2页面将运行结果返回给浏览器。此时浏览器与WEB服务器2之间完成了第二次请求与第二次响应。

从图11-1可以看出,整个重定向的过程涉及两次“请求/响应”过程,通过向重定向URL中加入查询字符串,可以实现跨服务器的页面之间的参数传递。PHP中实现重定向的方法主要有两种:使用JavaScript实现重定向和使用PHP的header("Location:URL")函数实现重定向。

figure_0237_0302
图11-1 重定向步骤

11.1.2 使用JavaScript实现重定向

在目录“C:\wamp\www\11”下创建javascript_redirect.php程序,并在该程序中输入如下代码。打开浏览器,并在地址栏中输入“http://localhost/11/javascript_redirect.php,”可以访问到百度的页面。javascript_redirect.php程序向百度搜索引擎传递查询字符串wd=session,从而实现了跨服务器页面之间的参数传递。

<script>

window.location='http://www.baidu.com/s?wd=session'

</script>

将javascript_redirect.php程序修改为如下代码(粗体字部分为代码的改动部分),也可实现相同的效果。

<script>

window.location.replace('http://www.baidu.com/s?wd=session')

</script>

11.1.3 使用PHP实现重定向

PHP 提供的 header("Location:URL")函数通过向响应头中添加重定向头信息从而实现重定向功能。在目录“C:\wamp\www\11”下创建 php_redirect.php 程序,并在该程序中输入如下代码。打开浏览器并在地址栏中输入“http://localhost/11/php_redirect.php,”可以访问到百度的页面,实现与上面相同的效果。

<?php

header("Location:http://www.baidu.com/s?wd=session");

?>

相关教程

共有条评论 网友评论

验证码: 看不清楚?