浏览器(Browser)刷新页面的三种方式

转载 2007年10月03日 07:54:00
 原文: http://blog.csdn.net/hehbhehb/archive/2006/09/25/1274829.aspx

浏览器(Browser)刷新页面的三种方式

1:通过直接写HTML TAG刷新,即所谓的"Client pull"方式
<html>
<title>EE4000 System Info</title>
<meta http-equiv="Refresh" content="3">
<link rel="stylesheet" href="../../App_comm/html/main.css" type="text/css">
……………
</html>
Browser 将会每隔3秒刷新一次此页面.



2:通过Refresh响应头通知Browser 刷新
Browser发出请求,Server发出响应,如果在响应头中加入Refresh头(格式如下),Browser就会根据Refresh中的值
再次发出请求(如果值为0则不发).比如Server发出以下响应报文,将通知Browser 3秒后刷新一次(仅一次,如要再次刷新,仍然需要在响应报文中加入Refresh响应头).
HTTP/1.0 200
Content-type: text/html
Refresh:3; URL=http://192.168.11.21/App/html/snmp.html

我查找了HTTP1.0,并未发现Refresh的定义,Refres头可能属于extension-header之列.由于Refresh不是标准
头,因此不能保证所有Browser都识别它进而刷新.



3:通过Content-Type响应头刷新,这也是通常所谓的"Server push"方式,不过IE目前并不支持这种用法
Server以如下方式回响应

先发:
HTTP/1.0 200
Content-Type:multipart/x-mixed-replace;boundary=NEXT  

--NEXT
Content-type: text/html
First data(或图片)

等待一段时间之后再发(注意此时不发"HTTP/1.0 200"等Head了):
--NEXT
Content-type: text/html
Second data
...

等待一段时间之后再发结束报文:
--NEXT
last data
--NEXT--


在以上Content-Type:multipart/x-mixed-replace;boundary=NEXT头中,x-mixed-replace表示通知Browser收到数
据后在显示时要覆盖前面收到的数据,NEXT为边界符.这种Server push机制的特点是:Server发送完第一部分
response之后并不关闭socket,一直报持保持open(这样会导致Server端打开较多的TCP/IP port),如果Server每次
传送的是一张图片,只要间隔时间足够短的话则可形成动画效果.Server push机制对于开发web 即时通信工具(IM)
是比较关键的.

为了便于理解,以下为Server端产生响应报文的代码:
echo "HTTP/1.0 200"
echo "Content-type: multipart/x-mixed-replace;boundary=NEXT"
echo ""
echo "--NEXT"
while true
do
#
# Send the next part, followed by a boundary string
# Then sleep five seconds before repeating
#
 echo "Content-type: text/html"
 echo ""
 echo "<html>"
 echo "<head>"
 echo "<title>Processes On This Server</title>"
 echo "</head>"
 echo "<body>"
 echo "<h3> Processes On This Server</h3>"
 echo "Date:"
 date
 echo "<p>"
 echo "<pre>"
 ps -el
 echo "</pre>"
 echo "</body>"
 echo "</html>"
 echo "--NEXT"
 sleep 5
done
 

简单区分局部刷新和整页刷新(IE)

局部刷新,ScriptManager,UpdatePanel
  • bydxyj
  • bydxyj
  • 2010年08月12日 12:06
  • 1454

Pjax实现网页局部刷新

现在很多网站( facebook, twitter)都支持这样的一种浏览方式, 当你点击一个站内的链接的时候, 不是做页面跳转, 而是只是站内页面刷新。 这样的用户体验, 比起整个页面都闪一下来说,...
  • Toxic07
  • Toxic07
  • 2015年07月10日 15:53
  • 2539

Js控制页面刷新(局部刷新&全页面刷新)

$.get方法,$.post方法,$.getJson方法,$.ajax方法如下 前两种使用方法基本上一样 $.get(”Default.php”, {id:”1″, page: “2″ }, fu...
  • luckymaoyy
  • luckymaoyy
  • 2016年12月09日 15:36
  • 2512

局部刷新的两种实现方式大家看看啊

  • 2008年09月17日 12:24
  • 57KB
  • 下载

浏览器的刷新原理

今晚在做一个商品筛选的功能,通过几十个商品参数筛选商品列表,因为参数太多,外加考虑到SEO的部分,所以我不想在地址栏暴漏参数传递的部分,所以就采用了POST传值的方式来解决,但是POST传值就面临着用...
  • sibang
  • sibang
  • 2014年08月21日 16:54
  • 1220

浏览器三种刷新方式所采取的缓存机制

众所周知浏览器是通过Last-Modified和Expires来处理缓存的,具体机制就不做解释,而在具体调试中发现并不按我们想象的方式进行,其原因很有可能是由于你的不同刷新方式导致。 对于大多数...
  • dazhi_100
  • dazhi_100
  • 2014年08月13日 13:02
  • 980

浏览器(Browser)刷新页面的三种方式

 原文: http://blog.csdn.net/hehbhehb/archive/2006/09/25/1274829.aspx浏览器(Browser)刷新页面的三种方式 1:通过直接写HTML...
  • zengkai777
  • zengkai777
  • 2007年10月03日 07:54
  • 16907

浏览器刷新页面的三种方式

浏览器(Browser)刷新页面的三种方式1:通过直接写HTML TAG刷新,即所谓的"Client pull"方式EE4000 System Info……………Browser 将会每隔3秒刷新一次此...
  • hehbhehb
  • hehbhehb
  • 2006年09月25日 09:49
  • 1369

浏览器刷新页面的三种方式

浏览器(Browser)刷新页面的三种方式1:通过直接写HTML TAG刷新,即所谓的"Client pull"方式EE4000 System Info……………Browser 将会每隔3秒刷新一次此...
  • tangping_001
  • tangping_001
  • 2007年10月25日 21:57
  • 283

浏览器三种刷新方式所采取的缓存机制

众所周知浏览器是通过Last-Modified和Expires来处理缓存的,具体机制就不做解释,而在具体调试中发现并不按我们想象的方式进行,其原因很有可能是由于你的不同刷新方式导致。对于大多数浏览器而...
  • cutesource
  • cutesource
  • 2010年04月16日 16:12
  • 3039
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:浏览器(Browser)刷新页面的三种方式
举报原因:
原因补充:

(最多只允许输入30个字)