企业网站建设

建站知识

今日已发布信息: 267787
累计注册用户: 68453055

8月28号谷歌 PR值提高的思考

中文网站 算法调整

概述: e的算法的改变,更说明了一点就是Google对中文站点的支持,使算法更亲近于中文网站.   大家都知道,同样类型,同样质量的英文网站与中文网站对比,PR值高的是英文网站,但是这一次与上一次的算法调整,主要是为了让中文网站与英文网站有一个站在同一起跑线上.也说明了Google的算法改变得越来越懂中文了.   Google的PR值是自己的独创,处于互联网的搜索算法领先位置,他没有必要去放轻他的算法来去改变站长对Google的看法,算法的改变只会越来越正规

  想了好久,把自己的思路整理一下,写了出来.

  好多人都说自己的PR上涨了,认为是Google对PR值放轻或是Google要讨好国内站长的一种表现,但是我认为这些不全对.

  大量网站PR值很莫明其妙的上涨,说明了Google的算法的改变,更说明了一点就是Google对中文站点的支持,使算法更亲近于中文网站.

  大家都知道,同样类型,同样质量的英文网站与中文网站对比,PR值高的是英文网站,但是这一次与上一次的算法调整,主要是为了让中文网站与英文网站有一个站在同一起跑线上.也说明了Google的算法改变得越来越懂中文了.

 

  加格达奇手机建站  太原烟酒回收   今日推荐免费建站   分类信息   瓦房店网站建设公司

 

  Google的PR值是自己的独创,处于互联网的搜索算法领先位置,他没有必要去放轻他的算法来去改变站长对Google的看法,算法的改变只会越来越正规

  但是这一次的调整,让很多的网站的PR都上涨很历害,我想这只是一个暂时的上涨,这只是他的初步算法调整计划.下一步Google的算法调整,可能会让一些站的PR下降,然后保留那部分好的站的PR值.

  以上的只是我个人的看法.因为这是一个正规公司必然要走的路.当然,我也希望Google越走越好.

  记得有一个站长说过:PR高的站有可能是垃圾站,但是精品站不一定有PR

  所以我们不能用PR值去看一个站的好与坏,认真做站才是关键.

 

北漂请逃离北京

北京近两年的房租上涨价格超过房价,房租价格上涨显示富裕城市的实际生活成本上升幅度。

《经济观察报》根据两份报告,推断北京房租十年涨幅146%。2004年北京央立行房地产经纪有限公司发布了一份当年的北京二手房市场年度分析报告,其中提到当年一居室、两居室、三居室的平均租金分别是1415元/月、1711元/月、2032元/月,取其中间值,可以匡算出,北京市2004年房租平均值为1723元/月。

此后几年变化不大,租金收入比显示大部分投资房地产的人,重视的是房价的上升,并不在乎租金收入。2010年租赁市场开始狂欢,2010年,北京租金均价同比上涨18%, 2011年、2012年同比涨幅分别达到15%、14%。截止2013年3月,租金均价已经达到了4238元/月/套(按每平米租金均价55.77元、套均面积76平方米估算)。这是相对保守的估计,根据链家地产的统计,2010年、2011年两年间全市平均租金累计涨幅达到了25%。

特大型富裕城市对人口的吸附能力极强。

根据北京市统计局、国家统计局北京调查总队发布2012年北京宏观经济发展数据,截止2012年末,北京市常住人口2069.3万人,比上年末增加 50.7万人。其中,在京居住半年以上的外来人口773.8万人,增加31.6万人。2011年人口比上年末增加56.7万人,增长2.9%,增速比“十一五”期间年均增速下降2.1个百分点。倒推回去,整个十一五期间,北京常住人口每年增长5%,五年增长27.6%左右,是个极为惊人的数据,庞大的赴京人口为北京的房地产与房租价格上涨提供了坚实的支撑。

北京容纳的是高收入群体,资源约束也只能容纳高收入阶层,非京籍的普通收入群体在北京难以立足,也不应该在“居不易”的北京立足。

从房租看北京生活成本极高。2009年12月,《福布斯》发布全球租金最贵城市排行榜,按照调查数据,计算租用两居室的年房租价钱得出,东京、香港和北京分列前三位,上海居第五,其他分别是孟买、新加坡、首尔、悉尼、雅加达、胡志明市。

这还是北京房租大幅上涨之前的数据,如果计入人均收入,京沪等城市与新加坡等地相比,生活成本马上翻番。

从租金收入比看,北京的租金成本排名第二。租金绝对价格排名第一的东京年租金3.67万港元,人均年收入26.45万港元,租金收入比在 13.9%,属于正常范围; 排名第二的香港年租金3万港元,人均年收入34万港元,租金收入比在8.8%,属于较能忍受的范围;排名第三的北京,年租金2.84万港元,但人均年收入仅4.65万港元,租金收入比在61%,属于难以忍受的高成本范围;其他匪夷所思的房租收入比,孟买高达121%,上海为49%,雅加达51%,胡志明市 65%。孟买较为特殊,不仅贫富差距悬殊,还有庞大的贫民窟,造成普通工薪阶层的房租高成本。

