100(继续) | 请求者应当继续提出请求。服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。 |
101(切换协议) | 请求者已要求服务器切换协议,服务器已确认并准备切换。 |
2xx
(成功)200(成功) | 服务器已成功处理了请求。通常,这表示服务器提供了请求的网页。如果是对您的 robots.txt 文件显示此状态码,则表示 Googlebot 已成功检索到该文件。 |
201(已创建) | 请求成功并且服务器创建了新的资源。 |
202(已接受) | 服务器已接受请求,但尚未处理。 |
203(非授权信息) | 服务器已成功处理了请求,但返回的信息可能来自另一来源。 |
204(无内容) | 服务器成功处理了请求,但没有返回任何内容。 |
205(重置内容) | 服务器成功处理了请求,但没有返回任何内容。与 204 响应不同,此响应要求请求者重置文档视图(例如,清除表单内容以输入新内容)。 |
206(部分内容) | 服务器成功处理了部分 GET 请求。 |
3xx
(重定向)300(多种选择) | 针对请求,服务器可执行多种操作。服务器可根据请求者 (user agent) 选择一项操作,或提供操作列表供请求者选择。 |
301(永久移动) | 请求的网页已永久移动到新位置。服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。您应使用此代码告诉 Googlebot 某个网页或网站已永久移动到新位置。 |
302(临时移动) | 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来响应以后的请求。此代码与响应 GET 和 HEAD 请求的 301 代码类似,会自动将请求者转到不同的位置,但您不应使用此代码来告诉 Googlebot 某个网页或网站已经移动,因为 Googlebot 会继续抓取原有位置并编制索引。 |
303(查看其他位置) | 请求者应当对不同的位置使用单独的 GET 请求来检索响应时,服务器返回此代码。对于除 HEAD 之外的所有请求,服务器会自动转到其他位置。 |
304(未修改) |
自从上次请求后,请求的网页未修改过。服务器返回此响应时,不会返回网页内容。
如果网页自请求者上次请求后再也没有更改过,您应将服务器配置为返回此响应(称为 If-Modified-Since HTTP 标头)。服务器可以告诉 Googlebot 自从上次抓取后网页没有变更,进而节省带宽和开销。
. |
305(使用代理) | 请求者只能使用代理访问请求的网页。如果服务器返回此响应,还表示请求者应使用代理。 |
307(临时重定向) | 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来响应以后的请求。此代码与响应 GET 和 HEAD 请求的 <a href=answer.py?answer=>301</a> 代码类似,会自动将请求者转到不同的位置,但您不应使用此代码来告诉 Googlebot 某个页面或网站已经移动,因为 Googlebot 会继续抓取原有位置并编制索引。 |
4xx(请求错误)
400(错误请求) | 服务器不理解请求的语法。 |
401(未授权) | 请求要求身份验证。对于登录后请求的网页,服务器可能返回此响应。 |
403(禁止) | 服务器拒绝请求。如果您在 Googlebot 尝试抓取您网站上的有效网页时看到此状态码(您可以在 Google 网站管理员工具诊断下的网络抓取页面上看到此信息),可能是您的服务器或主机拒绝了 Googlebot 访问。 |
404(未找到) |
服务器找不到请求的网页。例如,对于服务器上不存在的网页经常会返回此代码。
如果您的网站上没有 robots.txt 文件,而您在 Google 网站管理员工具"诊断"标签的 robots.txt 页上看到此状态码,则这是正确的状态码。但是,如果您有 robots.txt 文件而又看到此状态码,则说明您的 robots.txt 文件可能命名错误或位于错误的位置(该文件应当位于顶级域,名为 robots.txt)。
如果对于 Googlebot 抓取的网址看到此状态码(在"诊断"标签的 HTTP 错误页面上),则表示 Googlebot 跟随的可能是另一个页面的无效链接(是旧链接或输入有误的链接)。
|
405(方法禁用) | 禁用请求中指定的方法。 |
406(不接受) | 无法使用请求的内容特性响应请求的网页。 |
407(需要代理授权) | 此状态码与 <a href=answer.py?answer=35128>401(未授权)</a>类似,但指定请求者应当授权使用代理。如果服务器返回此响应,还表示请求者应当使用代理。 |
408(请求超时) | 服务器等候请求时发生超时。 |
409(冲突) | 服务器在完成请求时发生冲突。服务器必须在响应中包含有关冲突的信息。服务器在响应与前一个请求相冲突的 PUT 请求时可能会返回此代码,以及两个请求的差异列表。 |
410(已删除) | 如果请求的资源已永久删除,服务器就会返回此响应。该代码与 404(未找到)代码类似,但在资源以前存在而现在不存在的情况下,有时会用来替代 404 代码。如果资源已永久移动,您应使用 301 指定资源的新位置。 |
411(需要有效长度) | 服务器不接受不含有效内容长度标头字段的请求。 |
412(未满足前提条件) | 服务器未满足请求者在请求中设置的其中一个前提条件。 |
413(请求实体过大) | 服务器无法处理请求,因为请求实体过大,超出服务器的处理能力。 |
414(请求的 URI 过长) | 请求的 URI(通常为网址)过长,服务器无法处理。 |
415(不支持的媒体类型) | 请求的格式不受请求页面的支持。 |
416(请求范围不符合要求) | 如果页面无法提供请求的范围,则服务器会返回此状态码。 |
417(未满足期望值) | 服务器未满足"期望"请求标头字段的要求。 |
5xx
(服务器错误)500(服务器内部错误) | 服务器遇到错误,无法完成请求。 |
501(尚未实施) | 服务器不具备完成请求的功能。例如,服务器无法识别请求方法时可能会返回此代码。 |
502(错误网关) | 服务器作为网关或代理,从上游服务器收到无效响应。 |
503(服务不可用) | 服务器目前无法使用(由于超载或停机维护)。通常,这只是暂时状态。 |
504(网关超时) | 服务器作为网关或代理,但是没有及时从上游服务器收到请求。 |
505(HTTP 版本不受支持) | 服务器不支持请求中所用的 HTTP 协议版本。 |
我们提倡尽可能使用CSS,而且我们常常能做到这一点。现代浏览器有很好的CSS支持-这无疑足够好让你使用CSS来控制布局和版面设计。但是有时候,某些网页元素在不同的浏览器会出现不同。在本文中,我们会揭开你在开发web应用是可能会遇到的12个最常见的CSS问题的javascript解决方案。
$(“#col1, #col2″).equalizeCols();
$(“#col1, #col2″).equalizeCols(“p,p”);
1 |
|
2. IE6 PNG透明支持
function changeClass(oldClass, newClass) {
var elements = document.getElementsByTagName(“*”);
for( i = 0; i < elements.length; i++ ) {
if( elements[i].className == oldClass ) elements[i].className = newClass;
}
}
$(document).ready(function(){
$(‘html’).addClass($.browser);
});
jQuery(function($) {
var myDiv = $(‘#myDiv’);// set margin-top to 100px and margin-bottom to 10em
myDiv.margin({top: 100, bottom: ‘10em’});// displays the size of the top border in pixels
alert(myDiv.border().top);// displays true if the element is visible, false otherwise
alert(myDiv.isVisible());// set padding-right to 10px and margin-left to 15px using chaining
myDiv.padding({right: 10}).margin({left: 15});
});
$(“element”).center(); //vertical and horizontal
$(“element”).center({
horizontal: false // only vertical
});
搜索排名的核心技术源自已有50年历史的学术课题 Information Retrieval (IR),IR 技术使用统计学原理对文字的使用频率等属性进行研究并对结果进行排名。建立在 IR 理论上的 Google 搜索同时借助链接,网页结构等等技术形成独特的搜索技术。
理解网页多年来在网络爬虫与索引系统上投入巨资,因此,Google 拥有非常庞大并且是最新的网页索引,除此之外,Google 还使用一些最新技术提高索引质量,比如,他们开发了一种技术,可以在字面意思之外理解一个网页所表达的重要概念,人们使用意大利语言搜索 “galleria sprovieri londra”,会找到伦敦的 Sprovieri Gallery,尽管 Sprovieri Gallery 主页上既没有 London,也没有 Londra 字样。其它技术包括,区分一个网页中的重要或非重要文字,以及网页内容的新鲜度。
理解语义可以通过用户提供的几个搜索关键词,理解用户的真实意图。他们在拼写纠正,词义,以及概念分析方面处于非常领先的位置。很多人都或多或少体验过 Google 的拼写纠正功能,比如搜索 “kofee annan”,Google 会问你搜索的是否 “kofi annan”,然而,当有人搜索 “kofee beans”,Google 会纠正成 “coffee beans”。(Google 事实上已经在尝试语义技术 - 译者)词义是 Google 尝试理解查询语义的基础,也是 Google 遇到的最大难题。一些在人看来显而易见的东西,机器却很难自动处理。用户并不想对使用什么词汇进行查询而费神,人们甚至压根不知道该使用什么进行查询。在这种时候,Google 的词义系统便可以发挥作用,词义系统可以对查询语句进行非常复杂的修正,比如,查询 “Dr Zhivago” 的时候,Google 知道 Dr 代表 Doctor ,而查询 “Rodeo Dr” 的时候,Dr 代表 Drive。用户搜索 “back bumper repair” 的时候,结果是 rear bumper repair,而搜索 “Ramstein ab”,Google 能够将 ab 理解成 Air Base,”b&b ab” 会理解为 Alberta 的 Bed and Breakfasts 。Google 将这种词义理解系统发展到上百种不同语言。
在搜索排名中使用的另一项技术是概念识别,该技术可以对查询的内容进行概念识别,比如,我们查询 “new york times square church”,Google 知道我们实际上查询的是纽约时代广场上的那座著名教堂,而不是纽约时报中的某篇文章。概念识别技术并不止这些,Google 还对其进行加强以正确地识别语义,比如,搜索 “PC and its impact on people”,事实上是搜索计算机对社会的影响。Google 的搜索分析算法中这类技术比比皆是,而且面向几乎所有语言。
理解用户尝试理解用户的目的是为用户返回他们真正需要的结果,而不是他们在搜索语句中所说的东西。该技术基于一个世界级的本地化系统,外加先进的个性化技术,以及各种用户意图识别技术。
对本地结果的重视体现在他们的本地化工作中。同样一个查询语句在不同国家会返回不同结果,比如,查询 “bank”,在美国返回的是银行,而英国则可能是 Bank Fashion 的服装连锁店,或者英国的银行,而在其它英语国家,如澳大利亚,加拿大,新西兰,南非,返回的则应仍旧是当地的银行。如果你在一些非英语国家查询这个词,象埃及,以色列,日本,俄罗斯,沙特,瑞士,返回的结果将更有趣。就象 Football 在美国和英国表示不同的运动项目一样,同一个词在不同国家查询的结果可能截然不同。
个性化查询是 Google 另一项先进搜索技术,一个已经登录的用户,如果开通了 Web History 服务,随着他查询时间的增长,Google 会根据他的查询历史,自动调整返回的结果,比如,一个经常查询 Football 相关话题的人,会逐渐从 Google 得到更多足球相关的结果。如果你青睐某个购物站返回的结果,在以后的查询中,会从那个购物站得到更多结果。
在返回用户真正想要的结果方面的另一个例子是,假如你搜索 “chevrolet magnum”,我们知道 Magnum 不是 Chevrolet 产的,是 Dodge 产的,Google 会自动返回 dodge magnum 的结果。还有一个例子,有人搜索 “bangalore”,不仅返回 Bangalore 这个城市的主页,而且返回 Bangalore 的地图,以及一些与 Bangalore 市景,交通相关的视频,这些视频会让你有身临其境的感觉。
为了进一步处理异常,我们需要使用try-catch语句—包括Try语句和至少一个的catch语句。任何调用 可能抛出异常的方法的代码都应该使用try语句。Catch语句用来处理可能抛出的异常。以下显示了我们处理getCommandObject()抛出的异常的方法:
1 2 3 4 5 6 7 8 9 10 11 |
<?php // PHP 5 try { $mgr = new CommandManager(); $cmd = $mgr->getCommandObject('realcommand'); $cmd->execute(); } catch (Exception $e) { print $e->getMessage(); exit(); } ?> |
可以看到,通过结合使用throw关键字和try-catch语句,我们可以避免错误标记“污染”类方法返回的值。因为“异常”本身就是一种与其它任何对象不同的PHP内建的类型,不会产生混淆。
如果抛出了一个异常,try语句中的脚本将会停止执行,然后马上转向执行catch语句中的脚本。
如果异常抛出了却没有被捕捉到,就会产生一个fatal error。
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />
<title>An Introduction to CSS3; A Nettuts Tutorial</title>
<link href=”style.css” rel=”stylesheet” type=”text/css” />
</head>
<body>
<div id=”wrapper”>
<div id=”round”> </div>
<div id=”indie”> </div>
<div id=”opacity”> </div>
<div id=”shadow”> </div>
<div id=”resize”>
<img src=”image.jpg” alt=”resizable image” width=”200″ height=”200″>
</div>
</div>
</body>
</html>
body {
background-color: #fff;
}#wrapper {
width: 100%;
height: 100%;
}div {
width: 300px;
height: 300px;
margin: 10px;
float: left;
}
#round {
background-color: #000;
border: 1px solid #000;
}
#round {
background-color: #000;
border: 1px solid #000;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
}
#indie {
background-color: #000;
border: 1px solid #000;
-moz-border-radius-topright: 10px;
-moz-border-radius-bottomright: 10px;
-webkit-border-top-left-radius: 10px;
-webkit-border-bottom-left-radius: 10px;
}
#opacity {
background-color: #000;
opacity: 0.3;
}
5:阴影效果
-webkit-box-shadow: 3px 5px 10px #ccc;
#shadow {
background-color: #fff;
border: 1px solid #000;
-webkit-box-shadow: 3px 5px 10px #ccc;
}
#resize {
background-color: #fff;
border: 1px solid #000;
resize: both;
overflow: auto;
}
<link rel=”stylesheet” type=”text/css” media=”all” href=”path/to/960/reset.css” />
<link rel=”stylesheet” type=”text/css” media=”all” href=”path/to/960/960.css” />
<link rel=”stylesheet” type=”text/css” media=”all” href=”path/to/960/text.css” />
<link rel=”stylesheet” type=”text/css” media=”all” href=”path/to/style.css” />
<div class=”container_12″>
<div class=”grid_4″>sidebar</div>
<div class=”grid_8″>main content</div>
</div>
<div class=”container_12″>
<div class=”grid_2″>sidebar</div>
<div class=”grid_6″>main content</div>
<div class=”grid_2″>photo’s</div>
<div class=”grid_2″>advertisement</div>
</div>
<div class=”container_12″>
<div class=”grid_2 alpha”>sidebar</div>
<div class=”grid_6″>main content</div>
<div class=”grid_2″>photo’s</div>
<div class=”grid_2 omega”>advertisement</div>
</div>
<div class=”container_12″>
<div id=”sidebar” class=”grid_2 alpha”>sidebar</div>
<div id=”content” class=”grid_6″>main content</div>
<div id=”photos” class=”grid_2″>photo’s</div>
<div id=”advertisements” class=”grid_2 omega”>advertisement</div>
</div>