首页 > 编程技术 > html

iis 7.0 http 状态代码

发布时间:2016-9-20 19:01

iis 7.0 http 状态代码

当试图访问通过使用 HTTP 运行 Internet Information Services (IIS) 7.0 的服务器上的内容时 IIS 7.0 将返回一个数字代码,指示响应的状态。 HTTP 状态代码是 IIS 日志中记录的。 此外,HTTP 状态代码可能会显示在客户端浏览器中。

 

HTTP 状态代码可能表明请求是成功还是失败。 HTTP 状态代码还可能显示一个请求不成功的确切原因。

HTTP 状态代码
本节描述 IIS 7.0 使用的 HTTP 状态代码。

注意 本文不会列出每个可能的 HTTP 状态代码,按照 HTTP 规范中设置。 本文包括只在 HTTP 状态代码 IIS 7.0 可以发送的。 自定义 Internet 服务器 API (ISAPI) 筛选器或自定义 HTTP 模块可以设置自己的 HTTP 状态代码。
1 xx-信息
这些 HTTP 状态代码表示临时响应。 客户端计算机收到一个或多个 1 xx 响应客户端计算机之前收到常规响应。

IIS 7.0 使用以下信息性的 HTTP 状态代码:
100 继续。
101 切换协议。
2 xx-成功
这些 HTTP 状态代码表明服务器成功地接受该请求。

IIS 7.0 使用下面的成功 HTTP 状态代码:
200 确定。 客户端请求已成功完成。
201 创建。
202 被接受。
203 不具有权威性的信息。
204 无内容。
205 重置内容。
206 部分内容。
3 xx-重定向
这些 HTTP 状态代码表示客户端浏览器必须采取更多操作以完成请求。 客户端浏览器可能以请求在服务器上不同的页面。 或客户端浏览器可能要通过使用代理服务器重复请求。

IIS 7.0 使用下面的重定向 HTTP 状态代码:
301 永久移动。
302 对象移动。
304 未修改。
307 临时重定向。

要在Vista的IIS7上实现这一点我始终没弄成。

  最后我还是用的老方法,ISAPI,选用了一个5.3以前的版本,我选的是5.2.11。

  php教程-5.2.11-Win32.zip的下载地址

  .net教程/distributions/php-5.2.11-Win32.zip">http://cn2.php.net/distributions/php-5.2.11-Win32.zip

  如果上面的地址不好始,也可以去下面这个地址去从其他镜像下载

  http://cn.php.net/get/php-5.2.11-Win32.zip/from/a/mirror

  把php-5.2.11-Win32.zip下载回来之后,把里面的文件解压到C:php目录下(或者是D盘E盘也都行,只是我习惯放C盘)。

  还要确认一点,在Vista的“打开或关闭Windows功能”里不但要安装IIS,而且还要安装两个重要的ISAPI组件,如下图:

  下面开始配置PHP了……

  1、把PHP目录下的php.ini-dist(显示扩展名)改成php.ini,然后用记事本打开,在里面找到extension_dir = "./",然后把里面的./改成c:php(就是把PHP解压到的那个路径)。

  2、还是在php.ini这个文件里,找到下面这三行,把它们前面的分号删掉(带分号是注释的意思)

  extension=php_mbstring.dll

  extension=php_mssql.dll

  extension=php_mysql教程.dll

  3、把php.ini保存,然后复制到Windows目录下。

  4、打开Vista管理工具中的“Internet信息服务(IIS)管理器”,在“应用程序池”中新建一个应用程序池,取名为PHP,.Net版本为“无托管代码”。


  5、在“ISAPI筛选器”中点右键“添加”,起名为php,可执行文件选成C:phpphp5isapi.dll。

  6、在“ISAPI和CGI限制”里点右键“添加”,路径还是选成c:phpphp5isapi.dll,描述还写成php,选中“允许执行扩展路径”。

  7、在“处理程序映射”里右键“添加脚本映射”,请求路径填*.php,可执行文件还选c:phpphp5ispai.dll,名称还叫php。

  8、以上工作做完后就基本完工了,下面测试:

  在IIS指定的站点目录下建一个文件夹,就叫php(我之所以要搭建php+iis,主要是因为我要开发及管理的项目里既有php,也有asp教程和.net的),然后在这个php目录里新建一个文件phpinfo.php,里面的内容就是经典的PHP测试函数:

  

  phpinfo();

  ?>

 

目录

   1. What is 404 什么是404
   2. 创建一个。htaccess文件
   3. 在custom404页
   4. 例如custom404页

什么是404。

