2013年05月16日

思爱普面试结束,分享一下我全英文面试经历

先说说ERP系统公司,德国企业。本人是学习计算机专业的,面试的是思爱普的系统技术支持实习生。这个岗位除了对技术的要求以外,还有对英语的要求和其他能力的要求,所以来分享一下全英文面试的经验,除了技术以外,希望在其他方面能给大家提个醒。

之前在网上查的,说去SAP这家外企面试要穿西服,我也是第一次穿上新买的西服。走近公司以后,大家基本都不是西服,只不过是正式一些,像休闲西服这类的。还好参加面试的很多穿西装的,不然我会很尴尬……

SAP的实习生面试分为两个session。Session 1 是英语群面,上午两个小时,下午午饭后公布结果。可以通过继续下午的session。Session 2分为两部分,hard skills和soft skills,hard skill是指技术类的,soft skill是沟通啊,交流啊之类的。

首先是英语群面。一共6人,有中央财经的、人大的,北工大的,对外经贸的。形式是,每个人会抽到一个英语的topic,15分钟的准备时间,每个人针对自己的Topic进行思考和准备,15分钟后每个人轮流对自己的Topic做限时5分钟的presentation,每个人做完presentation后,大家针对这个Topic向他提问,他要做出回应和解答,大家也可以一起交流讨论。之后,再轮到下一个同学做 presentation。我当时抽到的题目是讨论努力和机遇哪个更重要的问题。其他的我记得有东方电视塔这类的高层建筑的优点和缺点、中国传统文化的流失现状、teamwork和individual哪个更重要、the key element to a global team等。在我做presentation之后,人大的一个童鞋比较强势,开始问我一些问题,我当然沉着冷静的对待,然后他居然搬出了什么衡量标准啊、概念定义之类的问题,我一听这就是辩论的风格,好在哥也不是吃素的,有过辩论的经验,能沉着对待。个人觉得自己的presentation做的还算满意,有话题引入,观点有逻辑,有实例支撑,有结合个人的实例,也有结尾的升华。但是口语这一关,确实需要加强,有时候有些词就是想不起来用什么英语表达。上午结束后,明显有两个人的口语很差,我觉得这俩人应该呆不久了,其他人都不错,我觉得自己也就是个中等水平。

中午结束就快十二点了,通知下午15回来听结果。1点15我们准时回来,我的心态还比较平静,因为也是抱着学习的心态,一直觉得这家自己离这些高级外企比较遥远,虽然在听说了实习工资一天200rmb的时候还是有所期待的。面试官说名单上没有的,就是没过的。第一个念的就是我,还没有那种紧张的期待就出结果了。这个就是hard skill的面试顺序,我是第一个,soft skill的顺序是第四个。

第一个进去,有一点紧张。整个过程都是英文,面试官说当你觉得有些说不明白需要补充的地方可以用中文,尽量都用英文。首先是自我介绍,然后面试官就根据简历上的内容开始问。悲催的是,SAP我是从大街网上直接投的,投的比较早,上面的很多简历信息都是比较早的了,当时写的东西比较多,有些接触过但不深入的东西都写上了,这就是我的悲剧所在了……面试官开始问实习的内容,做了什么,开始问数据库,又问数据挖掘,还问通信的知识,早都忘记的差不多了,答得都不怎么样。有个面试官很nice,他看到我的实习中有个功能设计,就让我画图讲一下都设计了哪些功能。之前早有准备,特意准备了这一块。讲完之后,面试官就没啥问题了。我一个想法,废了!

出来后,休息了一会儿,跟大家聊了聊,就开始soft skill的面试了。这一轮,更坑爹,让我有些不知所措。这一环节的面试官是一个德国人和一个中国人。全英文的面试,这是自然的了。二位面试官简单的进行了自我介绍,并对面试的形式做了介绍。首先是自我介绍,限时两分钟,紧接着就是role play,题目一假设面试官是联想的部门经理,系统升级后,几天内出现了问题,很多资料都找不到了,现在我去接待客户,经理大发脾气。这个问题让我不知所措,记得刚才先面过的人说千万不要做出任何承诺,业务人员也无权做出承诺。所以我一直的态度是此时我们要共同努力解决问题,已经联系了工程师队伍前来支援,我们尽自己最大的努力帮你们解决问题,并寻找最优方案以免以后出现类似问题。真心不知道该怎么做会更好。题目二是:有一个出国出差并旅行的机会,leader偷偷的告诉了你,你会怎么做?我说要去,告诉了老外扮演的同事,他也要去,最后商量的结果是老外去……不知道这个题目是在考我什么能力。后面就是一些这种面试中经常问的问题,简答回忆一下。
1.在你学习过程中遇到的最大困难,你是如何解决的?
2.你认为学习是什么?
3.你如何理解team?在我回答之后,这个问题老外补充了一点,他说回馈也很重要,不仅是跟leader回馈,也要及时跟同事回馈
4.在团队中如何与别人相处融洽?
5.你能接受的出差时间?
6.为什要工作?
7.未来五年的职业规划,还补问了一句最后是想成为engineer还是manager?

由于受上一轮的影响,刚开始的问题答的都不怎么样,后面冷静一点,才比较有逻辑的回答了几个问题。但是我一直不理解的是,在role play环节,中国人一直在笑,中间还出去调整了一下……是不是我演的太滑稽了……

两轮结束后,就可以走了,根据两轮的总分和来看录用情况。面试官说过几天HR会通知结果,不管是accepted还是refused。总的来说,应该希望不大了,下午表现的都不怎么样。虽然有点小小的遗憾,但觉得收获还是蛮大的。虽然是抱着学习的心态,但其实我是真正第一次经历正规的、这么多轮的面试,晚上还是失眠了,有点懊悔如果当初怎么怎么样,现在就不会怎么怎么样,但是现实已经这样,只能亡羊补牢了。

收拾收拾心情,继续出发!加油!希望大家都能早早准备,让自己变得更加强大!

Tags: .
2005年12月05日

  天冷六不要

  天冷时节气温低,保健常会入误区;误区往往成习惯,危害健康损机体。

  1 穿得鼓囊囊,层多暖性反而低;

  2 御寒喝白酒,寒冷更易侵肤肌;

  3 唇干用舌舔,舔后更干易起皮;

  4 洗澡次数多,皮肤干燥瘙痒起;

  5 口罩抗感冒,反而降低抵抗力;

  6 保暖窗紧闭,通风不良蓄害气。

2005年11月30日
MSN Space居然支持通过邮件方式发布Blog, 真不错! 非常适合我这种懒人.
 
确实, 通过OUTLOOK写邮件, 很方便, 但打开网页, 然后登录, 再写日志, 就显得麻烦了.
 
现在的Blog不过是几年的流行的个人主页和BBS的翻版, 但发布信息非常简单, 大受欢迎, 这充分说明易用性是网站(及所有软件)需要遵循的第一原则!
 
网站的核心价值是什么? 是信息! Blog恰恰是信息的原创动力!
—————-
后话, 其实从技术角度考虑, 通过EMAIL发布BLOG并不难, 标题对标题, 内容对内容, 仅此而已, 但为什么MSN能想到, 其实人就想不到呢?
 
2005年11月23日

1.金鹿杀虫气雾剂  

  襄阳城内。  
  一只蚊子飞来,叮在郭破虏的脸上,郭破虏惊叫一声:‘爹,有刺客。’  
  郭靖:’亢龙有悔’,一掌拍向郭破虏的脸上。  
  郭破虏捂着被拍肿的脸:’爹,刺客跑了。’  
  ’想跑?没那么容易。’,黄蓉掏出一个杀虫气雾剂,朝空中一喷,蚊子纷纷落下。  
  黄蓉:’金鹿杀虫气雾剂,高效无毒,害虫的死对头,家庭的好帮手。’  

2.盖中盖  
  武当山。  
  几个平时欺负张无忌的师兄弟又在欺负他。只见张无忌跳起几个飞腿把他们全都踢倒。  周芷若:“耶!无忌,你好棒,我喜欢你,你现在怎么这么厉害啊?”  
  张无忌:“我看了大夫,大夫说我得的不是什么伤寒,而是骨质疏松症,得补钙。自从我服了哈尔滨制药六厂的盖中盖,腰不酸了,背不疼了,病也好了,走路也有劲了,还跟外公学了功夫。”(众师兄弟吓的撒腿没命的逃。)

3.红牛饮料

  药王谷。  
  程灵素正在种草药。胡斐看见了,走过去接过她的锄头,干起了活。程灵素帮胡斐擦汗,又递过了一杯茶,唱道:“同志哥,请你喝杯茶啊,请你喝杯茶……”  
  胡斐摇摇头,从包袱里拿出了一罐饮料,仰口喝了一口,美美的闭上眼睛道:“渴了,累了,困了,就要喝红牛。”  

4.佳美护肤霜  

  星宿派正在后面追杀。虚竹只得背着天山童姥在山间狂奔。突然,从旁边跳出了三位美人,原来是阿紫、王语嫣、梦姑。  
  阿紫:“把童姥放下。”  
  虚竹:“姑娘们,不要胡闹了,形势危急,快让开。”  
  王语焉:“好说,好说,只要童姥把驻颜术的密笈说出来,我们就让路。”  
  只见童姥手一抖,三件暗器已破空向三位美女的膻中穴飞去。三位美女也是不简单,顺手一抽,各自把暗器接在了纤手中。原来都是一盒佳美护肤霜。  
  童姥:“我都是因为用了佳美护肤霜,佳美护肤霜,今年二十,明年十八。”  
  “耶,”三位美女跳起,让开了路。  

5.排毒养颜胶囊  

  绝情谷。  
  杨过:“姑姑,这颗情花毒的解药给你用。”  
  小龙女:“不,应该是过儿用。”  
  杨过:“姑姑即然不用,我就把它丢了,我要和姑姑同生共死。”说完把解药丢下了山涯。  
  小龙女:“过儿,你……,”依到了杨过的怀里。  
  杨过狡诘的一笑:“姑姑,你真傻,你知道我为什么要把解药给丢了吗?”  
  小龙女:“过儿,那是为什么?”  
  杨过:“因为我有了排毒养颜胶囊,排毒养颜胶囊,我们健康的共同选择,排出毒素,一身轻松。”  

6.婷美内衣  

  黑木涯。  
  任我行正领着一帮江湖豪杰攻打黑森涯,任我行、令狐冲、任盈盈正使出浑身绝学围攻东方不败,东方不败渐渐体力不支,令狐冲寻了个破绽,使出了一招独孤刀九剑,刺向东方不败的胸前,东方不败大惊,慌忙中使出了一招“铁板桥”,可惜已晚了半步, 剑锋正从他胸前的外衣划过,只听“嘶”的一声,整件外衣被撕了下来。任盈盈突然一声惊叫:“婷美内衣”。整个黑森涯的英雄都停住了手,全都呆呆盯着东方不败穿得内衣,只见那里峰恋突兀,俊秀挺拨。东方不败突然也变得千娇百媚,轻启朱唇道:“婷美内衣,美体修形,内外皆修,一穿就变。做女人挺好的。”“扑通,……”黑木涯众英雄全部昏倒。  



(1)别挂电话  

  一个冬夜12:00,我被电话铃声吵醒。  
  原来是《少男少女》上疯子们编的几个故事再次骗取了她的眼泪,她希望我安慰一下
她。  
  我越安慰她,她哭得就越凶,搞得我没有了办法。  
  只好说:“你别挂电话,我顺着线爬过去”  
  她终于不哭了,说:“嗯,多穿些衣服,不要着凉。”
 
