日历

« 2008-08-28  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

最新来客

统计信息

  • 访问量: 1191
  • 日志数: 5
  • 建立时间: 2007-08-04
  • 更新时间: 2007-09-17

RSS订阅

我的最新日志

  • [转]各类Http请求状态(status)及其含义

    2007-9-17

    AJAX中请求远端文件、或在检测远端文件是否掉链时,都需要了解到远端服务器反馈的状态以确定文件的存在与否。

    当然,在我们平常浏览网页时,也会发现一些文件不存在时显示为“404错误”,这就是常见的Http请求状态(status)

    文章来自:http://www.linuxmine.com/48146.htmlhttp://www.51windows.net/data/?url=/data/files/file_266.asp

    Web服务器响应浏览器或其他客户程序的请求时,其应答一般由以下几个部分组成:一个状态行,几个应答头,一个空行,内容文档。下面是一个最简单的应答:

    状态行包含HTTP版本、状态代码、 与状态代码对应的简短说明信息。在大多数情况下,除了Content-Type之外的所有应答头都是可选的。但Content-Type是必需的,它描述 的是后面文档的MIME类型。虽然大多数应答都包含一个文档,但也有一些不包含,例如对HEAD请求的应答永远不会附带文档。有许多状态代码实际上用来标 识一次失败的请求,这些应答也不包含文档(或只包含一个简短的错误信息说明)。

    当用户试图通过 HTTP 访问一台正在运行 Internet 信息服务 (IIS) 的服务器上的内容时,IIS 返回一个表示该请求的状态的数字代码。状态代码可以指明具体请求是否已成功,还可以揭示请求失败的确切原因。

    1xx - 信息提示

    这些状态代码表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个 1xx 响应。
    · 100 - Continue 初始的请求已经接受,客户应当继续发送请求的其余部分。(HTTP 1.1新)
    · 101 - Switching Protocols 服务器将遵从客户的请求转换到另外一种协议(HTTP 1.1新)

    2xx - 成功

    这类状态代码表明服务器成功地接受了客户端请求。
    · 200 - OK 一切正常,对GET和POST请求的应答文档跟在后面。
    · 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新)。

    3xx - 重定向

    客户端浏览器必须采取更多操作来实现请求。例如,浏览器可能不得不请求服务器上的不同的页面,或通过代理服务器重复该请求。
    · 300 - Multiple Choices 客户请求的文档可以在多个位置找到,这些位置已经在返回的文档内列出。如果服务器要提出优先选择,则应该在Location应答头指明。
    · 301 - Moved Permanently 客户请求的文档在其他地方,新的URL在Location头中给出,浏览器应该自动地访问新的URL。
    · 302 - Found 类似于301,但新的URL应该被视为临时性的替代,而不是永久性的。注意,在HTTP1.0中对应的状态信息是“Moved Temporatily”。出现该状态代码时,浏览器能够自动访问新的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请求的重定向。(HTTP 1.1新)

    4xx - 客户端错误

    发生错误,客户端似乎有问题。例如,客户端请求不存在的页面,客户端未提供有效的身份验证信息。

    · 400 - Bad Request 请求出现语法错误。

    · 401 - Unauthorized 访问被拒绝,客户试图未经授权访问受密码保护的页面。应答中会包含一个WWW-Authenticate头,浏览器据此显示用户名字/密码对话框,然后在 填写合适的Authorization头后再次发出请求。IIS 定义了许多不同的 401 错误,它们指明更为具体的错误原因。这些具体的错误代码在浏览器中显示,但不在 IIS 日志中显示:
     · 401.1 - 登录失败。
     · 401.2 - 服务器配置导致登录失败。
     · 401.3 - 由于 ACL 对资源的限制而未获得授权。
     · 401.4 - 筛选器授权失败。
     · 401.5 - ISAPI/CGI 应用程序授权失败。
     · 401.7 – 访问被 Web 服务器上的 URL 授权策略拒绝。这个错误代码为 IIS 6.0 所专用。

    · 403 - Forbidden 资源不可用。服务器理解客户的请求,但拒绝处理它。通常由于服务器上文件或目录的权限设置导致。禁止访问:IIS 定义了许多不同的 403 错误,它们指明更为具体的错误原因:
     · 403.1 - 执行访问被禁止。
     · 403.2 - 读访问被禁止。
     · 403.3 - 写访问被禁止。
     · 403.4 - 要求 SSL。
     · 403.5 - 要求 SSL 128。
     · 403.6 - IP 地址被拒绝。
     · 403.7 - 要求客户端证书。
     · 403.8 - 站点访问被拒绝。
     · 403.9 - 用户数过多。
     · 403.10 - 配置无效。
     · 403.11 - 密码更改。
     · 403.12 - 拒绝访问映射表。
     · 403.13 - 客户端证书被吊销。
     · 403.14 - 拒绝目录列表。
     · 403.15 - 超出客户端访问许可。
     · 403.16 - 客户端证书不受信任或无效。
     · 403.17 - 客户端证书已过期或尚未生效。
     · 403.18 - 在当前的应用程序池中不能执行所请求的 URL。这个错误代码为 IIS 6.0 所专用。
     · 403.19 - 不能为这个应用程序池中的客户端执行 CGI。这个错误代码为 IIS 6.0 所专用。
     · 403.20 - Passport 登录失败。这个错误代码为 IIS 6.0 所专用。

    · 404 - Not Found 无法找到指定位置的资源。这也是一个常用的应答。
     · 404.0 -(无) – 没有找到文件或目录。
     · 404.1 - 无法在所请求的端口上访问 Web 站点。
     · 404.2 - Web 服务扩展锁定策略阻止本请求。
     · 404.3 - MIME 映射策略阻止本请求。

    · 405 - Method Not Allowed 请求方法(GET、POST、HEAD、DELETE、PUT、TRACE等)对指定的资源不适用,用来访问本页面的 HTTP 谓词不被允许(方法不被允许)(HTTP 1.1新)
    · 406 - Not Acceptable 指定的资源已经找到,但它的MIME类型和客户在Accpet头中所指定的不兼容,客户端浏览器不接受所请求页面的 MIME 类型(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新)。
    · 415 – 不支持的媒体类型。
    · 416 – Requested Range Not Satisfiable 服务器不能满足客户在请求中指定的Range头。(HTTP 1.1新)
    · 417 – 执行失败。
    · 423 – 锁定的错误。

    5xx - 服务器错误

    服务器由于遇到错误而不能完成该请求。

    · 500 - Internal Server Error 服务器遇到了意料不到的情况,不能完成客户的请求。

     · 500.12 - 应用程序正忙于在 Web 服务器上重新启动。
     · 500.13 - Web 服务器太忙。
     · 500.15 - 不允许直接请求 Global.asa。
     · 500.16 – UNC 授权凭据不正确。这个错误代码为 IIS 6.0 所专用。
     · 500.18 – URL 授权存储不能打开。这个错误代码为 IIS 6.0 所专用。
     · 500.100 - 内部 ASP 错误。

    · 501 - Not Implemented 服务器不支持实现请求所需要的功能,页眉值指定了未实现的配置。例如,客户发出了一个服务器不支持的PUT请求。

    · 502 - Bad Gateway 服务器作为网关或者代理时,为了完成请求访问下一个服务器,但该服务器返回了非法的应答。 亦说Web 服务器用作网关或代理服务器时收到了无效响应。

     · 502.1 - CGI 应用程序超时。
     · 502.2 - CGI 应用程序出错。

    · 503 - Service Unavailable 服务不可用,服务器由于维护或者负载过重未能应答。例如,Servlet可能在数据库连接池已满的情况下返回503。服务器返回503时可以提供一个 Retry-After头。这个错误代码为 IIS 6.0 所专用。

    · 504 - Gateway Timeout 网关超时,由作为代理或网关的服务器使用,表示不能及时地从远程服务器获得应答。(HTTP 1.1新) 。

    · 505 - HTTP Version Not Supported 服务器不支持请求中所指明的HTTP版本。(HTTP 1.1新)。

    ===================================

    以下是CSDN的JnKc写的“利用XMLHTTP检测网址及探测服务器类型”

     

    <html> 
     <head> 
     <title>利用XMLHTTP检测网址及探测服务器类型</title> 
     <META http-equiv=Content-Type content="text/html; charset=gb2312"> 
     <meta name="Generator" content="EditPlus"> 
     <meta name="Author" content="JnKc">
     <meta name="Keywords" content="">
     </head> 
     <body> 
     <input type="text" id="jnkcInput" value="http://www.cnbruce.com" size="50"><button id="chk">检测</button> 
     <div id="jnkc_show"></div> 
     <scrīpt LANGUAGE="VBscrīpt"> 
     Dim i,jnkcUrl,jnkcHTML,jnkcStatus,jnkcServer 
     Function chk_onClick() 
     jnkcUrl = jnkcInput.value 
     Call GetDetail 
     i = i+1 
     jnkc_show.innerHTML = "<hr><pre><font color=red>" & i & "、" & jnkcUrl & "</font><br>" & jnkcStatus & "</pre>" & jnkc_show.innerHTML 
     End Function 
     Dim jnkcXMLHTTP 
     Sub GetDetail 
        Set jnkcXMLHTTP = CreateObject("Msxml2.XMLHTTP") 
          jnkcXMLHTTP.OnReadyStateChange = GetRef("GetStatus") 
          jnkcXMLHTTP.Open "GET", jnkcUrl, False 
          On Error Resume Next 
          jnkcXMLHTTP.Send 
        Set jnkcXMLHTTP = Nothing 
     End Sub 
     Sub GetStatus 
        If jnkcXMLHTTP.ReadyState <> 4 Then
          Exit Sub 
        End If 
        If jnkcXMLHTTP.Status = 404 Then
          jnkcStatus = "该网页不存在!" 
        ElseIf jnkcXMLHTTP.Status < 200 Then
          jnkcStatus = "客户端错误,信息:" & CStr(jnkcXMLHTTP.Status) & " " & jnkcXMLHTTP.StatusText 
        ElseIf jnkcXMLHTTP.Status < 300 Then 
          jnkcStatus = "成功,该网页能访问。" 
        ElseIf jnkcXMLHTTP.Status < 400 Then
          jnkcStatus = "重定向,信息:" & CStr(jnkcXMLHTTP.Status) & " " & jnkcXMLHTTP.StatusText 
        ElseIf jnkcXMLHTTP.Status < 500 Then
          jnkcStatus = "客户端错误,信息:" & CStr(jnkcXMLHTTP.Status) & " " & jnkcXMLHTTP.StatusText 
        ElseIf jnkcXMLHTTP.Status < 600 Then
          jnkcStatus = "服务器错误,信息:" & CStr(jnkcXMLHTTP.Status) & " " & jnkcXMLHTTP.StatusText 
        Else 
          jnkcStatus = "域名不可用或网络连接错误,信息:" & CStr(jnkcXMLHTTP.Status) & " " & jnkcXMLHTTP.StatusText 
        End If 
        If jnkcXMLHTTP.Status < 600 Then Call GetServer 
     End Sub
     
     Sub GetServer
        jnkcServer = jnkcXMLHTTP.GetResponseHeader("Server") 
        If jnkcServer <> "" Then 
          jnkcStatus = jnkcStatus & "<br>HTTP服务器:" & jnkcServer 
        End If 
        jnkcStatus = "<b>" & jnkcStatus & "</b><br>所有反馈信息:<br>"& jnkcXMLHTTP.GetAllResponseHeaders 
     End Sub 
     </scrīpt> 
     </body> 
     </html> 

  • (转)Meta标签详解

    2007-9-17

    来源:http://www.phpchina.com/13542/viewspace_3850.html

    您的个人网站即使做得再精彩,在“浩瀚如海”的网络空间中,也如一叶扁舟不易为人发现,如何推广

    个人网站,人们首先想到的方法无外乎以下几种:

    ●在搜索引擎中登录自己的个人网站

    ●在知名网站加入你个人网站的链接

    ●在论坛中发帖子宣传你的个人网站

    很多人却忽视了HTML标签META的强大功效,一个好的META标签设计可以大大提高你的个人网站被搜索到的可能性,有兴趣吗,谁我来重新认识一下META标签吧!

    META标签是HTML语言HEAD区的一个辅助性标签,它位于HTML文档头部的< HEAD>标记和<TITLE>标记之间,它提供用户不可见的信息。meta标签通常用来为搜索引擎robots定义页面主题,或者是 定义用户浏览器上的cookie;它可以用于鉴别作者,设定页面格式,标注内容提要和关键字;还可以设置页面使其可以根据你定义的时间间隔刷新自己,以及 设置RASC内容等级,等等。

    详细介绍

    下面介绍一些有关 标记的例子及解释。

    META标签分两大部分:HTTP标题信息(HTTP-EQUIV)和页面描述信息(NAME)。

    ★HTTP-EQUIV

    HTTP-EQUIV类似于HTTP的头部协议,它回应给浏览器一些有用的信息,以帮助正确和精确地显示网页内容。常用的HTTP-EQUIV类型有:

    1、Content-Type和Content-Language (显示字符集的设定)

    说明:设定页面使用的字符集,用以说明主页制作所使用的文字已经语言,浏览器会根据此来调用相应的字符集显示page内容。

    用法:<Meta http-equiv="Content-Type" Content="text/html; Charset=gb2312">

    <Meta http-equiv="Content-Language" Content="zh-CN">

    注意:该META标签定义了HTML页面所使用的字符集为GB2132,就是国标汉字码。如 果将其中的“charset=GB2312”替换成“BIG5”,则该页面所用的字符集就是繁体中文Big5码。当你浏览一些国外的站点时,IE浏览器会 提示你要正确显示该页面需要下载xx语支持。这个功能就是通过读取HTML页面META标签的Content-Type属性而得知需要使用哪种字符集显示 该页面的。如果系统里没有装相应的字符集,则IE就提示下载。其他的语言也对应不同的charset,比如日文的字符集是“iso-2022-jp ”,韩文的是“ks_c_5601”。

    Content-Type的Content还可以是:text/xml等文档类型;

    Charset选项:ISO-8859-1(英文)、BIG5、UTF-8、SHIFT- Jis、Euc、Koi8-2、us-ascii, x-mac-roman, iso-8859-2, x-mac-ce, iso-2022-jp, x-sjis, x-euc-jp,euc-kr, iso-2022-kr, gb2312, gb_2312-80, x-euc-tw, x-cns11643-1,x-cns11643-2等字符集;Content-Language的Content还可以是:EN、FR等语言代码

    2、Refresh (刷新)

    说明:让网页多长时间(秒)刷新自己,或在多长时间后让网页自动链接到其它网页。

    用法:<Meta http-equiv="Refresh" Content="30">

    <Meta http-equiv="Refresh" Content="5; Url=http://www.downme.com">

    注意:其中的5是指停留5秒钟后自动刷新到URL网址。

    3、Expires (期限)

    说明:指定网页在缓存中的过期时间,一旦网页过期,必须到服务器上重新调阅。

    用法:<Meta http-equiv="Expires" Content="0">

    <Meta http-equiv="Expires" Content="Wed, 26 Feb 1997 08:21:57 GMT">

    注意:必须使用GMT的时间格式,或直接设为0(数字表示多少时间后过期)。

    4、Pragma (cach模式)

    说明:禁止浏览器从本地机的缓存中调阅页面内容。

    用法:<Meta http-equiv="Pragma" Content="No-cach">

    注意:网页不保存在缓存中,每次访问都刷新页面。这样设定,访问者将无法脱机浏览。

    5、Set-Cookie (cookie设定)

    说明:浏览器访问某个页面时会将它存在缓存中,下次再次访问时就可从缓存中读取,以提高速 度。当你希望访问者每次都刷新你广告的图标,或每次都刷新你的计数器,就要禁用缓存了。通常HTML文件没有必要禁用缓存,对于ASP等页面,就可以使用 禁用缓存,因为每次看到的页面都是在服务器动态生成的,缓存就失去意义。如果网页过期,那么存盘的cookie将被删除。

    用法:<Meta http-equiv="Set-Cookie" Content="cookievalue=xxx; expires=Wednesday,

    21-Oct-98 16:14:21 GMT; path=/">

    注意:必须使用GMT的时间格式。

    6、Window-target (显示窗口的设定)

    说明:强制页面在当前窗口以独立页面显示。

    用法:<Meta http-equiv="Widow-target" Content="_top">

    注意:这个属性是用来防止别人在框架里调用你的页面。Content选项:_blank、_top、_self、_parent。

    7、Pics-label (网页RSAC等级评定)

    说明:在IE的Internet选项中有一项内容设置,可以防止浏览一些受限制的网站,而网站的限制级

    别就是通过该参数来设置的。

    用法:<META http-equiv="Pics-label" Contect=

    "(PICS-1.1'http://www.rsac.org/ratingsv01.html'

    I gen comment 'RSACi North America Sever' by 'inet@microsoft.com'

    for 'http://www.microsoft.com' on '1997.06.30T14:21-0500' r(n0 s0 v0 l0))">

    注意:不要将级别设置的太高。RSAC的评估系统提供了一种用来评价Web站点内容的标准。 用户可以设置Microsoft Internet Explorer(IE3.0以上)来排除包含有色情和暴力内容的站点。上面这个例子中的HTML取自Microsoft的主页。代码中的(n 0 s 0 v 0 l 0)表示该站点不包含不健康内容。级别的评定是由RSAC,即美国娱乐委员会的评级机构评定的,如果你想进一步了解RSAC评估系统的等级内容,或者你需 要评价自己的网站,可以访问RSAC的站点:http://www.rsac.org/。

    8、Page-Enter、Page-Exit (进入与退出)

    说明:这个是页面被载入和调出时的一些特效。

    用法:<Meta http-equiv="Page-Enter" Content="blendTrans(Duration=0.5)">

    <Meta http-equiv="Page-Exit" Content="blendTrans(Duration=0.5)">

    注意:blendTrans是动态滤镜的一种,产生渐隐效果。另一种动态滤镜RevealTrans也可以用于页面进入与退出效果:

    <Meta http-equiv="Page-Enter" Content="revealTrans(duration=x, transition=y)">

    <Meta http-equiv="Page-Exit" Content="revealTrans(duration=x, transition=y)">

    Duration表示滤镜特效的持续时间(单位:秒)

    Transition滤镜类型。表示使用哪种特效,取值为0-23。

    0 矩形缩小

    1 矩形扩大

    2 圆形缩小

    3 圆形扩大

    4 下到上刷新

    5 上到下刷新

    6 左到右刷新

    7 右到左刷新

    8 竖百叶窗

    9 横百叶窗

    10 错位横百叶窗

    11 错位竖百叶窗

    12 点扩散

    13 左右到中间刷新

    14 中间到左右刷新

    15 中间到上下

    16 上下到中间

    17 右下到左上

    18 右上到左下

    19 左上到右下

    20 左下到右上

    21 横条

    22 竖条

    23 以上22种随机选择一种

    9、MSThemeCompatible (XP主题)

    说明:是否在IE中关闭 xp 的主题

    用法:<Meta http-equiv="MSThemeCompatible" Content="Yes">

    注意:关闭 xp 的蓝色立体按钮系统显示样式,从而和win2k 很象。

    10、IE6 (页面生成器)

    说明:页面生成器generator,是ie6

    用法:<Meta http-equiv="IE6" Content="Generator">

    注意:用什么东西做的,类似商品出厂厂商。

    11、Content-scrīpt-Type (脚本相关)

    说明:这是近来W3C的规范,指明页面中脚本的类型。

    用法:<Meta http-equiv="Content-scrīpt-Type" Content="text/javascrīpt">

    注意:

    ★NAME变量

    name是描述网页的,对应于Content(网页内容),以便于搜索引擎机器人查找、分类(目前几乎所有的搜索引擎都使用网上机器人自动查找meta值来给网页分类)。

    name的value值(name="")指定所提供信息的类型。有些值是已经定义好的。例如descrīption(说明)、keyword(关键字)、refresh(刷新)等。还可以指定其他任意值,如:creationdate(创建日期) 、

    document ID(文档编号)和level(等级)等。

    name的content指定实际内容。如:如果指定level(等级)为value(值),则Content可能是beginner(初级)、intermediate(中级)、advanced(高级)。

    1、Keywords (关键字)

    说明:为搜索引擎提供的关键字列表

    用法:<Meta name="Keywords" Content="关键词1,关键词2,关键词3,关键词4,……">

    注意:各关键词间用英文逗号“,”隔开。META的通常用处是指定搜索引擎用来提高搜索质量的关键词。当数个META元素提供文档语言从属信息时,搜索引擎会使用lang特性来过滤并通过用户的语言优先参照来显示搜索结果。例如:

    <Meta name="Kyewords" Lang="EN" Content="vacation,greece,sunshine">

    <Meta name="Kyewords" Lang="FR" Content="vacances,grè:ce,soleil">

    2、Descrīption (简介)

    说明:Descrīption用来告诉搜索引擎你的网站主要内容。

    用法:<Meta name="Descrīption" Content="你网页的简述">

    注意:

    3、Robots (机器人向导)

    说明:Robots用来告诉搜索机器人哪些页面需要索引,哪些页面不需要索引。Content的参数有all、none、index、noindex、follow、nofollow。默认是all。

    用法:<Meta name="Robots" Content="All|None|Index|Noindex|Follow|Nofollow">

    注意:许多搜索引擎都通过放出robot/spider搜索来登录网站,这些robot/spider就要用到meta元素的一些特性来决定怎样登录。

    all:文件将被检索,且页面上的链接可以被查询;

    none:文件将不被检索,且页面上的链接不可以被查询;(和 "noindex, no follow" 起相同作用)

    index:文件将被检索;(让robot/spider登录)

    follow:页面上的链接可以被查询;

    noindex:文件将不被检索,但页面上的链接可以被查询;(不让robot/spider登录)

    nofollow:文件将不被检索,页面上的链接可以被查询。(不让robot/spider顺着此页的连接往下探找)

    4、Author (作者)

    说明:标注网页的作者或制作组

    用法:<Meta name="Author" Content="张三,abc@163.com">

    注意:Content可以是:你或你的制作组的名字,或Email

    5、Copyright (版权)

    说明:标注版权

    用法:<Meta name="Copyright" Content="本页版权归网易学院所有。All Rights Reserved">

    注意:

    6、Generator (编辑器)

    说明:编辑器的说明

    用法:<Meta name="Generator" Content="PCDATA|FrontPage|">

    注意:Content="你所用编辑器"

    7、revisit-after (重访)

    说明:

    用法:<META name="revisit-after" CONTENT="7 days" >

    注意:

    ★Head中的其它一些用法

    1、scheme (方案)

    说明:scheme can be used when name is used to specify how the value of content should be interpreted.

    用法:<meta scheme="ISBN" name="identifier" content="0-14-043205-1" />

    注意:

    2、Link (链接)

    说明:链接到文件

    用法:<Link href="soim.ico" rel="Shortcut Icon">

    注意:很多网站如果你把她保存在收件夹中后,会发现它连带着一个小图标,如果再次点击进入之 后还会发现地址栏中也有个小图标。现在只要在你的页头加上这段话,就能轻松实现这一功能。<LINK> 用来将目前文件与其它 URL 作连结,但不会有连结按钮,用於 <HEAD> 标记间, 格式如下:

    <link href="URL" rel="relationship">

    <link href="URL" rev="relationship">

    3、Base (基链接)

    说明:插入网页基链接属性

    用法:<Base href="http://www.***.net/" target="_blank">

    注意:你网页上的所有相对路径在链接时都将在前面加上“http: //www.***.com/”。其中target="_blank"是链接文件在新的窗口中打开,你可以做其他设置。将“_blank”改为 “_parent”是链接文件将在当前窗口的父级窗口中打开;改为“_self”链接文件在当前窗口(帧)中打开;改为“_top”链接文件全屏显示。

    以上是META标签的一些基本用法,其中最重要的就是:Keywords和 Descrīption的设定。为什么呢?道理很简单,这两个语句可以让搜索引擎能准确的发现你,吸引更多的人访问你的站点!根据现在流行搜索引擎 (Google,Lycos,AltaVista等)的工作原理,搜索引擎先派机器人自动在WWW上搜索,当发现新的网站时,便于检索页面中的Keywords和Descrīption,并将其加入到自己的数据库,然后再根据关键词的密度将网站排序。

    由此看来,我们必须记住添加Keywords和Descrīption的META标签,并尽可能写好关键字和简介。否则,

    后果就会是:

    ●如果你的页面中根本没有Keywords和Descrīption的META标签,那么机器人是无法将你的站点加入数

    据库,网友也就不可能搜索到你的站点。

    ●如果你的关键字选的不好,关键字的密度不高,被排列在几十甚至几百万个站点的后面被点击的可

    能性也是非常小的。

    写好Keywords(关键字)要注意以下几点:

    ●不要用常见词汇。例如www、homepage、net、web等。

    ●不要用形容词,副词。例如最好的,最大的等。

    ●不要用笼统的词汇,要尽量精确。例如“爱立信手机”,改用“T28SC”会更好。

    “三人之行,必有我师”,寻找合适关键词的技巧是:到Google、Lycos、Alta等著名搜索引擎,搜索与

    你的网站内容相仿的网站,查看排名前十位的网站的META关键字,将它们用在你的网站上,效果可想而知了。

    ★小窍门

    为了提高搜索点击率,这里还有一些“捷径”可以帮得到你:

    ●为了增加关键词的密度,将关键字隐藏在页面里(将文字颜色定义成与背景颜色一样)。

    ●在图像的ALT注释语句中加入关键字。如:<IMG SRC="xxx.gif" Alt="Keywords">

    ●利用HTML的注释语句,在页面代码里加入大量关键字。用法: <!-- 这里插入关键字 -->

  • (转)PHP程序员都应该知道的五个工具

    2007-9-17

    PHP程序员都应该知道的五个工具

    在参与了几个大型PHP项目,写了很多PHP代码以后,我发现很多工具可以提高代码质量,简化发布,使得做为PHP开发人员的生涯变得轻松许多。许多这样 的工具可能已经为大家所用。但是,由于一些人甚至没有注意到这些工具的存在,我会从此开始,好了,不说废话,下面是我认为所有PHP程序员应该知道的工具 列表。

    Phing - 一个项目构建系统

    Phing 是一个基于Apache ANT 的项目构建系统。它的名字是一个拗口的语句首字母缩写 - PHing Is Not GNU make 。Phing可以做传统构建系统比如 GNU make 能做的任何事情,同时没有陡峭的学习曲线。

    在phing(以及其他的构建系统)背后的思想是评估一系列相关性,然后执行一系列PHP类去正确的安装和配置一个应用系统。构建过程用一个简单的XML 配置文件控制。Out of the box, phing内置可以执行一系列替换(比如:在你的开发版本和产品版本间改变include路径)、执行SQL语句、移动和复制文件、运行外部脚本等等。通 过扩展包含在发行包中的“task”类,你也可以创造自己的定制任务。

    对任何需要在超过一台服务器上部署大型PHP应用的人来世,Phing是一个无价之宝。同时我发现它对简单的PHP脚本也是很有用的。

    Xdebug - 调试和分析工具

    Xdebug 是帮助你调试和分析脚本的一个PHP扩展。Xdebug中最有用的特性是在激活后显示的新注意信息、警告信息和错误信息。如果一个脚本不能正常运行, Xdebug将会输出关于错误信息的完整堆跟踪 ,会附带函数名称、参数值、源文件和行号。这对于厌倦了PHP默认只带的可怜的错误报告功能的程序员是一个值得欢迎的特性。

    这个扩展有很多更先进的功能,允许开发人员进行代码覆盖率分析,收集分析信息以及交互式地调试脚本。profiling functionality 功能尤其有用。分析器使用一个普通的输出文件格式,允许你使用象 KCacheGrind 这样的工具快速发现你代码中的瓶颈。对任何严肃的开发人员而言,一个好的分析器是基本工具,它使得你妥善优化你的代码,同时避免过早优化带来的危害。

    PHPUnit - 单元测试框架

    PHPUnit 是一个轻量级的PHP测试框架。它是在PHP5下面的 JUnit 3.8.1 完整移植,是xUnit 测试框架家族的一员(它们基于软件模式 先锋 Kent Beck 的设计)。

    单元测试是几个现代敏捷开发方法的基础,使得PHPUnit成为许多大型PHP项目的关键工具。这个工具也可以被前面讨论的Xdebug扩展用来生成代码覆盖率报告 ,并且可以与phing集成来自动测试。

    Propel - ORM(对象关系映射)框架

    Propel是一个PHP5下面的对象关系映射(ORM)框架,它起源于Apache Torque项目。它提供了一个复杂但是易用的数据库抽象层,使得你可以在PHP中象使用普通类和对象一样得使用数据库实体。Propel允许你使用一种 简单的XML格式定义你的数据库,这个XML文件被用来映射数据库,生成应用中使用的静态类。

    Propel被内嵌于流行的Symfony PHP框架 (还有其他的),它使得代码更灵活、模块化以及可移植。这个项目有The project has 出色的文档,以及很棒的支持社区。

    phpMyAdmin / phpPgAdmin - 基于web的数据库管理系统

    历史有点长可是还是很有用,phpMyAdmin是对于任何数据库(对应PostgreSQL和SQLite是phpPgAdmin 和 phpSQLiteAdmin)最有用的管理工具之一。它有助于做每一件事情 - 从为了调试应用去创建和删除数据库到做备份。安装它通常是我在一个LAMP服务器上面安装完 Apache, PHP和MySQL后做的第一件事情。如果你使用MySQL,不知何故还没听说过它,那么现在就安装 。
    其他工具

    还有很多优秀的工具用以符合各种需要,帮助PHP开发者创建一个丰富的开发环境 — 我希望我可以说到所有这些工具。我发现对自己有用的工具有PHP Beautifier, Spyc, Creole和Smarty。我确信还有很多我忘记或者没听说过的有用工具。因此,如果你知道某个我遗漏的PHP开发伟大工具,请留言让我(以及所有人) 知道!

    trackback:http://www.phpchina.com/40316/spacelist_type_blog_itemtypeid_2026.html

  • Javascript控制图片大小

    2007-9-13

    原图(小图):<br>
    <IMG id="img1" src="http://www.google.com/options/icons/picasa.gif" style="border:1px #ff0000 solid" >
    <a href=javascrīpt:void(0) ōnClick="alert( document.getElementById('img1').width + '×' + document.getElementById('img1').height ) ">图片大小</a>
    <br><hr><br>
    小图放大:<br>
    <IMG id="img2" src="http://www.google.com/options/icons/picasa.gif" style="border:1px #ff0000 solid" ōnload="resizeImg(this)">
    <a href=javascrīpt:void(0) ōnClick="alert( document.getElementById('img2').width + '×' + document.getElementById('img2').height ) ">图片大小</a>
    <br><hr><br>
    原图(大图):<br>
    <IMG id="img3" src="http://www.google.cn/intl/zh-CN/images/logo_cn.gif" style="border:1px #ff0000 solid" >
    <a href=javascrīpt:void(0) ōnClick="alert( document.getElementById('img3').width + '×' + document.getElementById('img3').height ) ">图片大小</a>
    <br><hr><br>
    大图缩小:<br>
    <IMG id="img4" src="http://www.google.cn/intl/zh-CN/images/logo_cn.gif" style="border:1px #ff0000 solid" ōnload="resizeImg(this)">
    <a href=javascrīpt:void(0) ōnClick="alert( document.getElementById('img4').width + '×' + document.getElementById('img4').height ) ">图片大小</a>
    <br><hr><br>

    <scrīpt type="text/javascrīpt">
    function resizeImg(obj){
       if(obj.width>100||obj.height>100){
          for(i=0;(obj.width>=101||obj.height>=101);i++)
          {
             obj.width-=1;
          }
       }
       else if(obj.width<100||obj.height<100){
          for(i=0;(obj.width<=99&&obj.height<=99);i++){
             obj.width+=1;
          }
       }
    }
    </scrīpt>

  • PHP批量取得checkbox的值

    2007-9-05

    //index.php 

    <html>
    <body>
    <form action="getchk.php" method="post">
    <table>
    <tr><td><input type="checkbox" name="chk[]" value="1"></td></tr>
    <tr><td><input type="checkbox" name="chk[]" value="2"></td></tr>
    <tr><td><input type="checkbox" name="chk[]" value="3"></td></tr>
    </table>
    <input type="submit" value="Submit">
    </form>
    </body>
    </html>

    //getchk.php

    <?php
    $p_chk=$_POST["chk"];

    echo "Count Checkbox : ".count($p_chk)."<br>";
    echo "Their values are : <br>";
    for($i=0;$i<count($p_chk);$i++){
       echo $p_chk[$i]."<br>";
    }
    echo "Join them with \",\" : <br>";
    if(!is_array($p_chk)) $p_chk=array($p_chk);
    $wc=implode(",",$p_chk);
    echo $wc;

    ?>

Open Toolbar