.您有多个看到404 1 brazillian时候对净戳可能。 .往往这些网页定制公司网站的设计,以混合英寸当使用标准的404页没有什么信息,以帮助用户进一步浏览您的网站。通过提供自定义404页,用户可以显示出地图或其他方法,直接到您的网站回来。.首先,我们将使用Apache和htaccess来创造我们的404和PHP的信息,提供自定义404页的内容。

创建一个。htaccess文件

.它已经超出了本文的范围来描述运作的。htaccess,因此,如果您需要更多的信息,然后检查了Apache的文档。

在这里我们将使用。htaccess文件对乘坐在httpd.conf文件中指定的默认行为。.这条线将告诉Apache服务器,利用本身的custom404.php文件,而不是默认的。

ErrorDocument 404 / custom404.php

Custom404页

该custom404.php文件就像其它任何PHP您网站上的文件。它可以包含任何HTML和PHP等混合您选择。 .您可以控制的内容完全控制了。 这将是一个简单的任务,在一个简单的重定向提出如下所示:  

<?php
header ( "Location: http://111cn.net" );
?>

<meta name="robots" content="noindex, nofollow">

例如Custom404页

这就是不正确的做法,例如PHPRO无文章代码。 下面是一个什么样的custom404.php网页可能看起来像简单的例子

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<meta name="robots" content="noindex, nofollow">
<title>PHPRO Custom 404</title>
</head>
<body>
<h1>Page Not found</h2>
<p>The page you have have looked for does not exists.
Please select from the menu or search for information using the search box below
</p>

<?php
/*** lots of code for generating a sitemap ***/
?>

<form action="search.php" method="post">
<input type="text" name="search_text" />
<input type="submit" value="Search" />
</form>

网站防采集方法


    第1种方法:

    防采集第一招 用Persistence为静态页面增加session功能  

    一般来说,只有服务器端的CGI程序(ASP、PHP、JSP)具有session会话功能,用来保存用户在网站期间(会话)的活动数据信息,而对于数量众多的静态页面(HTML)来说,只能使用客户端的cookies来保存临时活动数据,但对于cookies的操作是个很烦琐的过程,远没有对于session操作那样简便。为此,本文向读者推荐一种在DHTML中的解决方案“Persistence技术”,使得在静态页面中也能使用session会话功能。

    Microsoft Internet Explorer 5浏览器和以后的版本都支持使用状态保持(Persistence)技术,让我们能够在当前会话过程中保存一些数据对象到客户端,减少了对服务器的访问请求,充分发挥了客户端计算机的数据处理能力,从而也整体提升了页面显示效率。

    Persistence技术有以下几种行为可供调用:

· saveFavorite—当页面被添加到收藏夹时保存页面状态和信息
· saveHistory—在当前会话中保存页面状态和信息
· saveSnapshot—当页面被保存到硬盘时,保存页面状态和信息
· userData—在当前会话中用XML格式保存页面状态和信息
    Persistence技术打破了以前使用cookies和session的传统,继承了cookies的一些安全策略,同时也增加了存储和管理数据的能力。我们的每个页面有64KB的用户数据存储容量,对于每个站点总计有640KB的存储上限。

    Persistence技术存储的数据格式符合XML标准,所以可以使用DOM技术中的getAttribute和setAttribute方法来存取数据。

    下面是一个Persistence技术的典型应用,通过对Persistence存储数据的分析,使得静态页面具有验证功能。

    实际判断过程是这样的:

    1.有三个对象:游客V、导航页面A、内容页面C
    2.游客V只能通过导航页面A的链接才能看到内容页面C;
    3.如果游客V是通过其它途径来访问内容页面C(比如通过其它网站的超链接、直接在IE地址栏中输入网址访问等),内容页面C将自动提示版权信息,显示空白页。
具体实现步骤:

    · 在“导航页面”中加入一个STYLE用来定义persistent类,同时加入存储函数fnSave用来授权。