2)永远不过的节日——情人节  
    
  从我和室友为“2.14到底是植树节还是情人节”这个问题争论的面红耳赤那天开始,

  偶mm就对我能否过这个节日不抱任何希望了。  
  终于有一天偶mm忍不住,开始抱怨我不过情人节了。  
  于是我问她:  
  “你是中国人还是美国人?”  
  “当然是中国人”  
  “你过春节还是过圣诞节?”  
  “当然是春节”  
  “你过七七节还是情人节?”  
  “那就过七七节喽”  
  “七七节公历几月几号?”  
  “不知道”  
  “不知道就不用过了”  
  mm当场晕倒,从此再不争论这个问题。  
(3)谁追谁  

  一日,高中同学问我们:“我当时成天看见你们在一起,就是看不出到底谁追谁。”

  mm看了看我,我毫不犹豫的回答——“互相勾引”,mm微笑着点点头。  
  同学走刚后,mm坐不住了:  
  “得了吧,分明是你追我”  
  “什么?任何头上长眼的人都看得出来,你总给我带东西吃,这不是最昭然若揭的勾引么?”  
  “你可是高二就对我产生了心思,我当时对你根本没感觉!”  
  “要不是当时你乱抛媚眼将我击中,我才不会晕头晕脑的喜欢上你。但是我没表露,你没看出来啊?”  
  “没看出来不等于没有啊。”  
  “我那时只是有个设想,没有行动,你可不一样,刚上高三就拿苹果香腐蚀我。”  
  。。。。。。  
  于是我想起了我当年问父母同样的问题,结果  
  老妈说:都是我心软,可怜他  
  老爹说:什么?!当年追我的成群,用你可怜?  
  。。。。。。。  
  谁都是一副舍身挽救大龄未婚青年的样子,sigh,看来这种问题对任何一对都是永不休止的论题。

(4)光头事件  
    
  剃光头的想法由来已久,小时候家里管,老时候老婆管,只有现在处于权利交割时期
,管理松散,加上去年夏天我叫嚷了很久“头发太  长,热的发慌”,做好了充分的蓄
势。于是我正式向偶mm提交要求剃光头的议案。没想到遭受了4重迫害后终于屈服。  
  她先是苦口婆心的人身攻击:“你一脸抬头纹、头顶癞头疮、后脑勺波浪型,你要是
真剃了光头跟毁容有什么区别啊?加上你头大,没  了毛就更显大了。。。。。”我不
怕!  
  接着她晓之以利,动之以权:“今年夏天我多给你买冰激凌,买你爱吃的可爱多,怎
么样?。。。。。。除了这件事,其他什么都可以  答应,都听你的”我不要!  
  后来就是电闪雷鸣,风雨交加:“你心里变态人格扭曲啊?告诉你,真剃了光头,今
年夏天不要来找我!我丢不起这人。。。。”我不  出门就是了。  
  最后她使出了最恶毒的一招——人。。。。”我不出门就是了。  
  那天准岳父岳母来北京,mm当即告状,岳父岳母旋即变了脸色。岳父干了一辈子公安