从榜单看,高收入地区虽然房租高,但收入更高,生活成本相对并不高,如新加坡租金收入比仅4.2%,属于生活成本较低的乐居城市,而低收入地区租金高,生活成本直线上升,痛苦程度远远大于高收入地区。试想,工资的一半拿来缴纳房租,并且房租还在急速窜升远远超过工资涨幅,外来的无房工薪阶层的生活变得毫无指望。

收入不高的地区生活成本奇高,通常意味着悬殊的贫富差距。

根据官方数据,2012年,北京市城镇居民人均可支配收入36469元,比上年增长10.8%;扣除价格因素,实际增长7.3%,增幅高于上年 0.1个百分点。农村居民人均纯收入16476元,比上年增长11.8%,扣除价格因素后,实际增长8.2%,增幅高于上年0.6个百分点。北京普通人月收入并不算高,城镇居民仅3039.1元,而农村居民仅1373元。但北京却拥有着举世有名的高房价与高房租。

福布斯的另一份榜单是对此谜题的揭示。据该杂志所列举的全球拥有亿万美元富豪最多的城市,莫斯科拔得头筹,纽约第二,香港和伦敦并列第三,北京第9,共有21人跨进亿万俱乐部,平均资产达26亿,一举压过富豪云集的旧金山。

当然,如此相比并不准确,美国的科技富豪很多住在旧金山郊区,巴菲特一辈子住在小镇奥马哈,但无论如何,北京等中国大城市富豪聚集是不争的事实。北京本地居民依托房改房、自建房、农地拆迁等,拥有不菲的资产,望京拆迁农民成为享受极差地租的富裕群体的象征,最困难的是一无资产、二无高薪的新到北京人员。

无怪乎,以北京为首的大城市,商品房销售异常火爆,2012年销售商品房1943.7万平方米,比上年增长35%;其中销售商品住宅1483.4万平方米,增长43.3%。仅北京警方公布的“房姐”龚爱爱,在北京就有41套房产,共计9666.6平方米。试想各地的市长、县长、央企高管、金融老总、矿主们,在北京有多少房产?限购限不住拥有数个合法身份证的人。

去年6月,北京警方公布“空置房屋381.2万户”,而后迅速安抚民心,表示公安机关使用的“空置房屋”概念是基于电子地图的相对概念,与城市生活中实际没人居住的“空置房”概念以及开发商未售出的房屋没有任何关系。有中介机构估算,存量房中无人居住半年以上的空置房在10万至30万套之间。

一方面是空置房无人居住,富豪以房产做投资坐等高额投资收益兑现,另一方面是房租上涨,生活成本高企,新融入城市者处于边缘的合租蚁居。从北京还在窜升的生活成本看,以北京将人口调控指标纳入政府绩效管理内容看,普通北漂不受欢迎,他们只有两种选择,或者主动离开,或者因生活成本上升,被动离开。

新城镇化时期,就地发展城市群,就地消化人口,已是大势所趋。北漂们,逃离北京吧,普通工薪族们,逃离北上广吧。

Baidu绿萝算法2.0强势来袭,SEO怎样巧妙应对

  今天(2013年7月1日),百度站长平台再次发布公告:《百度绿萝算法2.0更新公告》。百度绿萝算法主要是针对推广性软文垃圾外链的。以下为百度绿萝算法2.0公告的内容:

  亲爱的站长朋友们:

  大家好!

  针对一些网站到处发布推广性软文的现象,一直以来我们都在通过各种方式进行处理。一方面,过滤清理这种垃圾外链;另一方面,对目标站点进行适当惩罚。但是,这一现象仍然大量存在。例如,如下这种明显的推广性软文,不胜枚举。

  http://soucang.baidu.com/Lee/snap/592f0a175151b2cd5593228d.html

  http://soucang.baidu.com/Lee/snap/09e3d1d170b9600f1ad44c8d.html

  http://soucang.baidu.com/Lee/snap/07cfa2098db8b5f6712ac12b.html

  http://soucang.baidu.com/Lee/snap/56c9f438971755df056a4883.html

  http://soucang.baidu.com/Lee/snap/198e6d14bd695c1e0fa31e81.html

  因此,我们近期将通过绿萝算法2.0进行更大范围更加严格的处理。

  第一、加大过滤软文外链的力度;

  第二、加大对目标站点的惩罚力度;

  第三、对承载发布软文的站点进行适当的惩罚,降低其在搜索引擎中的评价,同时,针对百度新闻源站点将其清理出新闻源。

  我们希望存在问题的网站在近期进行全面清理,并且将明显推广性的内容移出百度新闻源,这将使您避免受到算法的影响。

  以上就是百度绿萝算法2.0公告的全部内容。

  既然 百度又更新了算法,那作为SEO是否无路可走了?SEO外链之路在何方?其实对于百度新推出的绿萝算法2.0,笔者小刘有一些自己的观点:

  1、百度绿萝算法主要是针对外链部分。这让更多站长知道要怎么建站。每每说到建站的时候,很多的朋友都不了解建站的目标无非是盈利,但是,如果不尊重用户体验,在建站对于用户来说无非是制造了不相符的内容。所以说,你给百度了什么样的成果,百度会给你什么样的答案,当然更多是你获取了怎样的利润。所以建议站长再次仔细阅读《百度搜索引擎优化指南2.0[官方版》。对照自己的网站,分析网站哪些有哪些不足,从根本上解决网站架构、代码、内链等网站本身问题。

  2、百度绿萝算法的两次更新,让站长明白了需要回归到网站本身,更多了解什么叫用户体验。所谓用户体验,是一种纯主观在用户使用产品过程中建立起来的感受。然而,很多的网站是为了盈利却不去考虑什么是用户体验,甚至会采用一些作弊的手段,对于百度来说,当算法越来越成熟的时候,只会把这类站K掉。所以站长要更加注重内容的建设,要针对所面向的客户进行内容建设,包括内容页、专题等。只有内容满足了用户的需求,才能吸引更多的用户。而且,这样的网站也是搜索引擎喜欢的网站。

  3、让站长知道踏实建站优化才是正途。其实,我们知道从一开始优化一个网站来说,如同是一张白纸,要在上面勾勒出美丽的画面,画出五颜六色的彩虹是需要过程,不能一下子就可以完成。所以,百度新推出的绿萝算法无非告诉大家,踏实建站优化才是正途。

  4、针对绿萝算法,SEO如何建设外链?按百度LEE在谈外链中所说,自然链接才是最好的外链。所以SEO不要为外链而建设外链,要努力建设内容,吸引用户互动,引导用户分享内容。如果你的文章有吸引力,能够引起用户强烈的分享欲望,那你就成功的。

  5、针对绿萝算法的外链建设建议,建议SEO引导用户分享内容。另外可以与同行业优质网站进行友情链接交换,并且适当的购买高优质的外链。但是购买的外链一定要注意质量和数量,并且要注意下外链的上线和下线时间,购买的周期不要过短。

  以上就是针对《百度绿萝算法2.0更新公告》所做的分析和建议。其实主要认真做站,百度无论出现什么算法,都是不会有问题的。其实话说回来,百度打击垃圾广告也是对的。互联网就像一个地球一样,我们如果把垃圾搞的太多了,那么就会造成空气的污染,早晚有一天会灭亡的。所以,我们一定要遏制这些垃圾的出现。

通过关键词获取流量的那点事

  SEO就是搜索引擎优化,利用关键词使网站获取搜索引擎上有针对性的流量的一项技术。可以看到流量对我们SEOer来说是多么的重要。下面我以我的见解对网站获取流量以几点内容进行一个分析。

  一、主关键词获取流量

  1、选取好的主关键词是获取流量的关键第一步,我们要慎重考虑。主关键词就是对你的整站的一个内容的要表达的词或者词组,有些朋友认为主关键词就是一个词,那是不准确,因为现在的主关键词很难用一个长短来做一个界定,可以是一个短词,可以是几个的词组的组合。针对热门的关键词,我们应该选取的是词组的形式去做,因为有些词不是不能做,但是做上去花费的精力和时间上是很巨大的,甚至得不偿失。比如:保健品这个词,是很热门的,往往我们只能选取减肥产品,减肥方法甚至更长的关键词作为主关键词。 特别是一些站群,他们往往能看到以词组作为关键词的很多。以上说明了我们建站之前必须做好网站的定位,根据自己的需求,把合符自己的关键词做主关键词,不要盲目的去追求短词。

  2、主关键词在标题的如何布置?首先我们确定要做的关键词个数,一般不能超过5个主关键词,也不适宜做大而全,这样不利于关键词排名,首要是确定关键词间的相关性,尽量做到相关性强而非泛相关。做到个数和相关度控制是有效降低权重分散和提高排名的方法。有的人认为标题上不应该出现一些描述性的词,我认为这是不准确的,应该以关键词的难易程度和搜索量进行一个衡量。

  二、长尾关键词获取流量

  长尾关键词是能获取大量和有效性流量的,以使一部分人用尽心机去挖掘长尾关键词。这个我是不太认同的做法,因为不是每个行业网站都是有大量的针对性关键词进行挖掘的。长尾关键词的要点是,看你词是否有强的竞争对手或者是推广,当你的行业处于高竞争度的时候,你的这种做法未必是一个好的策略。

  当然作为内容资讯站的话,这种做法可以说是很奏效的,特别是具有地区性,时效性的长尾关键词是一个很好的选择。

  三、自创词获取流量

  怎么叫自创词,就是你网站的品牌标志。当大量资讯充斥互联网的时候,大量用户是需要一个权威性网站去获取准确的资讯,这也是hao123网的成功秘诀。关键是百度现在也是很注重这方面,是百度的一个发展趋势,你可以看到一些网站在百度结果出现ico的标志。举例说明:soewhy是很多优化人员去搜索的,这就是它的品牌。所以,在我们建立主关键词的时候,尽量加上我们自己的专有网站品牌词,建立品牌性,增加百度和客户的友好度。

  四、流量截取获取流量

  流量截取,实为关键词有效获取针对性流量很好的方法,可以分为对手品牌词流量截取,时效词流量截取,百度下拉框词的流量截取等等。这其中有部分是可以用做站的形式来获取流量,但对于时效性的词,往往是短期的,无法去新建一个网站去快速获取排名和流量。如是我们可以通过第3方平台去快速截取部分流量,为什么说是部分,因为第3方平台就是只是一个中转页,给网站带来流量是有待考察的。既然这文章说到关键词,我们可以考虑的是通过自己站去直接截取流量。长话短说,关键是看你网站的权重问题。当我们的网站达到一个权重很好提升的时候,百度会给予我们网站一个权重免疫的权限,这就像是在一些高权重论坛发布信息,能够在很短很短的时间获取这个关键词排名的理由。哈哈,当你发现你的网站有这个特权,就算是短时间的特权,你这时候应该好好的利用。

  希望看了这篇文章对你的关键词获取流量有一个参考的作用。打这么多字,累了。如果对你有帮助的话,帮我顶一下。你的支持是我努力的动力,我会更给力的分享。

一个IT农民工分享互联网巨头公司面试流程

IT是一个人才日益紧缺的行业,2012年的人才需求比2011年上涨了将近2.3倍。随着人才的紧缺,IT业的薪水也是水涨船高。互联网巨头们对人才的争夺,更是日益激烈化。 对于从事IT的职场人士,绝大部分都想进入那些巨头公司。除了薪水高、办公环境好,发展更有前景外,更让人有职业自豪感。虽然人才日益缺乏,但并非 谁都可以进入互联网巨头公司的,它们的门槛都设置的较高。如果你有幸接到了这些巨头公司的面试邀请,那么一定要好好的把握,做好充足的准备。以下是一个 IT男分享他在这些巨头公司的面试经验,想要进入互联网巨头公司的IT职场人,可以了解以下巨头们的面试流程。

1. 新浪:云计算开发

面临流程:笔试+面试+offer

笔试考察范围很广,涉及到数据结构、网络、安全、Linux常用命令、内核、算法、程序设计,以及项目管理等方面。面试就一轮,3个面试官,2个不同部门的经理和1个hr,主要问了些项目经验,然后根据简历问了些关于内核和网络编程方面的知识,以及一些在项目中遇到的困难如何克服等等,还问了下期望薪水以及希望户口落在哪个城市的问题。发 offer前有hr电话沟通谈户口情况和期望工资,最后给的offer待遇和百度一样,但是户口不能给保证,只说有很大的可能性(去年解决了55%),最后放弃了。

2、腾讯:后台开发

面试流程:1面+2面+hr面+实习offer

没参加笔试,直接同学推荐过去面的,前两面都是技术面,1 面简单问些项目经验和自己所擅长的专业知识;2面项目问的比较深入,还有一些算法和系统架构设计方面的问题;hr面就是简单的聊聊。暑期在腾讯实习了两个月,有导师专门负责指导,期间做了一个小项目,收获不少,与leader在留用沟通时,表示不愿留在深圳,最后也没发正式offer。腾讯大部分都是年轻人,整体氛围比较轻松,电子化办公也很完善,弹性工作制,加班完全凭自愿,晚上8点后会有免费的水果面包饮料,9点后的加班出租车票可以报销,整个公司以产品为主导,产品经理有很强的话语权。

3、百度:云计算研发

面试流程:笔试+1面+2面+3面+offer

笔试都是大题,比较开放式,涉及比较广有线程调度、算法、语言、系统设计等,比较符合个人胃口。1面刚开始直接就写两个程序,然后问了问项目以及一些数据结构和网络方面的知识,只记得其中有个问题是如何判断程序中堆和栈增长方向;2面是电面,主要问了些算法问题,让设计一个图片存储系统,并进行优化,问的很细,让把主要的数据结构和调度算法都设计出来,然后根据你设计的系统提一些更高的要求并进行优化;3面是部门经理的电面,也是技术面,但也问了些个人兴趣、性格特点等问题。比如我说喜欢玩Dota,就问我喜欢玩哪种类型的英雄(当然是根据团队需要,缺啥玩啥,哈哈),技术主要以项目为主,问的很深,问了好多项目中涉及到细节的问题,而且问题一针见血,不得不佩服百度还是牛人多,参加的其他面试都没问过这么深入的,不过自己做的项目还是比较胸有成竹的。3面完第二天也就是国庆前一天就收到了offer,是收到的第一个校招正式offer,今年百度全国招了快2000人,还有不少都是后面补招进来。

4、网易:C++开发

面试流程:笔试+技术面+hr面

笔试是选择题、填空题和大题,有关于数据库和语言方面的知识,还有些算法题;技术面主要问了些关于C++语言方面的知识和项目经验,还有个数学证明题;hr面主要了解工作意、期望薪水和offer情况等,我表示不想去杭州,后来也没发offer。

5、淘宝:系统工程师

面试流程:笔试+1面+2面+3面

笔试包括选择题、大题、附加题和选做题,选择题都是基础知识,大题包括系统设计和算法题。3面同一天完成,通过的话会让你留下等待下一轮面面试,1 面先让讲了讲项目经验,然后问了些算法和系统设计方面的问题;2面和1面差不多,然后说了下系统工程师的具体职责,涉及面很广,有Linux内核开发、分布式开发还有些类似于运维方面的工作,问了下自己希望从事哪方面的研发;3面是2个人,hr和技术经理吧,依然问了些技术问题,然后hr问了下工作意向 offer情况等等。

6、人民搜索:软件开发

面试流程:笔试+面试

笔试是选择题和大题,面试都是被拉过去给面试官增加经验值的,也是以写程序为主,并且写完后要不断的去优化优化再优化。人民搜索据说加班挺多,但是待遇还是很给力,尤其是保证解决北京户口。

经历过多家巨头公司的面试,IT男做了一个小的总结,最后分享给各位IT职场人:互联网企业比较看重算法和项目经验,语言倒是其次,其实面试时问项目经验,并不是单纯的考察你做过什么,而是看你是如何做,为什么这么做,有没有更好的解决方案,做项目时问题考虑的是否全面,是看你思维的方式,对整个计算机系统的认识,更加看重你的发展潜力。

重定向

servlet的两种重定向方法的区别及应用

 

 

一 问题:  在servlet/JSP编程学习中,发现有两种方法可以实现服务端输出重定向,一种是通过forward方法(例如JSP中 的<jsp:forward page=”OtherPage.jsp”/>),另一种则是通过运用 javax.servlet.http.HttpServletResponse接口的sendRedirect方法(例如 response.sendRedirect(“OtherPage.jsp”);这两种方法有什么区别和联系呢?让我们看下面的分析。

二 分析:(1)<JSP:FORWORD>

该 方法是利用服务器端先将数据输出到缓冲区的机制,在把缓冲区(buffer)的内容发送到客户端之前,原来的不发送,改为发送该页面的内容,如果 在<JSP:FORWORD>之前有很多输出,前面的输出已使缓冲区满,将自动输出到客户端,那么该语句将不起作用,这一点应该特别注意.
补充知识:输出缓冲区
缺省情况下:服务端要输出到客户端的内容,不直接写到客户端,而是先写到一个输出缓冲区中.只有在下面三中情况下,才会把该缓冲区的内容输出到客户端上:
1该JSP网页已完成信息的输出
2输出缓冲区已满
3JSP中调用了out.flush()或response.flushbuffer()
输出缓冲区的大小可以用:<%@page buffer="none"|"nkb"%>或response.setBufferSize()设置,如下:
1设置输出缓冲区的大小为1KB。<%@page buffer="1kb"%>或response.setBufferSize(1);
2设置输出缓冲区的大小为0,即不缓冲。<%@page buffer="none" %>或response.setBufferSize(0);
用response.getBufferSize()或out.getBufferSize()可取的输出缓冲区的大小,单位为字节.
用response.isCommitted()可检查看服务端是否已将数据输出到客户端. 如果返回值是TRUE则已将数据输出到客户端,是FALSE则还没有。
(2)response.sendRedirect(“OtherPage.jsp”)
该 方法通过修改HTTP协议的HEADER部分,对浏览器下达重定向指令的,让浏览器对在location中指定的URL提出请求,使浏览器显示重定向网页 的内容。该方法可以接受绝对的或相对的URLs。如果传递到该方法的参数是一个相对的URL,那么Web container在将它发送到客户端前会把它 转换成一个绝对的URL。如果地址是相对的,没有一个’/’,那么Web container就认为它是相对于当前的请求URI的。
因为这个方法是通过修改HTTP协议的HEADER实现的重定义功能,而下面的方法也能改变HTTP HEADER属性,他们的原理是一样的.
<%
response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
String newLocn="/index.html";
response.setHeader("Location",newLocn);
%>
补充知识:HTTP应答头
 Web服务器响应浏览器或其他客户程序的请求时,其应答一般由以下几个部分组成:一个状态行,几个应答头,一个空行,内容文档。下面是一个最简单的应答:
HTTP/1.1 200 OK
Content-Type: text/plain

Hello World
 
1设置状态信息
状 态行包含HTTP版本、状态代码、与状态代码对应的简短说明信息。在大多数情况下,除了Content-Type之外的所有应答头都是可选的。 Servlet可以利用状态代码来实现许多功能。例如,可以把用户重定向到另一个网站,就像我们上边所看到的那个例子。下面我们就通过这个机会具体讨论各 种状态代码的含义以及利用这些代码可以做些什么。
如前所述,HTTP应答状态行包含HTTP版本、状态代码和对应的状态信息。由于状态信息直接和状态代码相关,而HTTP版本又由服务器确定,因此需要Servlet设置的只有一个状态代码。

先给出常见的HTTP 1.1状态代码以及它们对应的状态信息和含义,具体的使用方法我们接下来再做详细的介绍。
100 Continue 初始的请求已经接受,客户应当继续发送请求的其余部分。(HTTP 1.1新)
101 Switching Protocols 服务器将遵从客户的请求转换到另外一种协议(HTTP 1.1新)
200 OK 一切正常,对GET和POST请求的应答文档跟在后面。如果不用setStatus 设置状态代码,Servlet默认使用202状态代码。
201 Created 服务器已经创建了文档,Location头给出了它的URL。
202 Accepted 已经接受请求,但处理尚未完成。
203 Non-Authoritative Information 文档已经正常地返回,但一些应答头可能不正确,因为使用的是文档的拷贝(HTTP 1.1新)。
204 No Content 没有新文档,浏览器应该继续显示原来的文档。如果用户定期地刷新页面,而Servlet可以确定用户文档足够新,这个状态代码是很有用的。
205 Reset Content 没有新的内容,但浏览器应该重置它所显示的内容。用来强制浏览器清除表单输入内容(HTTP 1.1新)。
206 Partial Content 客户发送了一个带有Range头的GET请求,服务器完成了它(HTTP 1.1新)。
300 Multiple Choices 客户请求的文档可以在多个位置找到,这些位置已经在返回的文档内列出。如果服务器要提出优先选择,则应该在Location应答头指明。
301 Moved Permanently 客户请求的文档在其他地方,新的URL在Location头中给出,浏览器应该自动地访问新的URL。
302 Found 类似于301,但新的URL应该被视为临时性的替代,而不是永久性的。注意,在HTTP1.0中对应的状态信息是“Moved Temporatily”,而HttpServletResponse中相应的常量是SC_MOVED_TEMPORARILY,而不是 SC_FOUND。
出现该状态代码时,浏览器能够自动访问新的URL,因此它是一个很有用的状态代码。为此,Servlet提供了一个专用的方 法,即sendRedirect。使用response.sendRedirect(url)比使用 response.setStatus(response.SC_MOVED_TEMPORARILY)和 response.setHeader("Location",url)更好。这是因为:

首先,代码更加简洁。
第二,使用sendRedirect,Servlet会自动构造一个包含新链接的页面(用于那些不能自动重定向的老式浏览器)。
最后,sendRedirect能够处理相对URL,自动把它们转换成绝对URL。
注意这个状态代码有时候可以和301替换使用。例如,如果浏览器错误地请求http://host/~user(缺少了后面的斜杠),有的服务器返回301,有的则返回302。

严格地说,我们只能假定只有当原来的请求是GET时浏览器才会自动重定向。请参见307。

303 See Other 类似于301/302,不同之处在于,如果原来的请求是POST,Location头指定的重定向目标文档应该通过GET提取(HTTP 1.1新)。
304 Not Modified 客户端有缓冲的文档并发出了一个条件性的请求(一般是提供If-Modified-Since头表示客户只想比指定日期更新的文档)。服务器告诉客户,原来缓冲的文档还可以继续使用。
305 Use Proxy 客户请求的文档应该通过Location头所指明的代理服务器提取(HTTP 1.1新)。
307 Temporary Redirect 和302(Found)相同。许多浏览器会错误地响应302应答进行重定向,即使原来的请求是POST,即使它实际上只能在POST请求的应答是303时 才能重定向。由于这个原因,HTTP 1.1新增了307,以便更加清除地区分几个状态代码:当出现303应答时,浏览器可以跟随重定向的GET和POST请求;如果是307应答,则浏览器只 能跟随对GET请求的重定向。
注意,HttpServletResponse中没有为该状态代码提供相应的常量。(HTTP 1.1新)

400 Bad Request 请求出现语法错误。
401 Unauthorized 客户试图未经授权访问受密码保护的页面。应答中会包含一个WWW-Authenticate头,浏览器据此显示用户名字/密码对话框,然后在填写合适的Authorization头后再次发出请求。
403 Forbidden 资源不可用。服务器理解客户的请求,但拒绝处理它。通常由于服务器上文件或目录的权限设置导致。
404 Not Found 无法找到指定位置的资源。这也是一个常用的应答,HttpServletResponse专门提供了相应的方法:sendError(message)。
405 Method Not Allowed 请求方法(GET、POST、HEAD、DELETE、PUT、TRACE等)对指定的资源不适用。(HTTP 1.1新)
406 Not Acceptable 指定的资源已经找到,但它的MIME类型和客户在Accpet头中所指定的不兼容(HTTP 1.1新)。
407 Proxy Authentication Required 类似于401,表示客户必须先经过代理服务器的授权。(HTTP 1.1新)
408 Request Timeout 在服务器许可的等待时间内,客户一直没有发出任何请求。客户可以在以后重复同一请求。(HTTP 1.1新)
409 Conflict 通常和PUT请求有关。由于请求和资源的当前状态相冲突,因此请求不能成功。(HTTP 1.1新)
410 Gone 所请求的文档已经不再可用,而且服务器不知道应该重定向到哪一个地址。它和404的不同在于,返回407表示文档永久地离开了指定的位置,而404表示由于未知的原因文档不可用。(HTTP 1.1新)
411 Length Required 服务器不能处理请求,除非客户发送一个Content-Length头。(HTTP 1.1新)
412 Precondition Failed 请求头中指定的一些前提条件失败(HTTP 1.1新)。
413 Request Entity Too Large 目标文档的大小超过服务器当前愿意处理的大小。如果服务器认为自己能够稍后再处理该请求,则应该提供一个Retry-After头(HTTP 1.1新)。
414 Request URI Too Long URI太长(HTTP 1.1新)。
416 Requested Range Not Satisfiable 服务器不能满足客户在请求中指定的Range头。(HTTP 1.1新)
500 Internal Server Error 服务器遇到了意料不到的情况,不能完成客户的请求。
501 Not Implemented 服务器不支持实现请求所需要的功能。例如,客户发出了一个服务器不支持的PUT请求。
502 Bad Gateway 服务器作为网关或者代理时,为了完成请求访问下一个服务器,但该服务器返回了非法的应答。
503 Service Unavailable 服务器由于维护或者负载过重未能应答。例如,Servlet可能在数据库连接池已满的情况下返回503。服务器返回503时可以提供一个Retry-After头。
504 Gateway Timeout 由作为代理或网关的服务器使用,表示不能及时地从远程服务器获得应答。(HTTP 1.1新)
505 HTTP Version Not Supported 服务器不支持请求中所指明的HTTP版本。(HTTP 1.1新)
如前所述,HTTP应答状态行包含HTTP版本、状态代码和对应的状态信息。由于状态信息直接和状态代码相关,而HTTP版本又由服务器确定,因此需要Servlet设置的只有一个状态代码。拿我们上边的例子来看。其中有一句就是设置HTTP应答头的状态代码的,是:
response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
Servlet 设置状态代码一般使用HttpServletResponse的setStatus方法。setStatus方法的参数是一个整数(即状态代码),不过为 了使得代码具有更好的可读性,可以用HttpServletResponse中定义的常量来避免直接使用整数。这些常量根据HTTP 1.1中的标准状态信息命名,所有的名字都加上了SC前缀(Status Code的缩写)并大写,同时把空格转换成了下划线。也就是说,与状态代码301对应的状态信息是“Moved Permanently”,则HttpServletResponse中的对应常量名字为SC_MOVED_PERMANENTLY。但有两个例外:和状 态代码302对应的常量根据HTTP 1.0命名为SC_MOVED_TEMPORARILY,而不是SC_FOUND,而307没有对应的常量。   
    虽然设置状态代码一般使用的是response.setStauts(int)方法,但为了简单起见,HttpServletResponse为两种常见 的情形提供了专用方法:sendError方法生成一个404应答,同时生成一个简短的HTML错误信息文档;sendRedirect方法生成一个 302应答,同时在Location头中指示新文档的URL。这种方法就是我们前边提到的 response.sendRedirect(“OtherPage.jsp”)实现重定向的方法的原理。它与301应答,既 response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY)的区别请看上边状态列表的 红色标记部分,这里不再重复。
  
2设置HTTP应答头
设置HTTP应答头往往和设置状态行 中的状态代码结合起来。例如,有好几个表示“文档位置已经改变”的状态代码都伴随着一个Location头,而401(Unauthorized)状态代 码则必须伴随一个WWW-Authenticate头。这些都在相应的状态代码的状态信息说明中都提到了。
     然而,即使在没有设置特殊含义的状态代码时,指定应答头也是很有用的。应答头可以用来完成:设置Cookie,指定修改日期,指示浏览器按照指定的间隔刷 新页面,声明文档的长度以便利用持久HTTP连接,……等等许多其他任务。还拿我们上边的例子来看,其中有一句就是设置HTTP应答头的,是:
  response.setHeader("Location",newLocn);
设置应答头最常用的方法是HttpServletResponse的setHeader,该方法有两个参数,分别表示应答头的名字和值。和设置状态代码相似,设置应答头应该在发送任何文档内容之前进行。
应答头 说明
Allow 服务器支持哪些请求方法(如GET、POST等)。
Content-Encoding 文档的编码(Encode)方法。只有在解码之后才可以得到Content-Type头指定的内容类型。利用gzip压缩文档能够显著地减少HTML文档 的下载时间。Java的GZIPOutputStream可以很方便地进行gzip压缩,但只有Unix上的Netscape和Windows上的IE 4、IE 5才支持它。因此,Servlet应该通过查看Accept-Encoding头(即request.getHeader("Accept- Encoding"))检查浏览器是否支持gzip,为支持gzip的浏览器返回经gzip压缩的HTML页面,为其他浏览器返回普通页面。
Content-Length 表示内容长度。只有当浏览器使用持久HTTP连接时才需要这个数据。如果你想要利用持久连接的优势,可以把输出文档写入 ByteArrayOutputStram,完成后查看其大小,然后把该值放入Content-Length头,最后通过 byteArrayStream.writeTo(response.getOutputStream()发送内容。
Content-Type 表示后面的文档属于什么MIME类型。Servlet默认为text/plain,但通常需要显式地指定为text/html。由于经常要设置 Content-Type,因此HttpServletResponse提供了一个专用的方法setContentTyep。
Date 当前的GMT时间。你可以用setDateHeader来设置这个头以避免转换时间格式的麻烦。
Expires 应该在什么时候认为文档已经过期,从而不再缓存它?
Last-Modified 文档的最后改动时间。客户可以通过If-Modified-Since请求头提供一个日期,该请求将被视为一个条件GET,只有改动时间迟于指定时间的文 档才会返回,否则返回一个304(Not Modified)状态。Last-Modified也可用setDateHeader方法来设置。
Location 表示客户应当到哪里去提取文档。Location通常不是直接设置的,而是通过HttpServletResponse的sendRedirect方法,该方法同时设置状态代码为302。
Refresh 表示浏览器应该在多少时间之后刷新文档,以秒计。除了刷新当前文档之外,你还可以通过setHeader("Refresh", "5; URL=http://host/path")让浏览器读取指定的页面。
注 意这种功能通常是通过设置HTML页面HEAD区的<META HTTP-EQUIV="Refresh" CONTENT="5;URL=http://host/path">实现,这是因为,自动刷新或重定向对于那些不能使用CGI或Servlet的 HTML编写者十分重要。但是,对于Servlet来说,直接设置Refresh头更加方便。

注意Refresh的意义是“N秒之后刷新本页面或访问指定页面”,而不是“每隔N秒刷新本页面或访 问指定页面”。因此,连续刷新要求每次都发送一个Refresh头,而发送204状态代码则可以阻止浏览器继续刷新,不管是使用Refresh头还是 <META HTTP-EQUIV="Refresh" ...>。

注意Refresh头不属于HTTP 1.1正式规范的一部分,而是一个扩展,但Netscape和IE都支持它。

Server 服务器名字。Servlet一般不设置这个值,而是由Web服务器自己设置。
Set-Cookie 设置和页面关联的Cookie。Servlet不应使用response.setHeader("Set-Cookie", ...),而是应使用HttpServletResponse提供的专用方法addCookie。参见下文有关Cookie设置的讨论。
WWW-Authenticate 客户应该在Authorization头中提供什么类型的授权信息?在包含401(Unauthorized)状态行的应答中这个头是必需的。例 如,response.setHeader("WWW-Authenticate", "BASIC realm=\"executives\"")。
注意Servlet一般不进行这方面的处理,而是让Web服务器的专门机制来控制受密码保护页面的访问(例如.htaccess)。

    到此我们应该可以理解用下面代码实现重定向的原理:修改HTTP协议的HEADER部分,对浏览器下达重定向指令的,让浏览器对在location中指定的URL提出请求,使浏览器显示重定向网页的内容。
<%
response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); 设置HTTP应答头状态代码
String newLocn="/index.html";
response.setHeader("Location",newLocn); 设置HTTP应答头
%>

三 总结:
通过上边的分析,我们清楚了这两种服务器端重 定向方法的原理,<jsp:forward>是利用服务器端先将数据输出到缓冲区的机制,在把缓冲区的内容发送到客户端之前,通过停止调用页 的处理,将执行转向响应的页面,从而实现的重定位功能,原调用页的输出缓冲区中任何尚未在浏览器中显示(刷新)的内容将被清楚,不再显示。
     而response.sendRedirect(“OtherPage.jsp”)是通过修改HTTP协议的HEADER部分,对浏览器下达重定向指令的,让浏览器对在location中指定的URL提出请求,使浏览器显示重定向网页的内容的。

四 对比:
1 forward方法是在Web container内部工作的。SendRedirect方法需要到客户端的一个往返。所以forward方法要比sendreRirect要快
2 forward方法只能重定向到同一个Web应用程序中的一个资源。而sendRedirect方法可以重定向到任何URL
3 forward方法还将原始的HTTP请求对象(request)转到目录页。而sendRedirect方法的功能是触发浏览器转向指定的URL,并不会将原始请求对象转发。

在例:C:Tomcat 5.0webapps est egiester10中我们可以看到在

http://jgdq.kvov.com.cn/jzxx28087.html

今日推荐知识库
经典语录
在转身之后 却又抱着 在放手以后不在拥有 彼此温柔
个人签名
女人不能太漂亮,太漂亮会被人称之为花瓶;女人不能太聪慧,太聪慧会被人称之为隐形杀手;女人不能太性感,太性感会被称之为招摇过市;女人不能太温柔,太温柔会被称之为没有主见;女人不能太可爱,太可爱会被称之为幼稚无知。
标语口号
宁为安全操心,不让亲人悲哀。
经典语录
他是第一个抱我的男人,他是第一个听见我哭看见我笑的男人,他是第一个叫我宝贝的男人,他是一个他说的承诺都会做到的男人,他是敢和我说一直会陪到你不能陪你的一天的男人,他是不管我错对美丑都觉得我是最好最优秀的男人。他的名字叫做:爸爸!父爱如山,父亲节前转发此博祝爸爸们身体健康!
经典语录
情,不像天上的白云,逍遥,飘拂,随风游荡;爱,不似水中的浮萍,轻盈,飘逸,随波逐流。生活,有情有爱。情,总是于相处时,悄悄萌发,暗暗生芽,踏入不经意的心田,闪出爱的火花。人生,难的不是缺爱,而是有爱如何处理,世上少有红颜知己,若爱,就要明白,心不能两瓣,情不能两离。想好再去深爱。