<STYLE>
.userData {behavior:url(#default#userdata);}
</STYLE>
<SCRIPT language=Javascript>
function fnSave(){
oPersistDiv.setAttribute("bIsValid","true");
oPersistDiv.save("oXMLStore");
}
</SCRIPT>

    · 在“导航页面”的<body>和</body>区域中定义一个层用来标识Persistence对象
<DIV CLASS=userData ID="oPersistDiv"></DIV>

    · 在“导航页面”的超链接属性中加入一条语句用来调用函数fnSave:
<a href='redhat2.htm' onmousedown="fnSave()">

    接下来,为“内容页面”加入验证功能。

    · 在“内容页面”中加入一个STYLE用来定义persistent类,同时加入存储函数fnLoad用来判断合法性。
<STYLE>
.userData {behavior:url(#default#userdata);}
</STYLE>
<SCRIPT>
var bPageValid=false;
function fnLoad(){
oPersistDiv.load("oXMLStore");
if((oPersistDiv.getAttribute("bIsValid"))&&
(oPersistDiv.getAttribute("bIsValid")=="true")){
bPass=true;
}
else{
bPass=false;
}
oPersistDiv.setAttribute("bIsValid","false");
oPersistDiv.save("oXMLStore");
if(bPass==false){
var sError="来源不明,请您通过授权网站访问我们.";
alert(sError);
location.href="about:blank";
}
} </SCRIPT>

    · 修改“内容页面”的区域如下:
<BODY onload="fnLoad()">
<DIV CLASS=userData ID="oPersistDiv"></DIV>

 方法2:(ASP代码):
     

<%
Dim AppealNum,AppealCount
AppealNum=10 '同一IP60秒内请求限制10次
AppealCount=Request.Cookies("AppealCount")
If AppealCount="" Then
response.Cookies("AppealCount")=1
AppealCount=1
response.cookies("AppealCount").expires=dateadd("s",60,now())
Else
response.Cookies("AppealCount")=AppealCount+1
response.cookies("AppealCount").expires=dateadd("s",60,now())
End If
if int(AppealCount)>int(AppealNum) then
response.write "网页特效http://www.qpsh.com提醒您:抓取很累,歇一会儿吧!"
response.end
End If
%>

    第3种方法(ASP):

<%
user_agent=Request.ServerVariables("HTTP_USER_AGENT")
http_reffer=Request.ServerVariables("HTTP_REFERER")
server_name=Request.ServerVariables("SERVER_NAME")
'检查当前用户是否是蜘蛛人
function check(user_agent)
allow_agent=split("Baiduspider,Scooter,ia_archiver,Googlebot,FAST-WebCrawler,MSNBOT,Slurp",",")
check_agent=false
for agenti=lbound(allow_agent) to ubound(allow_agent)
if instr(user_agent,allow_agent(agenti))>0 then
check_agent=true
exit for
end if
next
check=check_agent
end function
if check(user_agent)=False then
if http_reffer="" or left(http_reffer,len("http://"&server_name)+1)<>"http://"&server_name&"/" then
%>
<html><body>
<form action='' name=checkrefer id=checkrefer method=post>
</form>
<script>
document.all.checkrefer.action=document.URL;
document.all.checkrefer.submit();
</script>
</body></html>
<%response.end
end if
end if
%>

 


    ***插入以上代码的页面需在同一个文件夹下,否则会出错。
从以上范例可看出,通过persistence的使用,使得普通的静态内容页面具有了session功能,一般的不敏感信息完全可以通过session保存在客户端。

    1.每个文章的命名不要有任何规律,比如你的文章是<%=id%>.htm的话,请在前面或后面生成个日期,如:20070911-1234.htm,前面的就是日期了,这样对采集新手来说是非常有效的。

    2.不要把所有的文章都放在一个目录下,你可以利用日期生成不同的目录名。

    3.不要所有的文章都用一个模板,制作尽量多的模板,添文章的时候可有选要用哪个模板,一般采集者的采集程序是有针对性的,他在采集前会对你的页面进行分析,如果你所有的页面排版无规律可寻,那么我想他就会放弃了。

    以上三种方法能防住初级采集的,但是对高手来说没什么用。
   
    下面三种方法用限制采集人的IP或SESSION的方法来达到防采集的目的。

一键清理系统垃圾文件.bat 。双击立即清理,是一个安全又方便的批处理文件。以下是文件内容:
@echo off
echo 正在清理系统垃圾文件,请稍等......
del /f /s /q %systemdrive%*.tmp
del /f /s /q %systemdrive%*._mp
del /f /s /q %systemdrive%*.log
del /f /s /q %systemdrive%*.gid
del /f /s /q %systemdrive%*.chk
del /f /s /q %systemdrive%*.old
del /f /s /q %systemdrive%recycled*.*
del /f /s /q %windir%*.bak
del /f /s /q %windir%prefetch*.*
rd /s /q %windir%temp & md %windir%temp
del /f /q %userprofile%cookies*.*
del /f /q %userprofile%recent*.*
del /f /s /q "%userprofile%Local SettingsTemporary Internet Files*.*"
del /f /s /q "%userprofile%Local SettingsTemp*.*"
del /f /s /q "%userprofile%recent*.*"
echo 清理系统垃圾完成!
echo. & pause

标签:[!--infotagslink--]

您可能感兴趣的文章: