W3C优质网页小贴士(一)(3)
作者:ZDYX 来源:zdyx.org 发布时间:2008-04-06 16:35:00
使用标准的重定向:不要破坏后退按钮!
应该使用的方法和应该避免的技术
不要使用“refresh”进行重定向
如果你想让地址显示存放在的页面内容,你不应该 像这样使用“refresh”技术:
<META HTTP-EQUIV=REFRESH CONTENT="1; URL=http://www.example.org/bar">.
为什么呢?因为它将破坏“后退”按钮。想象一下读者按下“后退”按钮之后,网页将被再次刷新,读者将看到同一个页面。读者很有可能会变得不舒服,然后关闭浏览器窗口——这是作为网页作者的你不太想得到的效果吧。
请使用 HTTP 重定向
在使用“refresh” meta 标签的处理重定向的时候,我们用的是一个文档内部的特殊指令。用户代理(浏览器或是 Markup Validator)会下载该页面,查找其上下文,找到“refresh”指令,等待指定的时间(设置“0”秒,可以得到立即刷新的效果,也可以设置具体的等待秒数),然后继续导入新地址。
另一方面,“HTTP 重定向”执行得更直接,因为它是在 另一层内 完成的。当 User Agent (i.e. a browser or the validator) 首次访问服务器并请求该文档时,_服务器_自身就会判断出该文档要重定向到另一个地址,于是服务器便主动告知 user-agent 它应该直接访问新地址。
同时,“HTTP 重定向”能提供更多的方法进行重定向,因为它除了能提供给 User Agent 新地址外,还有很多功能:服务器能提供关于重定向的目的和类型的信息,这些信息允许 User Agent 根据不同的重定向种类进行不同的动作。HTTP 重定向(根据服务器发送的相关 HTTP status code)的种类如下:Permanent Redirect (HTTP 301)、 Temporary Redirect (307)、undefined redirect (302)。
参阅下面的文档和教程学习如何通过你的服务器使用它。
延伸阅读
About redirects :
The Top Ten New Mistakes of Web Design, by Jakob Nielsen, offers a view of why refresh should not be used for redirecting a document to a new address, as well as other (do's and) don't's on web design.
The section 10.3 Redirection 3xx in Hypertext Transfer Protocol -- HTTP/1.1, is the authoritative documentation on HTTP redirects.
How to do redirects with your server:
The "Redirect" directive in Apache's manual
The Apache URL rewriting guide
using the
header
function in PHP


猜你喜欢
- python 不能写new_loss=old_loss=[]这样 两个变量实际上是同一个list要分开写new_loss=[]Old_los
- 废话不多说,直接上代码:# coding:utf-8from urllib import requestfrom urllib import
- 我就废话不多说了,直接上代码吧!conv1=nn.Conv2d(1,2,kernel_size=3,padding=1)conv2=nn.C
- 同步:就是在执行栈中(主线程)执行的代码异步:就是在异步队列(macroTask、microTask)中的代码简单理解区别就是:异步是需要延
- 本文实例讲述了python使用htmllib分析网页内容的方法。分享给大家供大家参考。具体实现方法如下:import htmllib, ur
- 系统环境:64位win7企业版python2.7.102016.08.16修改内容:1)read_until()函数是可以设置timeout
- 前言go不要求类型显示地声明实现了哪个接口,只要实现了相关的方法即可,编译器就能检测到空接口类型可以接收任意类型的数据:type eface
- 除了在Matlab中使用PRTools工具箱中的svm算法,Python中一样可以使用支持向量机做分类。因为Python中的sklearn库
- Yahoo!的Exceptional Performance团队为改善Web性能带来最佳实践。他们为此进行了一系列的实验、开发了
- 前言原理:Windows逆向,通过内联汇编的形式调用发消息的函数下面的代码PC微信版本是:3.7.0.26 , python使用的32位的3
- 本文实例讲述了Python异步编程之协程任务的调度操作。分享给大家供大家参考,具体如下:我们知道协程是异步进行的,碰到IO阻塞型操作时需要调
- 启动targetcli时遭遇ImportError: cannot import name ALUATargetPortGrou
- 多标签分类器多标签分类任务与多分类任务有所不同,多分类任务是将一个实例分到某个类别中,多标签分类任务是将某个实例分到多个类别中。多标签分类任
- Pygame 中提供了一个draw模块用来绘制一些简单的图形状,比如矩形、多边形、圆形、直线、弧线等。pygame.draw模块的常用方法如
- 1.INSERT INTO SELECT语句 语句形式为:Insert into Table2(field1,field2,...) sel
- 今天安装了几个模块,在cmd测试都正常,但是在pycharm就不行,后面试了以下方法:1、2、3、选择python.exe4、然后在回到se
- 定时将源文件或目录使用WinRAR压缩并自动备份到本地或网络上的主机1.确保WinRAR安装在默认路径或者把WinRAR.exe添加到环境变
- Python字符串和字典相关操作的实例详解字符串操作:字符串的 % 格式化操作:str = "Hello,%s.%s enough
- 概念第一步:计算一个梯度 Ix,Iy第二步:整合矩阵,计算特征值第三步:比较特征值的大小第四步: 非极大值抑制,把真正的角点留下来,角点周围
- ndarray 的数据类型数据类型,即 dtype ,也是一个特殊的对象, 它包含了ndarray需要为某一种类型数据所申明的内存块信息(也