,岳母干了一辈子检察院,每天同光头打交道,一  定恨得压根痒痒,头发短他们都会
怀疑有前科,更不用说光头了。我只好说了一句“开玩笑的”将数天来的辛苦打拼付之一
炬。  
  两位老人走后,为了庆贺胜利,mm又逼着我背了一遍“家规”:  
  1、老婆说得都是对的2、如果不对参见第一条。  
  于是偶只能在昵称和签名档里体会光头的乐趣:(  
    
  附注:我在水木清华BBS的昵称是:“光头、墨镜、穿的像瓢虫的就是我”  
  签名档是:“用我昵称的造型斜靠在我mm出入的楼道口。我mm从我身边经过。“hi,
honey”不理我?“要gg陪么?”还是不理我?“是  去找我么?”头也不回? “是我
啊!!”我摘下墨镜,她终于回头了,接下来发生了惨不忍睹的一幕。。。。。。”  

(5)拖鞋  
    
  一次偶拖鞋烂了,懒得去买,就蹭同宿舍的穿。  
  那天我送她回学校,临走时她说:“我给你买了一双拖鞋,放在你床上了,回去试试
。”  
  偶匆匆赶回宿舍,一试,sigh,有点小,遂打电话:  
  “你想挤死我?这么小,穿上可以去打篮球了”  
  “你不是穿41号的么?”  
  “拖鞋哪有买正好大小的?”  
  “哦。。。。应该大一点,是吧?”  
  “这都不懂!气死我了。算了,给你个将功补过的机会——我的球鞋也坏了”  
  嘟--嘟--嘟--。。。。。。  
    
(6)过关斩将  
    
  偶mm从不逼我陪她上街,只有几次——都是因为她觉得我的衣服开始破旧得像民工了
(当然,我们没有同时侮辱农民阶级和工人阶级的  意思),她要给我买衣服必须我亲
自试穿方可。这个,我深知是我前生做了10世善人修成尊者,又做了10世尊者才修来的福
分。  
  那天,她觉得我的背心太旧了,非要给我买,加上我还没有凉鞋,所以我只好陪她逛
街了。  
  mm一边走一边告诉我:“女人是很能感受物质的动物”——其实她的意思是说:女孩
子喜欢逛街天经地义。  
  看中一条裤子,老板出价190,我刚想说“凑个整,100吧”,mm先开口:“这种水洗
的料子,满大街都是,60吧”。后来就是一场惊心  动魄的“价格战”加辩论会。我这
次真正佩服偶mm上至世贸临近市场萧条下至下岗待业人们消费紧缩的时事评说和“商人不
作亏本的买  卖”的引经据典以及“我诚心要,你给个实在价”等这样发人肺腑言论的
综合应用,最后甚至不惜以转身便走这样的苦肉计相逼。就这  样偶mm愣是坚守阵线,
将价格死死咬在了63元,而老板则痛苦的抛出一句“小姐,你真狠”而败下阵来,不知是
佩服还是抱怨。  
  收拾好裤子,mm告诉我:“现在侃价,不能从腰上砍,都是从脚脖子砍”一副过关斩
将的得意神情。  
    
  偶回头看看那老板,一脸无奈的神情,哼!谁叫你卖的衣服被偶mm看上了?  

(7)小白兔咬死大灰狼  
    
  一次朋友请客,席间竟然没有人敬我酒,遂主动斟酒敬在座各位,谁知大家根躲瘟神
一样四散逃去。  
  正在纳闷,一个老友发言了“不是不想喝,是我们不敢啊”  
  我马上想起来了,上次我喝醉酒后几个兄弟将我抬回寝室,偶迷迷糊糊挺尸床上(姑
且借用一下红楼梦中的一个词吧)猪头一样睡死过  去。据说偶mm气得脸色发青,从饭
局的组织者到我躯干的运输者都被她臭骂了一通,他们像小兔子一样不敢有半句分辩,  
  后来保证不再这样对我后,才灰溜溜次第逃回寝室。  
  虽然我不知道当时发生的那一幕,不过现在想起来,当时偶mm在若干个大男人面前一
定有小白兔咬死大灰狼的架势。  
  想到这里,不由一笑,自斟一杯,敬我自己,也是敬偶mm。  

(8)第一次亲密接触  
    
  ——痞子才和请勿飞扬的“第一次亲密接触”浪漫么?  
  ——好浪漫啊,因为有香水雨。  
  ——偶和偶mm的“第一次亲密接触”浪漫么?  
  ——好不浪漫啊,因为有。。。  
    
  那还是在白色恐怖的高中时代,从家里到学校,男女关系向来是全面封杀的对象。  
  对于已经喜欢上她的偶(当时还是单恋),让偶一个暑假不见她真的是very痛苦的事
情。  
  我挖空心思寻找见面的机会,终于,机会来了——偶mm说有很多题不会做,需要偶  
  这样的权威解答。  
  我们正大光明的约了见面时间和地点。  
  我欣欣然前往,路上还不停的在头脑中排练早就想好的台词。。。。。。  
    
  终于到了,发现她已经在那里了,不过身边还有一个警察!  
    
  “没这么夸张吧,还要带保镖?我有那么坏么?”我心想。  
  mm向偶介绍,那是她爸爸。  
  偶一听,差点魂飞魄散,台词忘光光了,支支吾吾的叫了声“叔叔”。  
  ft,本来挺有情致的事情,这下子全给搅了。  
  几个小时的答疑在未来岳父的监视下进行,不能打情骂俏,不能眉来眼去,何其痛苦
!至今回想起来,这仍是偶骗mm历程中最失败的事  情之一。  
    
  若干年后偶质问偶mm为什么要带那么大功率的光源,她告诉偶,岳父当时正任邢侦队
长,业绩斐然。  
  岳父大人则是每每提及此事都兴奋有加,说当年多么的明察秋毫,从电话里就听出问
题,然后顺藤摸瓜,监视偶们的一举一动,最终破  案。  

(9)篮球陪练  和mm一起运动,gg永远是陪练——last语  
    
  偶mm喜欢打篮球,为了投其所好偶的爱好就成了篮球。  
  mm们对篮球有着自己“独到”的见解,绝不拘泥于现有规则和形式。  
  拿简单的带球过人来说吧。  
  如果她要过我:能过就继续篮球玩法,过不了就改成橄榄球。  
  如果我要过她:不能过就还是篮球玩法,过了她就改成摔跤了——一把揪住偶的衣服
不放,常常把偶的衣服拉得好长,不把球给她绝不  撒手,说实话,场面有些残忍。  
  mm绝不惮用走步,而且好像每次不走够5步就会觉得亏似的,毕竟她是球员又是裁判
,还兼职制定比赛规则,腐败啊。偶然有进球,mm就  得意的问我:“我投得准不准?
”“准,准,真准”如果不及时 的阿谀,偶就又要不停地捡球直至下一次偶然的发生。  
  所以每次和mm一起运动,偶从来没有抱着提高个人运动水平那样奢侈的目的,只要一
颗纯属陪练的平常心就ok了,于是庆幸偶mm不喜欢  拳击和散打。  
  精诚所至,金石为开,偶mm一天兴奋的告诉我:“我进系篮球队了。”  
  老天不长眼啊,她都能进系队,我怎么没进NBA呢?奇怪。  


(8)第一次亲密接触  
    
  ——痞子才和请勿飞扬的“第一次亲密接触”浪漫么?  
  ——好浪漫啊,因为有香水雨。  
  ——偶和偶mm的“第一次亲密接触”浪漫么?  
  ——好不浪漫啊,因为有。。。  
    
  那还是在白色恐怖的高中时代,从家里到学校,男女关系向来是全面封杀的对象。  
  对于已经喜欢上她的偶(当时还是单恋),让偶一个暑假不见她真的是very痛苦的事
情。  
  我挖空心思寻找见面的机会,终于,机会来了——偶mm说有很多题不会做,需要偶  
  这样的权威解答。  
  我们正大光明的约了见面时间和地点。  
  我欣欣然前往,路上还不停的在头脑中排练早就想好的台词。。。。。。  
    
  终于到了,发现她已经在那里了,不过身边还有一个警察!  
    
  “没这么夸张吧,还要带保镖?我有那么坏么?”我心想。  
  mm向偶介绍,那是她爸爸。  
  偶一听,差点魂飞魄散,台词忘光光了,支支吾吾的叫了声“叔叔”。  
  ft,本来挺有情致的事情,这下子全给搅了。  
  几个小时的答疑在未来岳父的监视下进行,不能打情骂俏,不能眉来眼去,何其痛苦
!至今回想起来,这仍是偶骗mm历程中最失败的事  情之一。  
    
  若干年后偶质问偶mm为什么要带那么大功率的光源,她告诉偶,岳父当时正任邢侦队
长,业绩斐然。  
  岳父大人则是每每提及此事都兴奋有加,说当年多么的明察秋毫,从电话里就听出问
题,然后顺藤摸瓜,监视偶们的一举一动,最终破  案。  

(9)篮球陪练  和mm一起运动,gg永远是陪练——last语  
    
  偶mm喜欢打篮球,为了投其所好偶的爱好就成了篮球。  
  mm们对篮球有着自己“独到”的见解,绝不拘泥于现有规则和形式。  
  拿简单的带球过人来说吧。  
  如果她要过我:能过就继续篮球玩法,过不了就改成橄榄球。  
  如果我要过她:不能过就还是篮球玩法,过了她就改成摔跤了——一把揪住偶的衣服
不放,常常把偶的衣服拉得好长,不把球给她绝不  撒手,说实话,场面有些残忍。  
  mm绝不惮用走步,而且好像每次不走够5步就会觉得亏似的,毕竟她是球员又是裁判
,还兼职制定比赛规则,腐败啊。偶然有进球,mm就  得意的问我:“我投得准不准?
”“准,准,真准”如果不及时 的阿谀,偶就又要不停地捡球直至下一次偶然的发生。  
  所以每次和mm一起运动,偶从来没有抱着提高个人运动水平那样奢侈的目的,只要一
颗纯属陪练的平常心就ok了,于是庆幸偶mm不喜欢  拳击和散打。  
  精诚所至,金石为开,偶mm一天兴奋的告诉我:“我进系篮球队了。”  
  老天不长眼啊,她都能进系队,我怎么没进NBA呢?奇怪。  



2005年11月15日

搜索引擎友好(Search engine Friendly):基于PATH_INFO的参数解析使得动态网页在链接(URI)形式上更像静态的目录结构,大大方便网站内容被搜索引擎收录;
可缓存性(Cache Friendly):CMS本身不要过多考虑“效率”问题,只要页面输出设计的比较Cacheable,效率问题可以通过更前端专业的缓存服务器解决。
后面附有一个简单的利用PATH_INFO机制 + SquidWEB加速模式实现PHP动态网页的静态发布的例子,比起那些能导出静态页面的大型发布系统这种轻量级的动态缓存解决方案只需对原有的动态发布系统做少量的修改,从而大大提高了原有内容发布系统的重用度。

网站内容静态发布的重要性:Cacheable / Search Engine Friendly
由于一个动态页面的速度往往会比静态页面慢2-10倍,因此对于一个访问量逐步向百万级发展的网站来说,访问速度很快成为一个瓶颈。除了优化内容发布系统的应用本身外,如果能把更新频率比较低的动态页面转存成静态网页来发布,速度上的提升效果将是显著的,而静态网页如果能被缓存在内存里,访问速度更会比原有动态网页有2-3个数量级的提高。


在国外内容管理系统(CMS)已经是一个非常成熟的行业,能够真正支撑大访问的系统中静态页面输出和缓存系统几乎是必须的。

此外随着互联网上的内容以惊人速度的增长也越来越突出了搜索引擎的重要性,如果网站想更好地被搜索引擎收录,网站设计除了面向用户友好(User Friendly)外,面向搜索引擎友好的设计也是非常重要的。链接地址相对固定的静态网页比较适合搜索引擎索引,动态网页后面跟的参数灵活度很大,因此很多搜索引擎都往往会忽略动态页面,比如:对于news.php?day=22&month=03&year=2003,很多搜索引擎可能只索引news.php这个页面一次,更多其他参数的页面可能都会当成相似内容滤掉;我个人一直怀疑在搜索引擎中:即使是同样内容,静态页面往往也比动态网页的PageRank高。

因此,将动态页面转换成静态页面,无论从效率上还是面向搜索引擎友好上,都是一个门户级内容发布系统必须面对的问题。


静态缓存和动态缓存的比较
静态页面的缓存可能有2种形式:

静态缓存:是在新内容发布的同时就立刻生成相应内容的静态页面,比如:2003年3月22日,管理员通过后台内容管理界面录入一篇新闻后,就立刻生成 http://www.chedong.com/tech/2003/03/22/001.html这个静态页面,并同步更新 http://www.chedong.com/tech/index.html这个静态页面上的相关链接。

动态缓存:是在新内容发布以后,并不预先生成相应的静态页面,直到对相应内容发出请求时,如果前台缓存服务器找不到相应缓存,就向后台内容管理服务器发出请求,后台系统会生成相应内容的静态页面,用户第一次访问页面时可能会慢一点,但是以后就是直接访问缓存了。
如果去ZDNet等国外网站会发现他们使用的基于Vignette内容管理系统都有这样的页面名称:0,22342566,300458.html。其实这里的0,22342566,300458就是用逗号分割开的多个参数:
第一次访问找不到页面后,相当于会在服务器端产生一个doc_type=0&doc_id=22342566&doc_template=300458的查询,
而查询结果会生成的缓存的静态页面:0,22342566,300458.html
静态缓存的缺点:

复杂的触发更新机制:这两种机制在内容管理系统比较简单的时候都是非常适用的。但对于一个关系比较复杂的网站来说,页面之间的逻辑引用关系就成为一个非常非常复杂的问题。最典型的例子就是一条新闻要同时出现在新闻首页和相关的3个新闻专题中,在静态缓存模式中,每发一篇新文章,除了这篇新闻内容本身的页面外,还需要系统通过触发器生成多个新的相关静态页面,这些相关逻辑的触发也往往就会成为内容管理系统中最复杂的部分之一。
旧内容的批量更新: 通过静态缓存发布的内容,对于以前生成的静态页面的内容很难修改,这样用户访问旧页面时,新的模板根本无法生效。

在动态缓存模式中,内容管理系统只需要关心各个页面自身,而相关的其他页面链接能自动更新,从而大大减少了设计触发器设计的需要。

VIGNETTE的动态缓存虽然很好,但是一个系统如果设计得太全面其实也是有很大危险的:如果一个频道下文章很多:比如达到十万时,如果生成的静态页面都在一个目录下,对系统文件系统是一个极大的危害,因为一个目录下文件个数超过3000效率就会非常差,甚至连rm *时都会出现too many arguments错误。

简单的说,一个好的内容管理系统应该包括:

输入:方便的内容录入,所见即所得的编辑界面,权限控制等……
输出:方便的模板管理,缓存发布等……

设计或寻找这样一个系统如果考虑功能全面和高集成度,你会发现只有那些几十万$以上的专业内容发布系统才能你满足所有的需求。

以前做应用的时候也用过一些方式:应用首次访问以后将生成的内容存成一个缓存文件,下次请求时从缓存目录中读取缓存文件,内容更新时,应用把内容从缓存目录中删掉,从而减少对数据库的访问。虽然这样做也能承载比较大的负载,但这样的内容管理和缓存一体的系统是很难分离的。

如果换一个思路:通过一定的分工现内容管理和缓存机制2者的分离,你会发现无论哪一方面可选的余地都是非常大的。甚至有可能利用目前的已经是“功能”比较全面的内容管理系统,而让所有“效率”问题都由前台更专业,而且是很容易分布的缓存服务器解决:可以是通过开放源代码的SQUID做反相代理的WEB加速,可以是专门的缓存硬件设备,甚至是专业的缓存服务商。

动态缓存必须有一个基于静态链接本身的参数解析过程,很多专业内容管理系统系统都是将参数解析机制做成了WEB服务器的模块实现的。

我们可以把以前的HTTP/GET方式的?key=value改为直接用/value1/value2的方式来传递,从而实现了动态页面的静态URL形式。而缓存只需要在前端加上一层CACHE服务器,比如:Squid。网站动态内容的动态缓存发布就可以实现了。

按照这个机制实现的发布系统很好地体现了应用系统的分工:把复杂地内容管理系统分解成:内容输入和缓存这2个相对简单的系统实现。而中间的内容发布通过URL REWRITE或PATH_INFO解决动态页面的参数传递:

后台:内容管理系统,专心的将内容发布做好,比如:复杂的工作流管理,复杂的模板规则等……
前台:页面的缓存管理则可以使用缓存软件(比如前台80端口使用SQUID对后台8080的内容发布管理系统进行缓存),缓存硬件,甚至交给缓存服务商。

______________________ ___________________|Squid Software cache| |F5 Hardware cache|———————- ——————- \ / \ ________________ / |ASP |JSP |PHP | PATH_INFO Based Content Manage System —————-

把URI地址用作参数传递:URL REWRITE和PATH_INFO
最近看到很多关于面向搜索引擎URL设计优化(URI Pretty)的文章,提到了很多利用一定机制将动态网页参数变成像静态网页的形式:
比如可以将:http://www.chedong.com/phpMan.php?mode=man&parameter=ls
变成:http://www.chedong.com/phpMan.php/man/ls


最简单的是基于各种WEB服务器中的URL重写转向(Rewrite)模块的URL转换:这样几乎可以不修改程序的实现将news.asp?id=234的映射成news/234.html

Apache上有一个模块(非缺省):mod_rewrite:当然URL REWRITE的强大功能还远远不止于此。


当我需要将将news.asp?id=234的映射成news/234.html时:只需设置:
RewriteRule /news/(\d+)\.html /news\.asp\?id=$1 [N,I]
这样就把 /news/234.html 映射成了 /news.asp?id=234
当有对/news/234.html的请求时:web服务器会把实际请求转发给/news.asp?id=234


而在IIS也有相应的REWRITE模块:比如ISAPI REWRITE和IIS REWRITE,语法都是基于正则表达式,因此语法是几乎相同的:

比对于某一个简单应用可以是:
RewriteRule /news/(\d+)? /news\.asp\?id=$1 [N,I]
这样就把 /news/234 映射到了 /news.asp?id=234

如我需要把 http://www.myhost.com/foo.php?a=A&b=B&c=C 表现成 http://www.myhost.com/foo.php/a/A/b/B/c/C。而一个更通用的能够将所有的动态页面进行参数映射的表达式是:
RewriteRule (.*?\.php)(\?[^/]*)?/([^/]*)/([^/]*)(.+?)? $1(?2$2&:\?)$3=$4?5$5: [N,I]


通过URL REWRITE还有一个好处就是隐藏后台实现:
比如我们需要将应用从news.asp?id=234迁移成news.php?query=234时,前台的表现可以一直保持为 news/234.html。从实现应用和前台表现的分离:保持了URL的稳定性,在实现后台应用平台的迁移时非常有用。使用mod_rewrite甚至可以把请求转发到其他后台服务器上:


另外一个方式就是基于PATH_INFO:
PATH_INFO是一个CGI 1.1的标准,所有直接跟在CGI或动态页面app.cgi后面的"/value_1/value_2"就是PATH_INFO参数:
比如http://www.chedong.com/phpMan.php/man/ls,中:$PATH_INFO = "/man/ls"


PATH_INFO是CGI标准,因此PHP Servlet等都有比较好的支持。比如Servlet中就有request.getPathInfo()方法。
注意:/myapp/servlet/Hello/foo的getPathInfo()返回的是/foo,而 /myapp/dir/hello.jsp/foo的getPathInfo()将返回的/hello.jsp,从这里你也可以知道jsp其实就是一个 Servlet的PATH_INFO参数。ASP不支持PATH_INFO,

PHP中基于PATH_INFO的参数解析的例子如下:
//注意:第一个参数是空的,参数按"/"分割
if ( isset($_SERVER["PATH_INFO"]) ) {
list($nothing, $day, $id) = explode(‘/’, $_SERVER["PATH_INFO"]);
}

如何隐蔽应用:例如.php,的扩展名:
在APACHE中这样配置:
<FilesMatch "^app_name$">
ForceType application/x-httpd-php
</FilesMatch>

如何更像静态页面:app_name/my/app.html
解析的PATH_INFO参数的时候,把最后一个参数的最后5个字符“.html”截断即可。
注意:APACHE2中缺省是不允许PATH_INFO的,需要设置
AcceptPathInfo on

特别是针对使用虚拟主机用户,无权安装和配置mod_rewrite的时候,PATH_INFO往往就成了唯一的选择。

虽然通过修改设置SQUID也可以对带?的动态页面进行缓存,但为了方便搜索引擎收录索引,还是将参数改成PATH_INFO比较好。

OK,这样以后看见类似于http://www.example.com/article/234这样的网页你就知道其实是 article/show.php?id=234这个php程序生成的动态网页,很多站点表面看上去可能有很多静态目录,其实很有可能都是使用1,2个程序实现的内容发布。比如很多WIKIWIKI系统都使用了这个机制:整个系统就一个简单的wiki程序,而看上去的目录其实都是这个应用拿后面的地址作为参数的查询结果。

利用基于MOD_REWRITE/PATH_INFO + CACHE服务器的解决方案对原有的动态发布系统进行改造,也可以大大降低旧有系统升级到新的内容管理系统的成本。

面向缓存的页面设计
让页面能够比较好的被缓存服务器缓存,必须在产生内容的WEB服务器上设置,让返回内容的HTTP HEADER中加入"Last-Modified"和"Expires"声明,比如:
Last-Modified: Wed, 14 May 2003 13:06:17 GMT
Expires: Fri, 13 Jun 2003 13:06:17 GMT
以允许前端SQUID服务器缓存:

页面必须包含Last-Modified: 标记,一般纯静态页面本身都会有Last-Modified信息,动态页面需要通过函数强制加上,比如PHP中:
// always modified now
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");


必须有Expires或Cache-Control: max-age标记设置页面的过期时间:
对于静态页面,通过apache的mod_expires根据页面的MIME类型设置缓存周期:比如图片缺省是1个月,HTML页面缺省是2天等。
<IfModule mod_expires.c>
ExpiresActive on
ExpiresByType image/gif "access plus 1 month"
ExpiresByType text/css "now plus 2 day"
ExpiresDefault "now plus 1 day"
</IfModule>

对于动态页面,则可以直接通过写入HTTP返回的头信息,比如对于新闻首页index.php可以是20分钟,而对于具体的一条新闻页面可能是1天后过期。比如:在php中加入了1个月后过期:
// Expires one month later
header("Expires: " .gmdate ("D, d M Y H:i:s", time() + 3600 * 24 * 30). " GMT");


如果服务器端有基于HTTP的认证,必须有Cache-Control: public标记
ASP应用的缓存设计:
首先在公用的包含文件中(比如include.asp)加入以下公用函数:
<%
‘ Converts date (19991022 11:08:38) to http form (Fri, 22 Oct 1999 12:08:38 GMT)
Function DateToHTTPDate(ByVal OleDATE)
Const GMTdiff = #08:00:00#
OleDATE = OleDATE – GMTdiff
DateToHTTPDate = engWeekDayName(OleDATE) & _
", " & Right("0" & Day(OleDATE),2) & " " & engMonthName(OleDATE) & _
" " & Year(OleDATE) & " " & Right("0" & Hour(OleDATE),2) & _
":" & Right("0" & Minute(OleDATE),2) & ":" & Right("0" & Second(OleDATE),2) & " GMT"
End Function

Function engWeekDayName(dt)
Dim Out
Select Case WeekDay(dt,1)
Case 1:Out="Sun"
Case 2:Out="Mon"
Case 3:Out="Tue"
Case 4:Out="Wed"
Case 5:Out="Thu"
Case 6:Out="Fri"
Case 7:Out="Sat"
End Select
engWeekDayName = Out
End Function

Function engMonthName(dt)
Dim Out
Select Case Month(dt)
Case 1:Out="Jan"
Case 2:Out="Feb"
Case 3:Out="Mar"
Case 4:Out="Apr"
Case 5:Out="May"
Case 6:Out="Jun"
Case 7:Out="Jul"
Case 8:Out="Aug"
Case 9:Out="Sep"
Case 10:Out="Oct"
Case 11:Out="Nov"
Case 12:Out="Dec"
End Select
engMonthName = Out
End Function
%>

然后在具体的页面中,比如index.asp和news.asp的“最上面”加入以下代码:HTTP Header

<!–#include file="../include.asp"–>
<%
‘ set Page Last-Modified Header:
‘ Converts date (19991022 11:08:38) to http form (Fri, 22 Oct 1999 12:08:38 GMT)
Response.AddHeader "Last-Modified", DateToHTTPDate(Now())

‘ The Page Expires in Minutes
Response.Expires = 60

‘ Set cache control to externel applications
Response.CacheControl = "public"
%>

其中Response.Expires 是设置页面过期时间的:单位是分钟

如何检查目前站点页面的可缓存性(Cacheablility)呢?可以参考以下2个站点上的工具:
http://www.ircache.net/cgi-bin/cacheability.py

面向缓存的站点规划
一个利用SQUID的Transparent对多个站点进行做WEB加速http acceleration方案:

原先一个站点的规划可能是这样的:
200.200.200.207 www.chedong.com
200.200.200.208 news.chedong.com
200.200.200.209 bbs.chedong.com
200.200.200.205 images.chedong.com

在SQUID模式下:所有站点都通过外部DNS指向到同一个IP:200.200.200.200/201这2台SQUID缓存服务器上(使用2台是为了冗余备份)
_____________________ ________www.chedong.com 请求 \ | Squid cache box | | | / 192.168.0.4 www.chedong.com news.chedong.com 请求 -| 200.200.200.200/201 |-|firewall| – 192.168.0.4 news.chedong.com bbs.chedong.com 请求 / | /etc/hosts | | box | \ 192.168.0.3 bbs.chedong.com ——————— ——–
编译和配置过程:

./configure –enable-referer-log –disable-internal-dns
–disable-internal-dns:禁用SQUID的DNS解析
–enable-referer-log:便于APACHE COMBINED格式日志生成


配置:
http_port 80
httpd_accel_host virtual
httpd_accel_port 8000
httpd_accel_uses_host_header on

# accelerater my domain only
acl acceleratedHosts dstdom_regex chedong.com
# accelerater http protocol on port 80
acl acceleratedProtocol protocol HTTP
acl acceleratedPort port 80
# access arc
acl all src 0.0.0.0/0.0.0.0

# Allow requests when they are to the accelerated machine AND to the
# right port with right protocol
http_access allow acceleratedProtocol acceleratedPort acceleratedHosts
http_access allow all
在/etc/hosts中:加入内部的DNS解析,比如:
192.168.0.4 www.chedong.com
192.168.0.4 news.chedong.com
192.168.0.3 bbs.chedong.com

工作原理:
SQUID服务器上关闭了DNS解析,这样,请求外部过来时,设置SQUID根据/etc/hosts文件进行内部DNS解析。这样,服务器请求就可以转发到我们指定的内部地址上。

使用SQUID的反相代理加速,我们不仅可以得到性能上的提升,而且还能获得额外的安全性和配置的灵活度:

配置灵活性提高:可以自己在内部服务器上控制后台服务器的DNS解析,当需要在服务器之间做迁移调整时,就不用大量修改外部DNS配置了,只需要修改内部DNS实现服务的调整。
数据安全性增加:所有后台服务器可以很方便的被保护在防火墙内。
后台应用设计复杂程度降低:原先为了效率常常需要建立专门的图片服务器images.chedong.com和负载比较高的应用服务器 bbs.chedong.com分离,在SQUID加速模式中,所有前台请求都通过SQUID服务器:实际上就都是静态页面,这样,应用设计时就不用考虑图片和应用本身分离了,也大大降低了后台内容发布系统设计的复杂程度,由于数据和应用都存放在一起,也方便了文件系统的维护和管理。

小节:

大访问量的网站应尽可能将动态网页生成静态页面作为缓存发布,甚至对于搜索引擎这样的动态应用来说,缓存机制也是非常非常重要的。
利用PATH_INFO机制进行解析参数,实现动态网页链接的美化,方便搜索引擎的索引;
在动态页面中利用HTTP Header定义缓存更新策略。
利用缓存服务器获得额外的配置和安全性
日志非常重要:SQUID日志缺省不支持COMBINED日志,但REFERER日志对于站点分析非常重要,在GNU/Linux可以用以下方式生成:
pr -mJt access.log referer.log | awk ‘{print $1" "$2" "$3" "$4" "$5" "$6" "$7" "$8" "$9" "$10" \x22"$14"\x22 \x22"$11"\x22"}’ > combined.log
-m merge
-J join line
-t omit header and footer
附1:SQUID性能测试试验
phpMan.php是一个基于php的man page server,每个man page需要调用后台的man命令和很多页面格式化工具,系统负载比较高,提供了Cache Friendly的URL,以下是针对同样的页面的性能测试资料:
测试环境:Redhat 8 on Cyrix 266 / 192M Mem
测试程序:使用apache的ab(apache benchmark):
测试条件:请求50次,并发50个连接
测试项目:直接通过apache 1.3 (80端口) vs squid 2.5(8000端口:加速80端口)

测试1:无CACHE的80端口动态输出:
ab -n 100 -c 10 http://www.chedong.com:81/phpMan.php/man/kill/1
This is ApacheBench, Version 1.3d <$Revision: 1.58 $> apache-1.3
Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright (c) 1998-2001 The Apache Group, http://www.apache.org/

Benchmarking localhost (be patient)…..done
Server Software: Apache/1.3.23
Server Hostname: localhost
Server Port: 80

Document Path: /phpMan.php/man/kill/1
Document Length: 4655 bytes

Concurrency Level: 5
Time taken for tests: 63.164 seconds
Complete requests: 50
Failed requests: 0
Broken pipe errors: 0
Total transferred: 245900 bytes
HTML transferred: 232750 bytes
Requests per second: 0.79 [#/sec] (mean)
Time per request: 6316.40 [ms] (mean)
Time per request: 1263.28 [ms] (mean, across all concurrent requests)
Transfer rate: 3.89 [Kbytes/sec] received

Connnection Times (ms)
min mean[+/-sd] median max
Connect: 0 29 106.1 0 553
Processing: 2942 6016 1845.4 6227 10796
Waiting: 2941 5999 1850.7 6226 10795
Total: 2942 6045 1825.9 6227 10796

Percentage of the requests served within a certain time (ms)
50% 6227
66% 7069
75% 7190
80% 7474
90% 8195
95% 8898
98% 9721
99% 10796
100% 10796 (last request)

测试2:SQUID缓存输出
/home/apache/bin/ab -n50 -c5 "http://localhost:8000/phpMan.php/man/kill/1"
This is ApacheBench, Version 1.3d <$Revision: 1.58 $> apache-1.3
Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright (c) 1998-2001 The Apache Group, http://www.apache.org/

Benchmarking localhost (be patient)…..done
Server Software: Apache/1.3.23
Server Hostname: localhost
Server Port: 8000

Document Path: /phpMan.php/man/kill/1
Document Length: 4655 bytes

Concurrency Level: 5
Time taken for tests: 4.265 seconds
Complete requests: 50
Failed requests: 0
Broken pipe errors: 0
Total transferred: 248043 bytes
HTML transferred: 232750 bytes
Requests per second: 11.72 [#/sec] (mean)
Time per request: 426.50 [ms] (mean)
Time per request: 85.30 [ms] (mean, across all concurrent requests)
Transfer rate: 58.16 [Kbytes/sec] received

Connnection Times (ms)
min mean[+/-sd] median max
Connect: 0 1 9.5 0 68
Processing: 7 83 537.4 7 3808
Waiting: 5 81 529.1 6 3748
Total: 7 84 547.0 7 3876

Percentage of the requests served within a certain time (ms)
50% 7
66% 7
75% 7
80% 7
90% 7
95% 7
98% 8
99% 3876
100% 3876 (last request)

结论:No Cache / Cache = 6045 / 84 = 70
结论:对于可能被缓存请求的页面,服务器速度可以有2个数量级的提高,因为SQUID是把缓存页面放在内存里的(因此几乎没有硬盘I/O操作)。


附2:一个CACHE多主机APACHE服务的SQUID安装配置:
squid的编译:
./configure –enable-useragent-log –enable-referer-log –enable-default-err-language=Simplify_Chinese –enable-err-languages="Simplify_Chinese English" –disable-internal-dns
make
#make install
#cd /usr/local/squid
make dir cache
chown squid.squid *
vi /usr/local/squid/etc/squid.conf

———————cut here———————————-
# visible name
visible_hostname cache.example.com

# cache config: space use 1G and memory use 256M
cache_dir ufs /usr/local/squid/cache 1024 16 256
cache_mem 256 MB
cache_effective_user squid
cache_effective_group squid


http_port 80
httpd_accel_host virtual
httpd_accel_single_host off
httpd_accel_port 80
httpd_accel_uses_host_header on
httpd_accel_with_proxy on

# accelerater my domain only
acl acceleratedHostA dstdomain .example1.com
acl acceleratedHostB dstdomain .example2.com
acl acceleratedHostC dstdomain .example3.com
# accelerater http protocol on port 80
acl acceleratedProtocol protocol HTTP
acl acceleratedPort port 80
# access arc
acl all src 0.0.0.0/0.0.0.0

# Allow requests when they are to the accelerated machine AND to the
# right port with right protocol
http_access allow acceleratedProtocol acceleratedPort acceleratedHostA
http_access allow acceleratedProtocol acceleratedPort acceleratedHostB
http_access allow acceleratedProtocol acceleratedPort acceleratedHostC

# logging
emulate_httpd_log on
referer_log /usr/local/squid/var/logs/referer.log
useragent_log /usr/local/squid/var/logs/agent.log


———————-cut here———————————

创建缓存目录:
/usr/local/squid/sbin/squid -z

启动squid
/usr/local/squid/sbin/squid

停止squid:
/usr/local/squid/sbin/squid -k shutdown

启用新配置:
/usr/local/squid/sbin/squid -k reconfig

通过crontab每天0点截断/轮循日志:
0 0 * * * (/usr/local/squid/sbin/squid -k rotate)


附3:如何在IIS上利用PHP支持PATH_INFO
PHP的ISAPI模式安装备忘:只试成 php-4.2.3-Win32

解包目录
========
php-4.2.3-Win32.zip c:\php

PHP.INI初始化文件
=================
复制:c:\php\php.ini-dist 到 c:\winnt\php.ini

配置文件关联
============
按照install.txt中的说明配置文件关联

运行库文件
==========
复制 c:\php\php4ts.dll 到 c:\winnt\system32\php4ts.dll

这样运行后:会发现php把PATH_INFO映射到了物理路径上
Warning: Unknown(C:\CheDong\Downloads\ariadne\www\test.php\path): failed to create stream: No such file or directory in Unknown on line 0

Warning: Unknown(): Failed opening ‘C:\CheDong\Downloads\ariadne\www\test.php\path’ for inclusion (include_path=’.;c:\php4\pear’) in Unknown on line 0

安装ariadne的PATCH
==================
停止IIS服务
net stop iisadmin
ftp://ftp.muze.nl/pub/ariadne/win/iis/php-4.2.3/php4isapi.dll
覆盖原有的c:\php\sapi\php4isapi.dll

注:ariadne是一个基于PATH_INFO的内容发布系统

PHP 4.3.2 RC2中CGI模式的PATH_INFO已经修正,照常安装即可。


参考资料:


CMS行业观察
http://www.cmswatch.com


CMS讨论邮件列表
http://www.cms-list.org


一个基于PATH_INFO的开源内容管理系统
http://typo3.com/

商业的和开源CMS项目列表:
http://directory.google.com/Top/Computers/Software/Internet/Site_Management/Content_Management/


搜索引擎友好的URL设计
http://www.sitepoint.com/article/485
说不定这个URL原来就是articel.php?id=485


HTTP代理缓存
http://vancouver-webpages.com/proxy.html

可缓存的页面设计
http://linux.oreillynet.com/pub/a/linux/2002/02/28/cachefriendly.html


相关RFC文档:


RFC 2616:
section 13 (Caching)
section 14.9 (Cache-Control header)
section 14.21 (Expires header)
section 14.32 (Pragma: no-cache) is important if you are interacting with HTTP/1.0 caches
section 14.29 (Last-Modified) is the most common validation method
section 3.11 (Entity Tags) covers the extra validation method

可缓存性检查:
http://www.web-caching.com/cacheability.html


URL Rewrite文档:
http://www.isapirewrite.com/docs/
http://httpd.apache.org/docs/mod/mod_rewrite.html
http://httpd.apache.org/docs-2.0/mod/mod_rewrite.html

原文出处: http://www.chedong.com/tech/cms.html


 平凡驴子一生必做的19件事
在这里我们不能只谈户外……但是决不能不谈户外
  
一、多上论坛,多问问题,多思考,更多是用脑子而不是鼠标,其好处是当你花钱买装备后能体会到的,装备能帮助你,能让你更安全更轻松,但是装备只能在你正确的使用下才能起到作用,你是装备的主人,但是如果你不会使用他们,他们只会成为你的负担。


二、买一套起码二流的装备,当然一流最好。买了一流的装备不要错过使用它们的机会,毕竟装备是买来用的,如果你买了高山靴,请不要在海边穿……


三、可以去看看便宜的甚至是冒牌或者假的装备,也可以买一辆件自己喜欢的,因为可能它们会给你一次痛不欲生的经历,这样可以尽早实现高性价比装备免疫,也可以为未来的装备升级留出更多理性的空间。


四、如果你不打算太“自虐”,装备又很新的话,趁着它们还可以使用,抓紧时间转手,这种结果对于一个重视自身生命安全和心理健康的驴子来讲是有必要的。

五、不要忘记买些可以在城市平时穿着的服装。户外服装的比重不要超过40%,因为城市中人看你装成那个样子会投来呆滞的目光,而且你也没有必要把楼梯当成山路,尽管可能穿着不是很“户外”,但是我想你还是需要“班尼路”。

六、能不错过打折,还是不要错过,但是一旦错过了也不要抱怨,因为很可能打折的东西并不适合你,买一件不适合你的东西,比买一件不打折东西带了的经济损失更大,如果东西是别人送的,那就试着去使用一下,虽然可能不合心意,但是至少是免费的,免得你钱包瘪瘪,但据说可能会让你花更多的钱。(比如朋友送你一个单板,你还需要买鞋和固定器!)

七、要有几个高级的驴友朋友和几个初级的驴友朋友,高级的可以让你学到更多的东西,初级的可以给你炫耀自己的机会,但是不要随时随地的炫耀你的“经验”,如果碰到扮猪吃老虎的驴,那人可丢大了。当然你也同样可以扮猪吃老虎,是当猪还是当老虎,决定权在自己,但是不分场合的扮猪吃老虎,那么你只会变成猪或是小丑,


八、学会跟异性的驴子,愉快而又坦然的共用一个帐篷,虽然这样的机会可能并不多,但是不可否认有一小挫人就有这种龌龊的想法,户外追求的就是纯净和安逸的感觉,如果你本身思想就不纯净,劝你还是不要踏足户外圈。当然了,如果两个人都有这样的想法,一定要三思而后行,一来帐篷并不隔音,二来不要带坏其他的驴,第三,这个有些方面的问题请咨询生物老师或计生办,在外面可找不到投币式的售货机!

九、如果觉得平地或是4000米以下的高度对你没有吸引力了,那你也不要盲目的进大量高山设备,玩的越久雪山的吸引力越大,但是年龄也和登山难度也是成几何积数增长,驴子很可能会变成山友。但是记住徒步有徒步的乐趣,雪山有雪山的吸引力,如果确定自己不是上雪山的料,那么趁早连雪山的照片都别看!

十、如果你决定买一件超过自己月工资两倍的装备,那么就要做好自己的思想工作,一来不要抱怨太贵,贵有贵的道理,哪怕只是为了亮骚,二来要说服自己的肚子,因为到任何时候不要把如何生活放到最后考虑。其实贵装备并不是买了就好,正确使用它才值那些钱!

十一、喜欢户外,尽量尝试一下自虐,这个时候会很累,但是感觉和FB是绝对不一样的。如果你挺过来了,那你就可以自豪了!因为如果你自虐过几次,那么戒烟和减肥就不是什么难以控制的事了!别说你买了装备就为了吃啊!!

十二、买一个帐篷,可大可小,大可以买4人帐,打麻将,小可以买单人,保护隐私,即不用看人脸色,也不会被别人吵醒或把别人吵醒,好睡眠才有好心情。

十三、我知道你太爱户外了,不过最好别不爱你的工作。


十四、一定要做一次领队,担负起责任,哪怕只是去隔壁的小饭店FB,做好了这些再来责怪那些你认为不好的领队。

十五、无论如何你能放到包里的东西都放到包里,看到周围的老驴子背包,只有两个字:丰满。出去时候的需要的是方便和安全,外挂只会让你消耗更多的力气和增加被树杈刮住的几率,驴子的新老不是通过背包的外挂看出来的。

十六、对待装备一定要有自己的见解,这个见解不见得一定是正确的,但是一定要自己总结的,而且是客观的。同时告诉别的驴子,这些只是你的个人见解。

十七、当你变成了“老驴”,请不要以老驴自居,也不要鄙视和排斥新驴,因为最开始你也不会搭帐篷!


十八、如果不知道什么是户外,那么至少要尝试一次。


十九、活到老,玩到老,户外到老。

如果你看到着,您是不是也要回一篇帖子,来鼓励我累得麻痹的指头和猩红的双眼呢?


备注:看好贴回帖是一个驴子必备的美德,谢谢了~~~缘分啊~~


 存比较有名的国营小吃店:
  
  西城:
  
  华天护国寺小吃店:护国寺街人民剧场对面,并在护国寺街西口的大街路西新开了
一家分店(原北来顺),离梅兰芳故居很近,向东沿定阜街可到辅仁大学旧址和恭王府花
园。
  华天地安门小吃店:坐落在地安门十字路口东北角。临近景点:景山、北海后门、
什刹海、钟鼓楼。
  华天西安门清真饭馆:坐落在西安门西什库大街把口。离西什库教堂、北海、西
四、西单很近。
  华天小吃白塔寺店:阜成门内大街白塔寺对面。
  华天新城小吃店:新街口豁口南侧路东。
  西来顺饭庄:和平门西交民巷把口,原来在白塔寺。早点供应部分小吃。
  又一顺饭庄:黄寺大街西口路南。早点供应部分小吃。
  新荣清真小吃店:新文化街和闹市口交界处东北角。本以为早没有了,最近路过发
现还在。小时候在那里第一次吃卤炸豆腐和丸子汤。
  南长街清真饭馆:西华门南侧路西。有部分小吃和爆肚、炒饼、炒疙瘩。炒疙瘩味
道不错,其疙瘩和恩元居的一样都是手工、小炒(许多店是机制加大锅,吃起来像剩
的),缺点是配菜不够丰富,最好加上点黄瓜丁和青豆嘴。
  此外,六部口音乐厅路东有一家民乐轩清真锅贴馆,是原来的鸿宾楼锅贴馆。
  
  东城:
  
  隆福寺小吃店和白魁老号:东四隆福寺街原隆福大厦斜对面,隆福寺小吃以前非常
有名,但随着东四商业街的没落和几经拆建,现已今不如昔。两家店是通着的,店面很
大。
  白魁老号饭庄:北新桥十字路口西北角路西。原阳春回民小吃店。白魁老号的烧羊
肉和门钉肉饼很有名。此处离雍和宫、国子监、孔庙(首都博物馆)、地坛南门很近。
  白魁老号饭庄:宽街十字路口东北角。此处为总店,除炒菜外也有小吃,就餐环境
不错。
  隆福寺小吃分店:北新桥以南十二条附近路西,店面不大,但挺干净。
  隆福寺小吃分店:鼓楼东侧,店面不大。临近景点:什刹海、钟鼓楼。
  隆福寺小吃分店:安定门内大街路西,104路方家胡同站前。临近景点:国子监、
孔庙。
  此外,隆福寺小吃在王府井北京画店旁有一商亭,但只有几种小吃,而且居然卖起
了羊肉串和老玉米。
  兴华美食爆肚店:坐落在沙滩红楼对面,除了爆肚外也有清真小吃,肉饼很好吃。
店面不大。临近景点:故宫、景山、皇城根遗址公园。
  清真瑞珍厚饭庄:东四十字路口西南角。仅有小吃外卖,并设有“星月楼炸糕”专
柜。
  
  崇文:
  
  锦芳回民饮食店:红桥市场北侧路东。离天坛东门很近。锦芳的元宵很有名,每到
正月十五门前都会排起长队。前一段经营得很差。最近有所改进,卫生比以前干净了,
品种也增加了。唯一不变的是肉饼,尽管大张改成小张,依然很难吃,葱太多!
  锦馨豆汁店:磁器口十字路口向东路北,前些年是北京少数几个能喝到豆汁的地
方,不过现在大部分小吃店都有豆汁。(注:小时候喝过,初喝者可能不习惯其味道和气
味,但几次之后就上瘾了)
  红湖回民小吃店:原来在龙潭北里,现因拆迁搬到了北京游乐园十字路口东北角,
就餐环境太差,品种也不多,但早点还可以。
  群芳回民小吃店:西花市大街路北,就餐环境不好。
  老磁器口豆汁店:新近开张,红湖小吃店东侧。锦馨豆汁店改制后,部分人员另起
炉灶开了这家店。
  
  宣武:
  
  南来顺饭庄:坐落在大观园西侧,从菜市口拆迁到此,一层是小吃,二、三层是涮
羊肉和炒菜。环境和卫生较好,价钱也不贵,但地理位置较偏,人气不旺。
  新华小吃店(非清真):虎坊桥十字路口北侧路西,以前主要靠豆汁出名。现正餐只
有豆汁和锅贴。最近琉璃厂和新华街要被扩宽,看来此店免不了要遭毒手。
  大栅栏的南来顺餐厅:大栅栏街东口,但现在主要经营西北小吃和涮羊肉、烤鸭,
没见有什么北京小吃。
  南来顺炸糕店:菜市口十字路口北侧路西,门脸极小,只外卖。马上要拆,去向未
定。(注:炸糕不错,每次路过都要买,现已经拆迁不知道去向,打听中……)
  现在卖炸糕最火的是虎坊桥工人俱乐部旁一家天津饭馆(京天红)。
  (注:西四路西羊蝎子店旁的一个卖炸糕的铺子也极火,每次路过都排大队)
  恩元居:前门煤市街,大力胡同口对面。恩元居的炒疙瘩据说得到了“穆柯寨”的
真传。现有三鲜、木须、鸡丁、牛肉、肉沫、羊肉等六种口味,味道绝对一流,但经营
状况令人堪忧,而且煤市街也面临拆迁。
  
  通州:
  
  小楼饭店:通州南大街北口(华联商厦后面)。通州小楼是一家清真百年老店,其烧
鲇鱼号称“通州三宝”之一。(另两宝是大顺斋的糖火烧和万通酱园的腐乳)。一层设有
小吃部。
  
  还有一些国营非清真小吃店:
  
  天兴居:坐落在大栅栏对面鲜鱼口内,炒肝最正宗,也有一些其他小吃,但包子很
一般。
  都一处:坐落在前门大街鲜鱼口把口,经营烧麦,二楼有炒菜。其传统名吃炸三角
尚未恢复。有一家分店在方庄餐饮一条街,方庄贵友对面。
  瑞宾楼:大栅栏门框胡同,特色是褡裢火烧。
  庆丰包子铺:西安门清真饭馆隔壁,经营包子炒肝。以前在西单长安大戏院旁边,
八十年代初非常火。北京的包子其实就是天津包子。有一家新开张的分店在大栅栏街大
观楼影院对面。另一家分店在新街口丁字路口路东,新川面馆隔壁。
  西四包子铺:西四十字路口西南角,经营包子炒肝。现打出二友居招牌。
  馄饨侯:王府井大街八面槽。分店有:1、鼓楼东侧;2、和平里十字路口北侧路东
;3、东四隆福寺小吃店隔壁。
  丰年灌肠馆:东四隆福寺街东口,专营炸灌肠。
  明华烧麦馆:东四十字路口西北角。
  梅园乳品店:台基厂路口东侧路北,此外西四丁字路口路西和前门大街路西钟表店
旁的两家梅园乳品店历史更久。主要有杏仁豆腐、奶酪(非cheese)、奶卷、酪干、奶饽
饽等。另外在西便门立交桥西北角还有家分店。
  
  其他有名小吃:
  
  户部街马记月盛斋:大栅栏门框胡同瑞宾楼西侧,那的杂碎汤量大而且用料新鲜,
松肉也不错,现炸的。不过就餐环境很简陋。
  爆肚冯:门框胡同廊坊二条,瑞宾楼东侧。(注:也经营北京传统涮羊肉) 原老北京
后门桥爆肚冯。在六里桥西贝莜面村地下有一分店。
  爆肚满:陶然亭公园东门南侧路西(靠近立交桥)。爆肚满最早在东四牌楼西南角,
文革前停业。
  金生隆爆肚店:健德门桥西侧路北,从东直门拆迁到此。原老北京东安市场爆肚
冯,几年前与门框胡同爆肚冯争夺商标权失利。
  东兴顺爆肚张:前海东沿,烤肉季东侧。门脸很不起眼。新近恢复“羊霜肠”。
  茶汤李:陶然亭东门南侧路东,离爆肚满不远。
  李记白水羊头:珠市口西侧路北,过街天桥下。除白水羊头外,也有不少小吃。
  羊头马:六里桥立交桥西北侧,西贝莜面村地下一层。西贝莜面村开张时曾汇聚8
家著名小吃,但现在只剩下羊头马和爆肚冯。
  爆肚王:地安门桥南侧路西,经营爆肚和门钉肉饼。据说是以前北小街那家,但不
知为什么“爆肚王”招牌只挂在店内,店外只有“爆肚店”三字。
  门钉李:车公庄往西,三塔寺路北。经营门钉肉饼和爆肚。
  
  关于牛街小吃:
  
  牛街被拆后,有几家搬到了南横西街(最近南横西街又要拆),北京卫校西侧有三家
比较有名。分别是:
  洪记小吃店:牛肉粒很有名,此外还经营各种粘货、炸糕、松肉等。(注:曾经在此
买过1斤牛肉粒,就着1斤烙饼,一顿吃下)
  老爆肚满:(与陶然亭的爆肚满不是一家,据说是亲戚)现已不卖爆肚,只卖五香烧
牛羊肉夹烧饼,2块一个,物美价廉。但最近南横西街又要拆迁,“老爆肚满”又搬到
了向东50米路北的青芳斋饭馆,但也只是权宜之计。(注:五香烧牛羊肉夹烧饼好吃,2
元一个,下午4点后才有,天天排大队)
  年糕李:各种年糕、粘货。
  牛街清真小吃城:卫校东侧,但里面没什么正宗小吃(据网友推荐里面的年记酱
肉、9号的肉饼、14号的羊羯子不错)。
  致宾楼饭庄小吃部:教子胡同南口,小吃品种挺多,环境也不错。早点豆浆特好
喝,是那种所谓有“卤水味”的。一碗豆浆加上俩糖油饼,标准的一顿北京式早餐。
  还有一些小店,虽没什么名气,但各有绝活,如南横西街东口有一家小铺豆腐脑很
好吃;年糕李对面的一家卖包子总有人排队。
  另外,最近新开张的牛街清真超市,一楼附设小吃,只搬回了一家“年糕钱”。
  
  关于卤煮:
  
  卤煮的全称是卤煮火烧,又叫卤煮小肠。源自苏造肉,形成较晚。现最有名的是小
肠陈,小肠陈的老店在虎坊路南横东街东口,已经拆了。各家店都是分家后其家人各自
开的,并不是连锁。大多为小铺,以其女儿所开的几家小肠陈饭庄规模较大,还推出了
沙锅卤煮、卤煮火锅和各种炒菜(以下水为主),就餐环境也不错。但少了那种围炉大啖
的市井乐趣。
  小肠陈:门框胡同廊坊二条,马记月盛斋隔壁。(注:不错,隔老远就闻着香气扑鼻
,材料主要是猪下水,旁边就是清真馆爆肚冯,和平共处,相安无事)
  小肠陈:南横东街,原老店旧址向西不远。
  小肠陈:虎坊桥工人俱乐部对面,腊竹胡同内。
  小肠陈饭庄:永外马家堡,西革新里路北。
  小肠陈饭庄:芳群园三区(芳群路),方庄派出所隔壁。
  小肠陈饭庄:安定门外,外馆斜街路南。
  此外陶然亭太平街丁字路口路北,有一家陈记卤煮,味道也不错,据说和小肠陈也
沾亲带故。
  益众饭馆:东四十字路口往北路东,四条把口。店内有“卤煮张”招牌,老北京肉
市广和楼戏园内的张记卤煮很有名,但不知此张是不是彼张。
  还有几家卤煮店也小有名气,但并不算老字号:田大肠:安定门立交桥南侧路西;
凯琳卤煮:虎坊桥十字路口西侧路南,经营卤煮十几年了;炒肝焦:西内大街赵登禹路
口,面临拆迁;还有鼓楼东侧一家小店,卖卤煮和炒肝,在网上有点名气。
  感觉还是小肠陈味道最好,价格也不贵(一般是碗底5块),但遗憾的是小肠陈的锅
底里缺了白肉,其他店反而都有。
  
  
  虎坊桥路口西南(南北走向),有个卖炸糕,很多人排队买。路口西南(东西走向)有
个买卤煮的听说也很不错
  前门有个“利群烤鸭店“不错,就是难找,是个全聚德老师傅开的烤鸭店
  服务商全称: 北京市崇文区利群烤鸭店
  简介: 本店是一座清代四合院,主营烤鸭,中餐,本店在继承
  宫廷挂炉烤鸭的基础上,博采众家之长。工序虽繁必不敢
  省人力,原料虽贵必不敢减物力。本店一律选用一级北京
  填鸭,精心制作,以纯正的传统挂炉烤鸭,为广大顾客服务。
  营业地址: 崇文区前门东大街翔风胡同11号
  联系方式: 67055578,67025681
  服务项目: 烤鸭,中餐
  服务价格: 烤鸭每套65元
  
  几点说明:
  以上并没有囊括北京所有的小吃店,只是比较有名气。
  北京的国营和老字号小吃店虽然在经营和服务上尚需改进,味道也良莠不齐,但至
少做法上依然很正宗,而且价格也很便宜。大部分小吃制作复杂、利润不高,这也是许
多饭馆和私人小摊不做的原因。至于几处所谓小吃城因为只顾赚钱,不注重社会效益,
所经营的小吃既不正宗,且品种少,质次价高,纯粹是在误导外地游客,给北京小吃抹
黑。例如东安市场老北京一条街只有很少几种北京小吃,一个炸糕卖2块,而国营店只
卖8毛。其他竟然都是炒面、炒凉粉、炒饭、炸串等街边小摊的货色。王府井小吃街卖
爆肚的最多(因为利大),其次最多的居然是卖羊肉串的。王府井小吃城开张时曾汇聚多
家老字号,但很快就关了门。


 1. 鹭鹭: 上海菜, 上海一著名餐厅的分号, 在北京有两家店, 俺只去位于红庙那
一家. 历年来一直将八宝辣酱做特价. 比起上海来说可能味道差些, 但在北京,俺个人
认为比夜上海之流强得不是一星半点. 菜品质量比较平均, 特别是毛蟹炒年糕很好但实
在很贵, 总体价位不便宜, 需订位. 电话: 65930442. 地址在大望路, 即红庙路口向南
一点儿即是.
  2. 静颐洲: 味道差鹭鹭较远, 但装修很好, 价格不便宜. 地点在东直门外的东环
广场, 订餐电话: 64181072.
  3. 大串门: 应当说是淮扬菜, 味道不错. 建议要点心太软, 莼菜豆腐, 肴肉, 蒜
子鲈鱼, 清炒虾仁, 熏干芹菜, 春蚕银杏. 有种素食的豆腐卷, 非常好吃.喜欢落地的
玻璃窗,
  但极其不喜欢餐厅剩下的装修, 你去了就知道了. 不好停车. 电话: 85965399.
  4. 为食家: 广东排挡, 在东直门PIZZA店的5层, 味道很好. 花费在广东菜里算可,
人均大约70-80元左右. 建议吃煲仔饭, 卤水花生, 茶皇鸡(豉油鸡), 各式粥面(特别是
花蟹
  粥和状元及第粥), JJ系列(建议黄鳝), 避风塘系列(建议牛蛙), 陈皮排骨, 京葱
茄子, 蒸丝瓜, 椒丝腐乳炒通心菜(菜单上没有, 但可以跟厨师要). 一定要试陈村粉,
因为是从广州空运来的. 其潮州咸菜是自家做的, 非常地道.有顺德鱼生卖.缺陷是没有
烧腊卖, 据说是因为后厨不够大. 建议用餐人多时订位, 电话:64686868. 最近成为俺
非常喜欢的餐厅之一.
  5. 华都饭店福满楼: 可能叫这个名字的餐厅不少, 但俺非常喜欢这一家.常在周末
去吃早茶, 有各式肠粉卖而且味道不逊广州. 海鲜和烧味做得不错,但去晚了时常没有
烧鹅. 原来特别喜欢吃一种菜叫做田园菜篮子, 是个锅仔类的菜, 里面的芋头非常好吃
, 但不知道是否还在卖. 这里还有特制的酸梅汤, 味道不错. 是家很老的店, 周末常满
. 电话: 65971166转福满楼.
  6. 福临门鱼翅酒家: 好多朋友都看俺网上流传的有关鱼翅的照片, 所以俺现在坚
决反对吃鱼翅, 但这家的点心不错, 还经常有特价. 菜品SO SO, 服务比新荔枝湾差很
远. 俺只去过盈科的分店, 电话: 65393535; 国际饭店好象是总店, 电话:
65126688-6278. 价格很贵.
  7. 新荔枝湾: 一著名广东餐厅的分店, 曾经以阿森鲍鱼驰名, 应该是在北京的第
一家店. 俺非常喜欢, 环境优雅, 菜品一流(算正经的粤菜吧, 不属于排挡). 有些贵,
建议
  点玫瑰豉油鸡, 盐烧猪手, 香煎银雪鱼, 南瓜排骨, 清炒芦笋. 另外, 燕窝蛋塔
是不可不试的. 送的小菜味道也很好. 地点在长安大戏院后身的一个写字楼内, 离川办
不远. 电话: 65256220.
  8. 唐宫海鲜舫: 有N家店, 常去崇文门那家, 均以特价点心为招牌,各种广东小炒
及点心等均不错. 有种天绿香做的冷菜味道很清凉, 烹调避风塘系列的手法也不错, 有
榴莲酥卖当属不俗吧?但芒果布丁微甜. 人多, 最好早去或订位. 记得听说新世纪饭店
有店, 某日当俺路过亚运村的西藏大厦时, 发现那里也有一家, 但不知道人多否. 点心
特价从早7:30至17:00均有, 最旺应当是中午左右. 注意各店MM的服务都较粗糙.
  9. 好世界: 说起好世界心情蛮复杂的. 这家店俺印象中比顺峰还贵,但味道不如顺
峰. 最好吃且让俺记住的是芒果布丁, 是俺在北京吃过最好的, 菜烧的也还算可以了.
地点在民族宫往东一点儿. 建议如果不打折就不要自己花钱吃.放在这里的原因是俺一
特别好的朋友很喜欢. 不用订位, 大得很.
  10. 金湖茶餐厅: 24小时营业, 国贸那家店总是很挤很乱,所以建议去建国门那家
店, 通常不用等位. 属于茶餐厅之流, 建议试一下客家咸鸡粥, 窝蛋免治牛肉粥, 雪菜
  火鸭炒米粉, 避风塘茄子, 菠萝包, 马蹄糕, 芋头糕等. 味道非常好而且快, 也适
合一个人吃饭. 冻奶茶不错. 地点在国际俱乐部东门向北一点, 国际俱乐部饭店向南一
点, 跟乐杰士挨着.
  11. 不见不散: 也是茶餐厅, 也是24小时营业. 有人说这里比金湖好, 但俺更喜欢
金湖, 因为金湖的菜品比较多选择. 这里的粥和小炒都不错, 而且冻鸳鸯非常好喝. 在
恒基和东方广场各有一店. 恒基店电话: 65186515; 东方广场店电话: 85186518.另外
华润大厦也有一家店, 但菜却略有不同.
  12. 海盛苑: 簋街上最喜欢的餐厅之一, 口号是吃肉的价钱吃海鲜,是家青岛小小
的海鲜馆. 在簋街的中间, 从东直门桥向西走, 过小街红绿灯的路北, 原来东方渔港的
正对
  面. 一定要试浇油蛏子, 豉汁扇贝, 原汁蛤蜊, 皮皮虾等各种海鲜建议煮了吃即可
, 冷菜里的海凉粉和猪蹄不错, ?魇晨梢猿增延憬茸?,比双盛园的味道好且便宜.还可以
吃海鲜疙瘩汤或者扁豆焖面. 老板是很实在的山东人,上次去的时候俺们点海胆, 他上
去捏了一下, 发现海胆不算很好了, 还建议俺们不要点. 晚上人很多, 白天还好.
  13. 俏江南: 很多家店, 号称是改良川菜. 味道有些店很好但有些较差,所有店面
装修不错, 且各店各自为政, 经常连促销措施都不相同. 俺个人觉得北海万泰和盈科中
心的不错. 国贸店: 65050809; 恒基中心店: 65187603; 嘉里中心店: 85299458;亚运

  店: 64951201; 盈科中心店: 65393502.
  14. 渝信系列: 常去建国门外和春秀路这两家,另外宽街紫龙宾馆那家分店也不错.
典型的川菜, 且菜便宜的和贵的都有, 怎样都能吃饱, 非常喜欢凉菜的油焖腐竹,口水
  鸡, 夫妻肺片, 热菜的方竹笋排骨, 芋头烧鸭, 豆花, 干煸四季豆,小吃的酸辣粉,
担担面, 锅贴, 米糕和渝信糕都非常好吃. 春秀路(工体店)电话:64158168; 京泰店(建
国门外赛特旁边)电话: 65156588; 紫龙店电话: 64056398;其他的分店俺没去过, 但可
以告知大家电话, 市长之家店: 64976277; 品味庄(和平里店): 64269368;千翔阁店:
64939976; 长安戏院店: 65171012.
  15. 渝乡人家: 据说和平里那家格外便宜, 但没注意验证过.常去京信附近那家,紧
挨着禅酷. 非常喜欢渝乡人家的四川家常菜, 但订单间从来不肯坐在校场口那个房间
(北京人听着总觉得很别扭). 三元桥那家单间要收茶水费每人10元 (上次去还是这样,
现在不知道怎样了, 大家可以打个电话问一下子). 三元东桥那家的订餐电话:
84510380.
  16. 金山城: 所有店里只喜欢中服大厦和方庄的, 且方庄店不用等位.喜欢葱油青
笋, 豆干, 辣仔鸡, 沾水牛肉, 番茄牛肉锅, 各种川式海鲜. 钟水饺,锅贴和麻团好吃,

  贵.
  17. 川办: 量绝对大, 而且很便宜, 但总觉得菜的质量还是渝乡人家的更香一点.
口水鸡, 毛血旺, 粉蒸排骨都不错, 担担面是吃过北京最好的. 最酷的是你要吃米饭,
得自
  己拿碗到大保温桶那里自己舀. 地点不太好找, 沿着二环从朝阳门向建国门方向开
, 走辅路进华润南侧的胡同后, 见第一个胡同向左转, 再第一个胡同向右转就到了. 或
者从长安大戏院东面的胡同一直向里, 过了新荔枝湾的广告牌,第一个象模象样的胡同
向右转, 进四川省人民驻京办事处大门即到.在众多办事处类餐厅中还算是不错的.
  18. TANDOOR: 即坦道印度餐厅, 从厨师到大堂经理到服务员均为印度人,只讲英文
和很少量的中文, 中文水平仅限于“好吃“, “好吃吗“等. 装修巨酷, 建议一定要试
CHAT, 好象是土豆做的, 味道很好很特别, 属于齿留香那种. 咖哩和蒜茸饼也不错, 各
种饭很辣. 印度酸奶, 也叫做LASSI的很好喝. 常常见到印度人在那里吃饭, 中午套餐
为每人68元送饮料, 地点在东三环长虹桥下, 兆龙饭店的一层.
  19. CHINGARI: 相对于TANDOOR来说, 这里就便宜多了, 但LASSI没有TANDOOR的
  好喝, 做得象三元酸牛奶. 也是卖各种咖哩, 印度人常吃的豌豆泥做得非常棒.餐
厅人少, 中午套餐28元/人, 地点在东直门PIZZA店的4层, 为食家楼下.电话:84483690.
  20. 海棠花和月香: 最近常看见海棠花关门, 不知道是否再也不营业了.月香却还
是一如既往地每天开着. 两家餐厅均为朝鲜人所开, 均由一水儿漂亮的朝鲜MM服务且菜
的味道也都很好, 特别是朝鲜冷面. 另外, 烤牛肉和辣白菜也很好吃.建议在月香还可
尝试海鲜火锅和新鲜蔬菜. 有时人多, 建议早去. 地点:海棠花在东大桥的蓝岛大厦向
南不远, 路西即是. 月香在朝鲜使馆东门附近, 建议从神路街, 即BANANA所在的路口向
南不远即是. 月香的电话: 65947678.
  21. 隐泉日本料理: 按说答应好了不再详细写日本料理的,但实在太喜欢这家店了,
从装修到菜品都很有特色, 都很雅致, 所以忍不住放上来.有北京不多见的纸火锅,建议
一定试南瓜蒸蛋和各种寿司, 其实这家店里最讲究的是炸物, 而且难得的是师傅调的鱼
汤非常棒, 有种芋头炸虾是不可不试的. 非常安静非常优美的餐厅, 连同吸烟区都非常
有特点. 地点在光华桥的路口向东, 过科伦大厦,在路南的光华大厦的一层, 英文名字
叫做: HARSUNE, 建议一试. 店不大, 价格不便宜,一般用不着订位.
  22. 乐游饭店的青叶日本料理: 是家很老的日本料理店, MM服务态度好,不用订位.
有海胆卖, 想必生鱼一定很新鲜. 地点在南三环, 过了劲松桥, 没到潘家园的路边.
  23. 千代香: 另一家俺不可不说的日本料理, 在昆仑饭店的正北面,非常典型的日
式小酒馆, 但里面做的辣白菜猪肉火锅量巨大且巨好吃, 建议一试.记得一定不要在门

  停车, 会被拖走的.
  24. 北京饭店的五人百姓: 吃寿司的地方.
  25. JAZZ-YA: 也是俺的最爱, 但有人很烦感它的破烂.有全北京最全的日文漫画书
. 各种日式拉面很好, 牛扒, 意大利面和金枪鱼面包很好, 有北京最好吃的CHEESE
  CAKE(记得要吃方块那种的), 建议点芋头泥拌金枪鱼, 炒银杏, 丘比烤土豆,泡菜
等.最喜欢这里的柠檬汽水, 也是北京最好的. 水果酸奶也不错.地点在三里屯酒吧街,
从工行对面的小胡同进去就到, 也叫做牛屋.
  26. 明阁: 比较贵但很讲究的日本料理店, 在东三环白家庄,在松子和三四郎的中
间. 菜品一流, 就是太慢, 食客多为日本人. 个人感觉比三四郎和松子好吃.
  27. 松子: 蛋羹, 烤鳗鱼不错, 中午是自助, 每人68元但生鱼限量, 酒水在内. 但
还是不喜欢将日本料理吃得如此不从容. 麦子店那里的菊也每人68元,但生鱼不限量.
  28. 日本桥: 生意总是很好, 除了周末. 在国贸那里,好象嘉里那家店终于开了.
  29. 三桥: 喜欢的原因是三桥小小的, 感觉很温馨.地点在赛特西门的正对面, 华
侨村那里.
  30. 三四郎: 优点是不用等位, 因为周围的日本料理店太多了, 环境因靠近团结湖
公园而不错, 在白家庄. 服务较差, 但比明阁便宜很多, 菜没有明阁的好.
  31. 浅草: 从北京站口搬到了雅宝路, 不错.
  32. 御苑: 京伦饭店的一层, 老茶推荐的铁板烧店. 这里有神户牛肉卖.
  33. 联益: 刚明白它的中文名字, 以前只叫它KEBAB KAFE,在三里屯工行的左近,西
餐不错, 其实试试每天的SET MENU就好, 很喜欢这里的意大利面.价格还算公道但不
  便宜.
  34. 泰辣椒: 很不错的泰国菜, 去过这里你会觉得粉酷与其不可同日而语,比紫天
椒便宜好吃.因为呼家楼那里拆迁, 才搬家到雅宝路的.位于亚太大厦对面那个大厦的一
层, 很抱歉俺忘记了大厦的名字, 但很好找的.
  35. 为人民服务: 在三里屯, 快走到酒吧街的尽头时,右手胡同内一粉墙房屋即是.
没有标记. 也是泰国菜, 味道也不错. 老外多. 冬阴功很好.其实原来奥体中心那家泰
国菜
  最好, 很多泰国人去, 但最近三五个月没去过, 所以不敢妄加评论.地点就在英
  东游泳馆附近.
  36. 粉酷: 其实个人更喜欢为人民服务, 但小波喜欢粉酷.粉酷的著名在于其很颓
废的装修, 有种很令人恍惚的感觉. 喜欢这里的饮料,个人认为国防绿比粉酷粉好喝多
了.
  上厕所一定要注意, 因为门上没有字, 粉的是女生用的, 绿的是男生去的, 不要进
错了门.
  37. 亚洲之星新马印餐厅: 很老的餐厅了, 味道一直还不错.吃过最好的抛饼是这
里的, 另外各种咖哩, 泰式明炉鱼, 马拉盏豆角好吃, 拉茶和印度炒饭很地道.价格蛮
贵的. 地点在白家庄的三环路边上, 里面有很大的停车场.
  38. 老巴刹: 南洋菜, 俺很喜欢那里的咖哩. 地点在幸福三村路口, BOTAO服装店
的对面.
  39. 庆云楼: 越南菜, 曾很等了一阵子它开业, 但发现味道比越南差很远. 建议试
一下牛肉汤河粉和鲶鱼煲吃. 地点在后海, 需要提前很久订餐, 电话: 64019581.
  40. 大宅门: 有人不喜欢, 因为太吵了. 装修比较有特色, 但菜品一般,又一个仿
古餐厅. 在亚运村附近, 大棒骨, 炸臭豆腐和各种面不错. 电话: 68715710.
  41. 鼎鼎香: 老北京涮羊肉, 生意巨好, 夏天都等位. 里面巨吵无比, 建议点普通
的羊肉A, B即可, 但调料一定要点特制的, 应当是6元左右一碗.烧饼很好吃但很小, 建

  早些要, 因为是现烤出来的. 原来有种很好吃的烤腐竹, 现在不卖了, 但仍有黑豆
腐卖(不喜欢吃). 一定要订位且过了点还不保留, 电话: 东直门店:64172546; 甘家口
店: 88371327.
  42. 红荷轩: 俺最喜欢的肥牛火锅店, 满墙都挂着黄永玉的原作.肥牛调料即海鲜
汁非常棒, 做很好的馅饼和家常饼吃, 凉菜可以点干拌牛肚和麻油鸡. 地点在贵宾楼饭

  后身的胡同里. 从贵宾楼饭店的西面, 也就是华龙街向北, 第一个小红绿灯向右一
转. 不用订位.
  43. 不老翁: 店分两半, 一半是烤肉, 另一半是涮肉.烤肉可以跟左安门一带著名
的晓英烧烤很有一拼. 做很好的涮羊肉和烤羊肉串,位于五间楼公共汽车站附近, 是家

  真的餐厅, 据说羊肉可以生着吃, 可见选料的优秀.
  44. 宏源南门涮肉城: 老北京涮羊肉, 人巨多且味道很好, 开挺多年头了,在天坛
南门的门口. 锅大, 料足, 菜量也大而且巨便宜. 需要早去,否则要等位.订餐电话:
67058023. 45. 小肥羊: 传说不用蘸调料吃涮肉的地方, 只见汤里无数的红枣,大蒜和
各种不知名的东西,据说很补且汤底非常便宜. 常去菜市口那家, 电话: 63166668. 其
实好吃的涮羊肉店太多了, 太著名的就不写了, 比如什么东来顺N家店, 能仁居,八先生
什么的. 那天看到青年湖公园向西的小马路把口有家阳坊涮肉, 不知道怎样.
  46. 小山城麻辣烫: 原来喜欢小洞天, 后来就改吃这里了.味道不错但还是没有四
川的辣, 比金山城火锅便宜而且量大, 成天要等位.地点在东直门簋街靠近北新桥
  路口的路北面, 订餐电话: 84020856. 对面的嘉陵楼是总店, 电话:64076570. 环
境比较差, 很象四川.
  47. 杷子火锅: 北京的第一家店在红桥附近,从红桥旁边那个胡同进去不远就是,现
在新源里又开了一家, 味道觉得比皇城老妈好而且便宜许多.
  48. 金珠火锅城: 在京信旁边的机场辅路上, 去晚了也要等位, 四川火锅, 好吃.
  49. 格格府: 味道不错, 很有特色的节目,但MM服务态度却很差(或者说很牛)的餐
厅. 只提供套餐, 先喝汤, 吃凉菜, 再涮菜和肉. 最便宜的汤每锅88元,最贵的要1600
元左右. 经验是只要不超过6个人, 点2-3人份即可, 因为汤可以随便免费加, 而加菜也
不很贵. ?不墩饫锏哪⒐教?. 地点在宽街中医医院向南,从路西的大取灯胡同进去不远
就到. 常要等位且订位只给保留到6:30分, 为此常不乐意. 餐厅学名叫砚肄善斋, 电话
: 64078006.
  50. 煲煲好: 又是一个喝汤的地方. 沿着二环路, 从朝阳门向东四十条桥的方向,
路边会有个牌子指导你走进楼群深处.
  51. 四合轩: 最喜欢的吃小吃的地方, 不是那个故宫附近的西餐厅. 这个四合轩在
京伦饭店的4层, 主营各地的风味小吃. 喜欢这里的豆腐丸子, 酿皮, 肉夹馍, 春饼,

  削面. MM很漂亮且服务很好, 价格不便宜.
  52. 仿膳: 在北海里面, 只供应套餐, 每人标准从200元起, 建议只点200元的B套
餐就好, 所有的好东西就都有了. 一定要吃的是肉末烧饼, 果真是名不虚传, 特别适合
  带老外和外地来的朋友们去.
  53. 咸亨酒店: 比较喜欢天坛附近的这家, 而且传说跟大屯那家也不是一回事儿.
推荐这里的糯米藕, 素鸡, 糟毛豆, 雪菜蒸雪鱼, 各式江南家乡小炒,排骨等等, 有个
锅仔的豆皮腊肉什么汤非常好吃. 酒还是大屯的最好了.
  54. 孔乙己: 觉得后海的那家环境比东四的那家要好, 名声高过咸亨, 但酒菜还是
咸亨好些.
  55. 西安食堂: 北京最著名吃泡馍的地方, 据说毛主席来这里吃过.羊肉串不错.
国营的, 态度比较差. 地点在新街口路口.
  56. 同盛祥: 喜欢最著名的泡馍店的分号, 除了泡馍, 菜也不错(据传说是北京饭
店的附属). 蹄筋海参, 蒜片草菇, 酸黄瓜, 扒肉条和灌汤包都不错. 在北京饭店的后

  那条胡同里.
  57. 紫光园: 北京最著名吃炒疙瘩的地方, 炒菜很便宜. 在东大桥和团结湖公园的
东门有店. 糖溜卷果, 红烧牛尾, 它似蜜好吃. 炒疙瘩建议吃牛肉或素炒的.
  58. 客家菜: 有N家店, 最早的是三里屯楼群里最不好找的那家,东三环长虹桥那里
有家分店叫客家园, 什刹海开了家分店人巨多. 最大的特点是上菜巨快, 建议吃例汤,
纸包鲈鱼, 荷叶牛肉, 榄菜蒸菜心, 三杯鸭, 三黄鸡, 南乳藕片. 什刹海分店电话:
64042259.
  59. 花家怡园: 簋街上著名的烧烤店, 说不清什么风味. 常喝这里自酿的酸梅汤,
可以点烤鱿鱼, 烤羊肉串, 烤馒头, 以及卷饼系列, 罐焖牛肉, 大蒜烧鲶鱼等, 面条也
不错. 北新桥路口向东一点, 路北面就是.
  60. 威虎山: 在白家庄星期五餐厅附近, 很贵很好吃的东北菜.


 麦乐迪量贩式KTV:
  月坛店 月坛公园东门对面 68085888
  中关村店 海淀区中关村南大街24号民族大学对面 62189088
  朝外店 朝阳区朝阳门外大街乙77号蓝岛大厦西北方向 65510808
  
  钱柜KTV :
  朝阳门外店 朝阳区朝阳门外大街22号泛利大厦一层 88576566
  首体店 西城区西直门外大街腾达大厦裙楼 88576588
  
  乐圣:
  关村南大街店 海淀区中关村南大街32号 67086666
  崇文店 崇文区崇文门外大街9号新世界正仁大厦新世界百货商场南侧 67086666
  
  其他精品店:
  
  金柜娱乐城 西城区北展宾馆8层 0
  北方鑫柜量贩式KTV 海淀区二里庄南口宝灵城饭店北方鑫柜 62345578
  东方金柜量贩式 东城区东直门外新中街甲3号 64165600
  开心一百量贩式KTV 朝阳区工体西路6号工人体育场西门南侧 65538888
  新世纪钱柜 崇文区崇文门外大街9号新世界正仁大厦一层 67088899
  喜乐迪量贩式KTV 东城区王府井大街241号穆斯林大厦 65131111
  歌来美量贩式KTV 朝阳区麦子店街39号东三环燕莎商厦东南200米 65858886
  唐人街量贩式KTV 朝阳区建国门外大街永安里甲3号 65683838
  音乐之声量贩式KTV 朝阳区白家庄东里一号锦湖园公寓三层 65901234
  美乐迪量贩式KTV 西城区百万庄大街41号华德商都三层 68335888