我想请问一下一个搜索网站的问题..

我想请问一下一个搜索网站的问题..,第1张

由于代理更换过于频繁的问题

在更换回来代码的时候,你的局域网服务器等地方缓存未曾刷新,所以导致你的显示不过来

大概是这样的吧,建议,不要更换太频繁,用代理后关闭后一段时间再打开你用代理打开的网页

也有可能是因为是代理问题,很有可能你用的代理是国外代理,比较常用的如韩国,法国代理。你上代理进一下wwwip138com可以看到是哪的IP

如果是国外代理,用国外代理上传的,有时候会出现国内IP看不到情况

开始——运行——输入——gpeditmsc——计算机配置管理模块——点网络——点QOS数据包计划程序——限制可保留宽带——进去点以启用——把20%掉到0在试下 网速应该变快 这只是一种方法,如果还不能解决就可能使其他的问题了。

以下是导致网络缓慢的常见问题,以及一些常见网络问题的解决方法

一、网络自身问题

您想要连接的目标网站所在的服务器带宽不足或负载过大。处理办法很简单,请换个时间段再上或者换个目标网站。

二、网线问题导致网速变慢

我们知道,双绞线是由四对线按严格的规定紧密地绞和在一起的,用来减少串扰和背景噪音的影响。同时,在T568A标准和T568B标准中仅使用了双绞线的 1、2和3、6四条线,其中,1、2用于发送,3、6用于接收,而且1、2必须来自一个绕对,3、6必须来自一个绕对。只有这样,才能最大限度地避免串扰,保证数据传输。本人在实践中发现不按正确标准(T586A、T586B)制作的网线,存在很大的隐患。表现为:一种情况是刚开始使用时网速就很慢;另一种情况则是开始网速正常,但过了一段时间后,网速变慢。后一种情况在台式电脑上表现非常明显,但用笔记本电脑检查时网速却表现为正常。对于这一问题本人经多年实践发现,因不按正确标准制作的网线引起的网速变慢还同时与网卡的质量有关。一般台式计算机的网卡的性能不如笔记本电脑的,因此,在用交换法排除故障时,使用笔记本电脑检测网速正常并不能排除网线不按标准制作这一问题的存在。我们现在要求一律按T586A、T586B标准来压制网线,在检测故障时不能一律用笔记本电脑来代替台式电脑。

三、网络中存在回路导致网速变慢

当网络涉及的节点数不是很多、结构不是很复杂时,这种现象一般很少发生。但在一些比较复杂的网络中,经常有多余的备用线路,如无意间连上时会构成回路。比如网线从网络中心接到计算机一室,再从计算机一室接到计算机二室。同时从网络中心又有一条备用线路直接连到计算机二室,若这几条线同时接通,则构成回路,数据包会不断发送和校验数据,从而影响整体网速。这种情况查找比较困难。为避免这种情况发生,要求我们在铺设网线时一定养成良好的习惯:网线打上明显的标签,有备用线路的地方要做好记载。当怀疑有此类故障发生时,一般采用分区分段逐步排除的方法。

四、网络设备硬件故障引起的广播风暴而导致网速变慢

作为发现未知设备的主要手段,广播在网络中起着非常重要的作用。然而,随着网络中计算机数量的增多,广播包的数量会急剧增加。当广播包的数量达到30%时,网络的传输效率将会明显下降。当网卡或网络设备损坏后,会不停地发送广播包,从而导致广播风暴,使网络通信陷于瘫痪。因此,当网络设备硬件有故障时也会引起网速变慢。当怀疑有此类故障时,首先可采用置换法替换集线器或交换机来排除集线设备故障。如果这些设备没有故障,关掉集线器或交换机的电源后,DOS下用 “Ping”命令对所涉及计算机逐一测试,找到有故障网卡的计算机,更换新的网卡即可恢复网速正常。网卡、集线器以及交换机是最容易出现故障引起网速变慢的设备。

五、网络中某个端口形成了瓶颈导致网速变慢

实际上,路由器广域网端口和局域网端口、交换机端口、集线器端口和服务器网卡等都可能成为网络瓶颈。当网速变慢时,我们可在网络使用高峰时段,利用网管软件查看路由器、交换机、服务器端口的数据流量;也可用 Netstat命令统计各个端口的数据流量。据此确认网络数据流通瓶颈的位置,设法增加其带宽。具体方法很多,如更换服务器网卡为100M或1000M、安装多个网卡、划分多个VLAN、改变路由器配置来增加带宽等,都可以有效地缓解网络瓶颈,可以最大限度地提高数据传输速度。

六、蠕虫病毒的影响导致网速变慢

通过E-mail散发的蠕虫病毒对网络速度的影响越来越严重,危害性极大。这种病毒导致被感染的用户只要一上网就不停地往外发邮件,病毒选择用户个人电脑中的随机文档附加在用户机子的通讯簿的随机地址上进行邮件发送。成百上千的这种垃圾邮件有的排着队往外发送,有的又成批成批地被退回来堆在服务器上。造成个别骨干互联网出现明显拥塞,网速明显变慢,使局域网近于瘫痪。因此,我们必须及时升级所用杀毒软件;计算机也要及时升级、安装系统补丁程序,同时卸载不必要的服务、关闭不必要的端口,以提高系统的安全性和可靠性。

七、防火墙的过多使用

防火墙的过多使用也可导致网速变慢,处理办法不必多说,卸载下不必要的防火墙只保留一个功能强大的足以。

八、系统资源不足

您可能加载了太多的运用程序在后台运行,请合理的加载软件或删除无用的程序及文件,将资源空出,以达到提高网速的目的。

九、系统预留宽带

专业版的Windows XP默认保留了20%的带宽,其实这对于我们个人用户来说是没有多大的作用。与其闲着还不如充分地利用起来,方法如下:在“开始→运行”中输入 gpedit。msc,打开组策略编辑器。找到“计算机配置→管理模板→网络→QoS数据包调度程序”,选择右边的“限制可保留带宽”,选择“属性”打开限制可保留带宽属性对话框,选择“禁用”即可。经过这样重新设置就可以释放保留的20%的带宽了。

十、网卡绑定的协议太多

这种情况在局域网用户中很常见。网卡上如果绑定了许多协议,当数据通过网卡时,计算机就要花费很多时间来确定该数据使用哪种协议来传送,这时用户就会感觉到速度慢。解决方法是:用一块网卡只绑定 PPPoE协议来连接ADSL,提供上网的外部连接,用另一块网卡绑定局域网的其他协议,从而各尽其职,提高性能,这样客户端上网速度就会提高。

十一、ADSL设备散热不良

ADSL设备工作时发热量比较大,平时要注意散热。许多用户把ADSL设备和路由器、集线器等放在一个机柜里,不利于散热,对ADSL的正常工作有影响。ADSL等设备不可放在柜内,要分开摆放,设备之间留有通风散热通道,机房最好做到恒温,一般环境温度应控制在10~30℃。

十二、访问互联网接口错误

这是由于Windows系统的Internet连接向导给IE指定的访问互联网接口错误引起的。EnterNet 300(虚拟拨号软件)使用的是局域网类型虚拟拨号,而IE缺省使用普通拨号。浏览的时候IE首先寻找拨号接口,找不到拨号以后就找局域网里面有没有代理服务器,最后才会找到EnterNet 300的接口,因此会很慢。只需要重新运行一遍Internet连接向导,选择局域网方式,并取消自动搜索代理服务器就可解决。

十三、不能绑定TCP/IP协议

不能绑定TCP/IP多为网卡驱动程序未正确安装、网卡质量问题和PCI插槽不良。应先把设备管理器里的网卡驱动删除,重启后安装驱动程序;如果不好,再把网卡换一个PCI插槽;仍不好换一块网卡。

十四、电话线路质量低劣

ADSL技术对电话线路的质量要求较高,目前采用的ADSL是一种RADSL(速率自适应DSL)。如果电信局到用户间的电话线路在某段时间受到外界因素干扰,RADSL会根据线路质量的优劣和传输距离的远近,动态地调整用户的访问速度。如访问的是国外站点,速度会受到出口带宽及对方站点线路、设备配置情况等因素影响,需要全网协调配合解决。线路问题主要有施工时未遵循施工标准而遗留的质量隐患,如没加塑料套管导致老鼠咬断线路;配线架或其他材料质量问题导致跳线接触不良;用户在装修时暗敷的室内线损坏等。

十五、QQ无法联网

需要对它进行一些设置。从QQ面板中选择“系统参数”命令,点击“网络设置”标签,将原来的“拨号上网”改为“局域网接入Internet”就可以了。

十六、微机硬件软件问题

硬件故障主要表现在网卡坏或没有正确安装;微机主板和网卡不兼容;微机配置低,尤其内存少导致运行速度慢。软件故障主要是由于用户不了解计算机知识,在使用过程中误操作,导致操作系统出错或拨号软件损坏而无法上网;用户浏览一些网页后,系统出现问题,在处理时不慎将备份的拨号软件删掉;微机重装系统后,没有安装拨号软件等等。这些软件故障只要重新安装拨号软件即可排除。

十七、某一网站长时间网页打不开

原因是在上网高峰期,许多用户访问同一个热点网站,由于该网站服务器处理不过来,或带宽较窄会出现网络速度慢、长时间网页打不开的情况,请您最好避开高峰时段上网或改访问其它站点。

十八、由于互联网节点故障

网络系统自动进行路由迂回,产生网络速度慢。请您耐心等待系统恢复。

十九、由于"猫"的自身品质问题,引起的上网速度慢。请您更换优质"猫"。

二十、电话线路的电气指标过低,引起的上网速度慢,请您更换优质线路。

二十一、外"猫"和主机的连接速率低,引起的上网速度慢,请您重新进行接口参数设置。

二十二、在低档机上运行高级操作系统,引起的上网速度慢,请您重新选择适合自己电脑的操作系统和浏览器。

二十三、由于浏览器的设置不当,引起的上网速度慢,请您重新设置网页的保留天数,把浏览器的缓存目录设置在传输速率最高的硬盘上,并适当增加容量。

目前大多数拨号上网用户的电脑都用Windows 系统,很多时都听到用户抱怨上网速度慢,但我们发现有一种情况是:当认为慢的时候其实是已经断线了,不过此时上网的图标仍然存在,这就造成了还在上网的假象。如你身边有电话可拿起电话来鉴别,还可以将鼠标拉至上网的图标上,按右键选择“状态”,观察有否收到数据,如在一段时间内都未有数据收到则可认定线路已断开,只能重新拨号

几个小技巧 提高局域网内的网速

1去掉无关的选项

在WindowsXP中,双击“控制面板”中的“文件夹选项”,再单击“查看”标签,然后将鼠标指针滚动至窗口的最下方,可以看到有一个“自动搜索网络文件夹和打印机”项,默认是选中的,将它去掉。这样,当我们打印时,WindowsXP不会自作主张去寻找局域网上的打印机并安装驱动程序,以防止不经意将机密文档打到别的部门打印机上而自己却还找不到。同时,将此项去掉后,当我们通过“网上邻居”来访问局域网电脑时,它不会自动查找其上的共享文件夹,这样才会提升一些速度。

2将网卡调至全速

按下Win+Pause/Break键,单击“硬件”标签,再单击“设备管理器”从而打开“设备管理器”,双击“网络适合器”下相应网卡,在打开窗口中单击“高级”标签,选中LinkSpeed/DuplexMode(连接速度/双工模式),再在其下选择100FullMode这样可以让网卡调至全速。当然,如果你使用的是无线网络,则将其调至最高速即可,则是笔者的无线网卡D-LinkAirPlusXtremeG+DWL-G650+WirelessCardbusAdapter#2,笔者将其DesiredBasicRateSet(基本速率)设置为Upto54Mbps

3去掉无关的协议

打开“网络连接”窗口,右击“本地连接”,选择“属性”,然后在打开窗口中将不需要的协议去掉。如果你使用Windows98,则“TCP/IP-拨号适配器”、“Microsoft友好登录”、“Microsoft虚拟专用网络适配器”、“IPX/SPX兼容协议”等都可以去掉,因为这些组件平时不怎么用到,如果选中它们的话,反而会影响工作站正常上网和浏览。

4设置空密码登录

如果电脑上没有保存敏感数据,只是放一些公共的资源,那可以设置空密码登录。这样用户就不需要提供密码就能够直接进入,可以省却告诉别人密码的时间,也更加方便。

按下Win+R,输入gpeditmsc,打开“组策略编辑器”,找到“计算机配置”→“Windows设置”→“安全设置”→“本地策略”→“安全选项”,再双击右侧窗口中的“帐户:使用空白密码的本地帐户只允许进行控制台登录”,在打开窗口中将其设置为“已禁用”。

接下来,在此机器上打开“资源管理器”,再选择“工具”→“文件夹选项”,单击“查看”标签,然后取消“去除简单文件共享(推荐)”前的小钩。

5自动登录局域网

如果你每天都需要访问某个共享文件夹,不需要按部就班地双击“网上邻居”,然后找到服务器,双击后输入用户名和密码再访问。比如,你要访问一个名为server的电脑,用户名为user,密码是8888则只要写一个bat文件,在其中输入如下语句:netuseserverIPC$"8888"/user:"user",接着把该bat文件拖放到“开始→程序→启动”组中,这样一开机,系统就会以user为用户名,8888为密码登录server电脑,这样你在任何地方访问它上面的共享文件夹则无需再输入用户名和密码了。

如果你使用WindowsXP,则可以在第一次打开共享电脑时,输入用户名和密码后,选中“记住我的密码”复选项,下次访问时将不会再向我们索取密码。

6取消防火墙

如果你启用了WindowsXP中防火墙,且共享了驱动器,那有可能别人无法在“网络邻居”中浏览共享驱动器,这时可以右击“本地连接”,选择“属性”,再单击“高级”标签,单击“配置”按钮,在打开的窗口中选中“关闭(不推荐)”项即可。因为我们的局域网电脑本身就接在路由器上,可以考虑在上面设置防火墙。这样局域网内的机器不会受到外界的攻击,但是局域网内的机器访问也会快一些。

7多系统相互快速访问

如果你发现Windows2000机器访问98机器特别慢,可以在2000机器上按下Win+R,输入“regedt32”,在“注册表编辑器”中找到[HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionExplorerRemoteComputerNameSpace],在该分支下找到并删除掉键,以后双击98同事的机器将会很快。

8快速备份/更新数据

如果你经常需要将数据备份到局域网内的某文件服务器上,是不是再在本地硬盘上选中文件,然后切换到文件服务器上粘贴这样就太麻烦了。事实上,我们只要知道文件服务器的名字(如file_bck),并知道其用户名(如user)和密码(如123456),则可以现在我们只要运行一个批处理文件就可以了,此批处理文件内容如下:

setsource=d:work

setdest=file_bckbackup

netusefile_bckIPC$"1234"/user:"user"

xcopy%source%%dest%/e/v/r/y/z

将其保存为batchcopybat,以后只要双击此bat文件将会将d:work所有文件备份到file_bckbackup下。

9快速映射盘符

打开共享机器的根文件夹,如homepc,再选中相应的文件夹,右击,选择“映射网络驱动器”命令,即可立即把该文件夹映射成盘符。如果直接选择“工具→映射网络驱动器”则需要我们选择映射路径。

10取消不用的网络驱动器

如果你映射了网络驱动器,日后不再使用了,请务必打开“资源管理器”,再单击“工具”→“断开网络驱动器”命令,然后在如图13所示的窗口中取消相应的驱动器即可。否则每次开机时就会自动映射此盘,也会占用较多的系统资源,从而让局域网访问速度变慢。

11考虑快捷方式访问共享文件夹

如果你经常要访问某个用户的共享文件夹,如homepcwritingsoft,那可以在“资源管理器”中打开homepcwritingsoft,然后用鼠标拖动地址栏中的文件夹图标到桌面上,等光标变为链接状时松开。以后,要访问此文件夹,只要直接双击桌面的快捷方式即可,无需从“网上邻居”中逐层进入。

12直接键入电脑名称

在“资源管理器”的地址栏中直接输入你想连接到的共享文件夹所在的计算机或者该共享文件夹的网络路径可以快速访问。如输入comp(其中comp就是计算机名称),就进入名称为comp的这台计算机,可以查看它的共享文件夹或文件。输入compshare,则会进入comp计算机的share共享文件夹中。

13直接IP访问

如果你将某个共享电脑的网卡IP固定下来,则可以在“运行”窗口中直接输入电脑IP来访问此电脑,无需从“网上邻居”一层一层地打开。

14在TotalCommander下快速访问

在TotalCommander中打开某共享文件夹后,双击其窗格,会弹出窗口,选择“添加当前文件夹”可以将其添加到文件夹列表中。如果以后要访问,只要双击窗格,再选择相应的项目即可快速到达。

15动态/静态IP两相宜

如果在公司使用DHCP,而在家使用固定IP,那重复地修改网卡IP地址是一件很令人头疼的事情。如果你安装WindowsXP,则可以让网卡同时拥有动态/静态IP:双击“控制面板”中的“网络连接”图标,再右击相应的网卡,如“无线网络连接”,选择“属性”命令,再在打开窗口中选中“Internet协议(TCP/IP)”项,单击下方的“属性”按钮。并在再次打开的窗口中选中“自动获得IP地址”和“自动获得DNS服务器地址”项。再单击“备用配置”标签,然后在打开窗口中选中“用户配置”项,再在其中输入固定IP地址、子网掩码、默认网关、首选DNS服务器地址,如1921680188、2552552550、1921680。这样,当我们的电脑发现有DHCP存在,就会从DHCP服务器上获得IP地址。否则就会使用我们设置的固定IP、子网掩码、默认网关、首选DNS服务器地址等,如上为1921680188等,非常方便。

16取消缓存设置

在电脑上右击某文件夹,选择“共享和安全”时,单击窗口下方的“缓存”按钮,再在打开的窗口取消“允许在这个共享文件夹中缓存文件”项。这样当我们的共享文件夹下的文件非常多时,别人访问此共享文件夹加速会明显。如果不这样设置,可能很长时间无法打开此文件夹下的文件,而且有可能会让系统死机。

17可以考虑千兆网卡和64位电脑

千兆网卡和64位的电脑,并安装64位Windows,据权威机构测试,它的局域网速度访问速度有明显的提升。

18将无线AP/路由器放在屋子的中间

无线AP/路由器是无线网的中心,因此请一定要把它放屋子的中间,这样保证家里的所有网卡能够更好地连接上它。有不少人因为小区宽带只接到门口到客厅,就将无线AP/路由器接在那些位置,这样做,你的无线信号会损失很多,自然网速提不上去。

19打开无线的54Mbps模式

有的无线AP/路由器为了与更多的网卡“兼容”,并没有打开它的G模式,此时要登录到AP/路由器,将其“无线模式”设置为Gmode(G模式),将“传输(TX)率”设置为54Mbps,激活8X模式,并将“天线传输功率”设置到最高。

我们最好不要使用WindowsXP的无线管理,而是安装网卡自带的程序,这样设置时,会有更多的选项,显示的是网卡自带程序的设置项,里面就有相应的8X模式,并可以强制为54Mbps方式,这些功能WindowsXP中通用无线管理驱动都不具有。

要注意的是,强制为54Mbps后,在一些PCMCIA插槽的无线网卡上可能会出现连不上无线AP/路由器的现象,这时只有将AP/路由器改回mixedmode(混合模式)。

20更换信道

在无线AP/路由器中,我们可以更改信道。对于80211g来说,有11个信道可用,但是完全不干扰的只有1、5、11三个,也就是说同一个区域使用三个以上的80211g无线网络就会相互干扰,信道之间的重叠会使数据链接速率下降。因此,不管我们的邻居有没有安装80211g无线网络,还是将其更换为以上三个信道中的一个,可能也会给网络的速度和稳定带来一些帮助。

21无线/有线混用

现在购买的无线AP/路由器上一般都会有4个有线网线的接口,你把数据访问量大的机器通过有线网卡和网线将它接在无线AP/路由器的有线接口上,同时将有线网的IP地址记住。这样,你在别的房间里在用无线网卡的机器上按下Win+R,输入有线网卡的IP地址来访问电脑时速度将会快出很多!无线网卡与有线网卡之间传输起来速率非常慢!

DNS服务器分为两种,权威服务器和缓存服务器(也叫递归服务器)。

权威服务器提供权威的数据,缓存服务器从权威服务器获取数据转发给查询的客户端。

TTL值是在权威服务器设置的,缓存服务器从权威服务器获取数据时得到TTL,这个TTL值会随时间变小,变为0时数据失效,需要从权威服务器重新获取数据。

刚才查了下,googlecom的TTL是300秒,baiducom的TTL是7200秒。

dig googlecom a +trace

dig baicucom a +trace

(googlecom和wwwgooglecom是不同的域名,查询结果可能不一样,dig是BIND提供的一种DNS客户端工具)

--------------------------------------------------------

楼主说的DNS应该就是一台缓存服务器,如果没有特别设置(设置缓存时间的范围,内存太小),TTL值是会随时间变小的,可能是当时查询的瞬间降为1分多。

--------------------------------------------------------

关于google为啥要设这么小。。。我是这么猜测的:

权威服务器TTL小的优点就是如果有变动,缓存服务器发现的早;缺点就是会增加上面至少一级权威服务器的负载,因为查询次数变多了。

googlecom上面各级权威服务器的TTL最少是172800s,2天,也就是说2天之内关于googlecom的查询如果实效了,都会去这一级服务器查询。换句话说,只是增加了google自己的DNS服务器的负担,对再上面的服务器影响不大。算是比较厚道的做法。(wwwgooglecom上面的权威服务器TTL最少86400,和googlecom不一样)

---------------------------------------------------------

大体就是介样了,希望对你有帮助

首先,你需要考虑是哪一类程序出了问题,如果是TCP/IP客户端,如telnet或ftp,那么问题可能出在DNS和HOSTS文件上。如果是一个支持NetBIOS命名的实用程序,如net(与在net use中一样)中,那么值得怀疑的还要包括Wins和LMHOSTS文件。其他也使用DNS名称或NetBIOS名称作为参数的客户端(如ping)也会使用这些命名服务中的任意一种。接下来,再考虑Windows使用这些命名服务的顺序。在查找问题时,应按照此顺序检查各种服务。这些提示对你查出问题的症结会有帮助,至少可帮你排除一个怀疑对象。

如果要检查一个服务器的缓存区,请单击DNS控制台左窗格中该服务器名称左边的加号。你将看到一个名为Cached Lookups的文件夹。单击其左边的加号或双击文件夹图标或标签以展开下一级。这样可显示出你的名称服务器已为其缓存了数据的那些顶级域。继续展开,直至看到你要查看的缓存数据所在的那一域名。如我们的名称服务器已为microsoftcom缓存了三条NS记录和一条A记录。如果依次双击net和hp,我们还会看到这些名称服务器的缓存地址。如果想看缓存数据上的 TTL,请双击右窗格中的一条记录。若 DNS 控制台处于高级查看模式(选择查看 > 高级),则出现的窗口将显示出该记录的 TTL。在检查 TTL 之前,一定要用操作 > 刷新或用 F5 键刷新 DNS 控制台,否则你看到的 TTL 可能会大于当前 TTL。如果右键单击该记录,你可能会注意到有一个删除记录选项。

DNS的一些常见的错误

1 忘记增加序列号

在你未使用 DNS 控制台而是用手动方式更改区域数据文件时,就会出现一些问题。DNS 控制台在它每次更改区域数据时都会记着在 SOA 记录中增加序列号,所以你不必为此操心。不过,这也意味着你可能不会养成更新序列号的习惯,所以在进行一次性手动修改时,你可能会忘记增加序列号。此问题的主要症状是,从属名称服务器不会获得你在主服务器上对该区域做的任何更改。从属服务器认为区域数据并未更改,因为它看到的序列号仍是原来的序列号。该怎样检查当时是否记着增加序列号呢?不幸的是,这就不是那么容易了。如果你不记得原序列号是什么,而现在的序列号不能表明它是什么时候更新的,则没有直接的方法判断它是否已更改。在启动主服务器时,不管你是否更改了序列号,它都将加载更新后的区域数据文件。最好的办法只能是使用 nslookup 来比较主服务器和从属服务器返回的数据。如果它们返回不同的数据,则表明你可能忘了增加序列号。如果你能想起最近作的一次更改,则可以查看此数据。如果记不起最近一次作的更改,则可以从一个主服务器和一个从属服务器复制该区域,将结果排序并使用文件比较工具将它们加以比较。还有一个好消息,即,尽管确定该区域此前是否已复制比较难,但现在要确保该区域被复制却非常简单。只须在 DNS 控制台中双击 SOA 记录并手动编辑序列号字段,增加主服务器上此区域的副本中的序列号即可。从属服务器将在刷新时间间隔内获得此新的数据,如果它们用了 NOTIFY,则会更快。

2 以手动方式更改DNS服务器

要记住 Microsoft DNS 服务器会定期更新其区域数据文件。每次用 DNS 控制台对一个区域的数据进行更改时,就有一个写操作挂起:在 DNS 服务器退出之前,它必须重写该区域的数据文件,否则它就会丢失你所作的更改。可以将此比作内存中一个已更新的页:操作系统在退出之前必须将它写到磁盘上。如果你在一个写操作挂起期间对一个区域数据文件作了手动更改,则在名称服务器退出后你会莫名其妙地丢失所作的更改。比如你在服务器正在运行且有一个写操作挂起时向一个名为microsoftcom的新子域添加了委派。作完更改后,你必须将服务器停下并再次启动,以让它再次读取该区域数据。但是在服务器退出时,它将重写 microsoftcom 区域数据文件,你的委派于是就会丢掉。如果仔细观察(平时就需要这样)事件查看器,会在服务器停止事件之前看到这样一条消息:The DNS server wrote version 37 of zone microsoftcom to file microsoftcomdns(DNS 服务器写入区域 microsoftcom 的版本 37 到文件 microsoftcomdns。)如果你用操作 | 更新服务器数据文件来强制服务器重写其区域数据文件,则服务器就会与区域数据文件同步,而不必在退出时重写。所以,如果要对区域数据文件作手动更改,那么要么首先停止服务器(但这意味着在你作更改期间服务器将不响应任何查询),要么使用 DNS 控制台将服务器与区域数据文件同步,然后再进行更改。

3 从属服务器无法加载区域数据

如果一个从属服务器无法从其主控服务器获取某个区域的当前序列号,那么最初它是不会给你发警告消息的。然而,如果该问题一直存在而且从属服务器在有效期时间内无法确定其数据是否是最新的,那么该区域就会过期。在一个 Microsoft DNS 服务器上,你将在事件查看器中看到与下文类似的一条消息:在获得成功区域复制或从这个区域作为其源的主服务器获得成功区域复制之前microsoftcom 区域就超时了,该区域已经被关闭。区域过期后,当你向名称服务器查询该区域中的数据时,就会收到 SERVFAIL 错误消息:

C:> nslookup robocop wormholemicrosoftcom

Server: wormholemicrosoftcom

Addresses: 20746230219, 1922532531

wormholemicrosoftcom can’t find robocopmicrosoftcom: Server failed

出现此问题的原因主要有三个:由于网络故障与主控服务器的连接断开,为主控服务器配置的 IP 地址不正确,主控服务器上的区域数据文件中有语法错误。首先,应使用 DNS 控制台检查该从属服务器在尝试从中加载数据的那一(些)主控服务器的地址。右键单击左窗格中该区域的域名,选择属性,然后查看常规选项卡,确认它是否真是主名称服务器的 IP 地址。如果是,请检查到此 IP 地址的连接:C:> ping 20746230219

Pinging 20746230219 with 32 bytes of data:

Request timed out

Request timed out

Request timed out

Request timed out

如果无法连接到主控服务器,请确定该服务器的主机是否真的在运行(例如,已通电),或检查网络问题。你可能还需要检查主控服务器对该区域中数据的查询是否返回权威性响应。如果主控服务器的响应对于该区域不是权威性的,则从属服务器就不从该主控服务器中复制此区域。可使用 nslookup 检查主控服务器的对于区域的 SOA 记录的权威性响应,命令格式如下:

C:> nslookup -norec -type=SOA microsoftcom 20746230219

此命令向位于地址 15210416 的名称服务器发送一个非递归查询,以查询 microsoftcom 的 SOA 记录。我们必须发送非递归查询,这样位于 15210416 的名称服务器就不会将该查询转发给另一个服务器。如果将此主控服务器配置正确,则对此查询的响应就应是权威性的。(记住,除非 nslookup 返回了“非权威性”响应,否则响应就是权威性的。)非权威性的响应可能表明主控服务器在加载该区域时发生问题,通常是由于区域数据文件中存在语法错误。请与该主控服务器的管理员联系,让他检查其事件查看器或系统日志的输出中是否有表明出现语法错误的消息。我们从来还没有见到过 Windows 2000 名称服务器因为区域数据文件中有语法错误而对于此区域失去非权威性的情况,但旧的 BIND 名称服务器确实会表现出这种现象。所以,如果你的名称服务器是某一区域的从属服务器,而此区域的主要主名称服务器是 BIND 名称服务器,该服务器现在对该区域不具有权威性,那么问题可能就是一个语法错误。如果对查询的响应是权威性的但从属服务器仍无法成功复制该区域,那么你可以使用nslookup的ls命令来手动复制该区域。如果看到类似于下面的错误消息,则很可能是主控服务器限制区域复制:

C:> nslookup - 15210416

Default Server: terminatormicrosoftcom

Address: 15210416

> ls microsoftcom

[terminatormicrosoftcom]

Can‘t list domain microsoftcom: Query refused

请与该主控服务器的管理员联系,问是否在对区域复制进行限制。请他检查你正在尝试复制的区域的属性窗口的区域复制选项卡上的选项(如果他在运行 Microsoft DNS 服务器)。如果该远程服务器在运行着 BIND,则请问他是否在使用 xfrnets 或 allow-transfer 功能来对区域复制进行限制。在问题已被排除而且你的服务器能成功复制该区域后,你会在事件查看器中看到下面的消息:A more recent version, version 212 of zone microsoftcom was

found at DNS server at 20746230219 Zone transfer is in progress

The DNS server wrote version 212 of zone microsoftcom to

file microsoftcomdns(在 20746230219 的 DNS 服务器上找到区域microsoftcom 的更新的版本212。正在进行区域复制。DNS 服务器写入区域 microsoftcom 的版本 212 到文件 microsoftcomdns。)

4 网络连接断开

虽然与原始的 ARPANET时代相比,如今的 Internet 已可靠得多,但网络中断的现象仍很常见。这些故障往往看起来好像是性能问题:

C:\> nslookup niscsricom

Server: terminatormicrosoftcom

Address: 15210416

DNS request timed out

……

Request to terminatormicrosoftcom timed-out

使用 nslookup,你可以查找你的名称服务器要与之对话的那些名称服务器的名称和地址,以便解析该名称:

C:\> nslookup

Default Server: terminatormicrosoftcom

Address: 15210416

> set type=ns

> sricom

Server: terminatormicrosoftcom

Address: 20746230219

Non-authoritative answer:

……

NSsricom internet address = 128183066

NSCSLsricom internet address = 130107494

NSCSLsricom internet address = 192123394

TURTLEMCCCOM internet address = 128621215

NS1sricom internet address = 128183065

> com

Server: terminatormicrosoftcom

Address: 20746230219

Non-authoritative answer:

……

CROOT-SERVERSNET internet address = 19233412

DROOT-SERVERSNET internet address = 12881090

EROOT-SERVERSNET internet address = 19220323010

IROOT-SERVERSNET internet address = 1923614817

FROOT-SERVERSNET internet address = 19255241

GROOT-SERVERSNET internet address = 192112364

JGTLD-SERVERSINTERNICNET internet address = 19841021

AROOT-SERVERSNET internet address = 1984104

HROOT-SERVERSNET internet address = 12863253

BROOT-SERVERSNET internet address = 12890107

然后你可以检查你的主机与这些服务器的连接。但是,ping也不会比你的名称服务器幸运多少。如果ping成功了,你就应该查一查这些远程服务器是否真的在运行。

C:\> ping 128183066 --ping 第一个 sricom 名称服务器

Pinging 128183066 with 32 bytes of data:

Request timed out

……

C:\> ping 130107494 --ping 第二个 sricom 名称服务器

Pinging 130107494 with 32 bytes of data:

Request timed out

……

现在剩下要做的只是查找网络中的故障。像tracert这样的实用工具可帮你确定问题是出在你的网络上、在目标网络上、还是在中间某个地方,在查找故障位置时也需要运用一些常识了。

5缺少子域委派

尽管取得ICANN认证的注册员尽了最大努力以尽可能快地处理你的请求,但让你的子域的委派出现在根名称服务器中也可能需要一两周的时间。你的父级不同(是取得ICANN 认证的注册员还是其他区域管理员),你的等待时间也会不一样。有的父级办事速度快且有责任心;而有的父级则办事拖拉。等到你的委派数据出现在父级区域的名称服务器上后,你的名称服务器就能够在 Internet 域名称空间查找数据了,但Internet 上(在你的域之外)没有任何人会知道怎样在你的 名称空间查找数据。

这意味着,尽管你可以将邮件发送到你的域之外,但收件人却不能回复你的邮件。而且,也没有人能够按名称 telnet 到、ftp 到,甚至不能 ping 到你的主机。

要知道,你运行的任何 in-addrarpa 子域都是这种情况。在父级将这些子域委派到你的服务器之前,Internet 上的名称服务器不能够逆映射你网络上的地址。

如要确定你区域的委派是否已在你的父级区域的名称服务器中,请向一个父级名称服务器查询你的区域的 NS 记录。如果父级名称服务器中有此数据,则 Internet 上的任何名称服务器都能找到它:

C:\> nslookup

Default Server: terminatormicrosoftcom

Address: 15210416

> server aroot-serversnet--Query a root name server

Default Server: aroot-serversnet

Address: 1984104

> set norecurse --Instruct the server to answer out of

> set type=ns --its own data and to look for NS records

> 249249192in-addrarpa --for 249249192in-addrarpa

Server: aroot-serversnet

Address: 1984104

aroot-serversnet can't find 249249192in-addrarpa

: Non-existent domain

从这里可以清楚地看出尚未添加委派。你可以耐心地等待,如果在向父级区域请求委派后等待的时间太长,你可以与父级区域的管理员联系,问他们是怎么回事。

6.子域委派不正确

子域委派不正确是 Internet 上另一个常见的问题。让委派保持最新需要人的参与 - 将你对你的一组权威性名称服务器作的更改通知父级区域的管理员。因此,委派信息往往会由于管理员作更改时不将此情况通知他们的父级管理员而变得不准确。有相当多的管理员都认为,建立委派是一劳永逸的事:在建立他们的区域时,他们让父级管理员知道哪些名称服务器是权威性的,然后就再也不与父级管理员沟通此事了。他们甚至在母亲节也不知道打个电话。一名管理员可能会添加一个新的名称服务器,撤下另一个,又改变了某一个名称服务器的 IP 地址,而这一切都可能不让父级区域的管理员知道。久而久之,由父级区域正确委派的名称服务器的数目就会变少。在这种情况下,最好的结局是名称解析时间延长,因为进行查询的名称服务器要费尽周折去查找该区域的权威性名称服务器。如果委派信息严重过时而最后一个权威性名称服务器主机被停机维修,那么就无法访问到该区域中的信息。如果你怀疑有委派错误,不管是从你的父级到你的区域,从你的区域到你的一个子级,还是从一个远程区域到该区域的一个子级,你都可以用 nslookup 来检查:

C:\> nslookup

Default Server: terminatormicrosoftcom

Address: 15210416

> server agtld-serversnet --Set server to the parent name

--server you suspect has bad delegation

Default Server: agtld-serversnet

Address: 1984104

> set type=ns --Look for NS records

> microsoftcom --for the zone in question

Server: agtld-serversnet

Address: 1984104

Non-authoritative answer:

……

RELAYMICROSOFTCOM internet address = 152551522

HPLABSHPLMICROSOFTCOM internet address = 1525517647

NNSCNSFNET internet address = 128891178

HPSDLOSDDMICROSOFTCOM internet address = 1525516064

HPSDLOSDDMICROSOFTCOM internet address = 152611211

假如你怀疑到 hpsdlosddmicrosoftcom 的委派不正确,你可以在 hpsdlo 区域查询 microsoftcom 中的数据,并检查返回的结果:

> server hpsdlosddmicrosoftcom

Default Server: hpsdlosddmicrosoftcom

Addresses: 1525516064, 152611211

> set norecurse

> set type=soa

> microsoftcom

Server: hpsdlosddmicrosoftcom

Addresses: 1525516064, 152611211

Non-authoritative answer:

……

expire = 604800 (7 days)

minimum ttl = 86400 (1 day)

Authoritative answers can be found from:

……

RELAYMICROSOFTCOM internet address = 152551522

HPLABSHPLMICROSOFTCOM internet address = 1525517647

NNSCNSFNET internet address = 128891178

共享上网实现的方法

共享上网其中最主要的功能,是针对内部已经实现联网的企业,让所有联网的电脑一起共享上网帐号和线路,既满足工作需要又大幅度节约经费,也许有人会问,如果用56K拨号上网,几个人用一条电话线上网会不会慢呢?答案是并不是绝对的,其实一个人用一条电话线上网浪费了不少资源,例如当您在阅读网页的时候,其实线路是很空闲的。还有,当您访问一些比较慢的网站,线路传输的速度远远达不到MODEM的连接速度。所以完全不必担心,如果使用ADSL等宽带连接的话那么即使多人共用一条线路也会比独立的56K拨号要来的快。

要实现共享上网首先必须了解是否具备了实现的条件。首先计算机是少不了的,并且所有的计算机必须已经联网,即局域网正常工作,通常还需要局域网各台电脑安装好了TCP/IP网络协议,其次是一条连接互联网的线路,56K或者ISDN拨号,ADSL均可,通常拨号和ADSL性价比较好。另外就是该线路的连接设备(MODEM,ISDN TA 等)也需要准备好,局域网中一台电脑通过该线路能够正常上网。共享上网从技术实现角度来说分为:硬件共享上网和软件共享上网。

硬件共享上网:通常使用共享上网路由器,该类设备通常除具有共享上网的功能外,还具有HUB的功能。它们通过内置的硬件芯片来完成互联网和局域网之间数据包的交换管理,实质也就是在芯片中固化了共享上网软件,当然功能强大的大型路由器不在此列。由于是硬件工作不依赖于操作系统所以稳定性较好,但是可更新性相对软件显得差一些,并且需要另外投资购买,据笔者了解,一般的共享上网路由器也就2000元上下,花销也不是很大。

软件共享上网:软件共享上网就是在办公室局域网中的一台具有互联网连接线路的计算机上安装共享上网软件后实现整个局域网的共享Internet。软件共享上网的优势在于花费低廉,并且有些共享上网软件甚至是免费的,而且软件更新较快,可以比较快的适应互联网新的接入技术和应用协议,缺点就是需要专门使用一台电脑来作为共享上网服务器,为其他计算机提供上网能力,并且这台电脑的性能不能太低,另外它依赖于操作系统,是一个标准的应用程序所以稳定性相对硬件方式略差。 无论是软件还是硬件方式其工作原理都是把局域网内部的网络请求做转换处理以后从连接互联网的线路发送到互联网,然后把从互联网接收到的数据在处理以后发送到发出该请求的内部计算机上,其基本的网络结构如下图所示。

由于软件方式只需要在现有办公室局域网上增加一个软件,不需要额外的资金投入,所以目前是主流的共享上网方式。

代理软件的分类

软件方式用于共享上网的软件目前分为两个大的类别,分别是Proxy代理服务器类型和 NAT网络地址转换型,其中NAT网络地址转换型通常也称为网关型。

代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息。它就好比是网络信息的中转站。在一般情况下,我们使用网络浏览器直接去连接其他Internet站点取得网络信息时,都是送出请求信号,然后对方再把所请求的信息传送回来。

代理服务器是介于客户机网络应用程序和Internet相应服务器之间的一台服务器。例如客户机是浏览器则Internet上就是Web服务器做响应,有了代理服务器之后,浏览器不是直接到Web服务器去取回网页而是向代理服务器发出请求,请求信号会先送到代理服务器,由代理服务器向Web服务器来取回浏览器所需要的信息并传送给你的浏览器。而且,大部分代理服务器都具有缓存的功能,它有很大的存储空间,它不断将新取得数据储存到本机的存储器上,如果浏览器所请求的数据在本机的存储器上已经存在而且是最新的,那么它就不从Web服务器取得数据,而直接将存储器上的数据传送给用户的浏览器,这样就能显著提高浏览速度和效率。由于互联网存在多种应用协议 Web,FTP,POP3等所以代理服务器一般都具有同时支持多种应用的能力。

局域网使用代理服务器方式具有以下几个有点:代理服务器具有缓存功能可以加快对网络的访问速度,由于代理服务器对每一种网络应用都是独立进行代理工作,所以对用户具有很强的控制管理能力,但是这同时也是代理服务器方式的缺点,对新出现的网络应用无法支持,对每一种网络应用都需要进行正确的配置,每个客户端的每种网络应用软件都需要进行配置。

NAT是Network Address Translation的缩写,采用网络地址转换技术,局域网内部的"非法互联网IP地址"通过NAT 可以转化成"合法互联网IP地址",实现对外界网络如Internet的合法访问。NAT的实质其实可以这样理解,就是一个在数据包底层的Proxy代理,它不再单独为每一种互联网应用协议例如http,ftp,telnet做代理工作,它作的是每个TCP/IP数据包的代理。

采用地址转换技术,NAT将内部客户机发出的每一个IP数据包地址进行检查和翻译,把包内的请求端IP地址数据纪录并重新打包成合法的互联网外部IP地址发送到互联网。然后NAT把由互联网获得的数据包根据请求端纪录把目的IP地址在数据包内部进行重组,使其转换为局域网客户端的IP地址然后发送到客户端。

NAT共享上网的优势在于内部的机器只需要设置共享服务器的地址为客户端机器的网关,服务软件就完成所有转换工作,客户端就好像一台具有真正连接互联网能力的机器一样,由于NAT针对每一个数据包转换,也就不存在不同网络应用协议的需要分别代理和处理的问题,用户不需要考虑根据每一种网络应用程序进行连接代理的配置工作,使用起来无拘无束。所以有时叫它"透明代理"。NAT由于其全透明,全底层的工作方式,所以对客户机所使用的网络应用程序在控制管理能力上比Proxy类型就差了一些,但是随着开发公司对IP数据包研究的加深,控制管理能力也在逐步增强,现在的NAT共享上网软件控制管理能力比刚出来的时候已经强大了很多。 无论是使用Proxy还是NAT类型共享上网还有一个好处是具有防火墙功能,当外界主动连接局域网的时候,由于局域网对外只具有一个合法IP地址,外界连接的只是用于共享上网的那台代理服务器,内部其他的客户机是无法访问的,无法访问当然也就无法入侵。所以比较各台计算机独立上网方式,共享上网大大提高了计算机的数据安全。

目前局域网共享上网所使用软件有很多,下面我们就按照工作方式分给大家介绍一些,方便大家工作中选用,以下介绍的软件都可以运行于Windows 9x,NT和Windows 2000作为共享上网服务器。

一)Proxy类型:

1 WinGate:老牌Proxy类型共享上网软件,由于NAT灵活透明,现在已经在原Proxy服务功能上加入了NAT功能,支持更多网络软件,目前最新版本为43,现有的网络应用协议都能支持,支持Modems, T1-T3, DSL, Cable, ISDN等多种互联网连接方式。可以到 wwwwingatecom下载最新版本。

2 Winproxy: 由ositis软件公司开发的标准Proxy型代理软件,支持绝大部分现有的网络应用协议,例如HTTP,FTP,POP3,Socks4,Socks5等。并且还具有网络病毒监测能力,阻止外界计算机病毒的入侵,管理控制能力很强,其最新版本也加入了NAT功能以便支持更多的互联网应用协议。下载网址:wwwositiscom 。

3 AnalogX Proxy :支持FTP、HTTP、HTTPS、POP3、NNTP、SMTP多种协议的Proxy类型代理服务器软件,下载地址wwwanalogxcom l CProxy Server:支持多种协议,提供病毒扫描,网站和内容过滤,快速缓存等。下载网址:wwwcomputalynxnet。

二)NAT 类型:

1 WinrRoute:功能超强,具有软件路由器的美名,支持各种协议和联网方式,能够提供外界访问内部web,mail等服务器的路由功能,管理控制能力在NAT类型的共享上网服务软件中也很强。同时也带有Proxy服务和缓存加速,SMTP等功能。下载网址是:wwwtinysoftwarecom 。

2 Sygate:著名的NAT共享上网软件,支持所有网络应用协议,支持各种联网方式,其Office专业版还可以控制每个客户端使用的网络带宽,用的更多的是Home版本,设置使用简单方便,控制管理能力弱些。下载网址是:wwwsygatecom 。

3 Internet GateWay Server:Vicom开发的NAT服务软件,支持多种网络协议和连接方式,最具特色的是自带PPPoE协议,直接支持ADSL的虚拟拨号上网而不需要安装 PPPoE软件,带有流量显示图可及时掌握带宽使用情况。下载网址:wwwvicomsoftcom 。

4 Windows 2000 & Windows 98se/me 自带的ICS(Internet Connection Share),这也是一套NAT类型的共享上网软件,安装以上版本的Windows以后就可以添加该组件实现共享上网,但是功能比较简单,管理控制能力几乎没有,与ADSL配合问题较多。

5 iShare:一套全傻瓜和特殊的NAT软件,通过局域网的IPX协议来进行转换,只需要在服务端和客户端安装以后不需要设置即可工作,控制管理能力一般。下载网址:wwwartisoftcom 。

参考资料:

http://wwwsdsongcom/project/usershtm

aspnet如何设置浏览器客户端缓存

1。过期时间:过期时间

这意味着浏览器缓存在指定时间后失败。需要注意的是,这里的到期时间必须是HTTP格式的日期和时间,其余的将被解释为当前时间的“之前”。缓存将立即过期,HTTP中的日期和时间必须是格林威治标准时间(GMT)而不是当地时间。示例:

使用Expires的过期必须要求服务器的时间正确,否则发送的http头会有问题。在windows服务下,您可以设置时间服务器来同步时间。

2缓存控制:

Cache-control直译成中文就是缓存控制,它的作用就是缓存控制。这个http头有几个值。

1)max-age=[秒]—

执行缓存被视为最新的最长时间。与过期时间类似,该参数基于请求时间的相对时间间隔,而不是绝对过期时间。秒

什么是一个串联网络?

多条风路依次连接起来的网络,seriesventilationnet两条或两条以上的巷道循序地首尾相连接在一起、中间不分岔的通风网路。

多条风路依次连接起来的网络。

seriesventilationnet两条或两条以上的巷道循序地首尾相连接在一起、中间不分岔的通风网路。串联通风网路总风阻大,等级孔小,通风困难;网路中各条巷道中的风量不能调节,前面工作面所产生的炮烟、矿尘能直接影响后边工作面,一旦发生火灾就不易控制。应尽量避免采用串联通风网路,否则应采取相应措施

ASP、ASPNET、PHP、JSP四种语言的特点及区别是什么?

ASP,全称为ActiveServerPages

ASP是微软(Microsoft)所开发的一种后台脚本语言,它的语法和VisualBASIC类似,可以像SSI(ServerSideInclude)那样把后台脚本代码内嵌到HTML页面中。虽然ASP简单易用,但是它自身存在着许多缺陷,最重要的就是安全性问题。目前在微软的net战略中新推出的ASPnet借鉴了Java技术的优点,使用CSharp(C#)语言作为ASPnet的推荐语言,同时改进了以前ASP的安全性差等缺点。但是,使用ASP/ASPnet仍有一定的局限性,因为从某种角度来说它们只能在微软的WindowsNT/2000/XP+IIS的服务器平台上良好运行(虽然像ChilliSoft提供了在UNIX/Linux上运行ASP的解决方案,但是目前ASP在UNIX/Linux上的应用可以说几乎为0)。所以平台的局限性和ASP自身的安全性限制了ASP的广泛应用。

ASP在执行的时候,是由IIS调用程序引擎,解释执行嵌在HTML中的ASP代码,最终将结果和原来的HTML一同送往客户端。

PHP,全称为PHP:HypertextPreprocessor

PHP的全名非常有趣,它是一个巢状的缩写名称——“PHP:HypertextPreprocessor”,打开缩写还是缩写。PHP是一种HTML内嵌式的语言(就像上面讲的ASP那样)。而PHP独特的语法混合了C,Java,Perl以及PHP式的新语法。它可以比CGI或者Perl更快速地执行动态网页。

PHP的源代码完全公开,在OpenSource意识抬头的今天,它更是这方面的中流砥柱。不断地有新的函数库加入,以及不停地更新,使得PHP无论在UNIX或是Win32的平台上都可以有更多新的功能。它提供丰富的函数,使得在程式设计方面有着更好的资源。目前PHP的最新版本为411,它可以在Win32以及UNIX/Linux等几乎所有的平台上良好工作。PHP在40版后使用了全新的Zend引擎,其在最佳化之后的效率,比较传统CGI或者ASP等技术有了更好的表现。

平台无关性是PHP的最大优点,但是在优点的背后,还是有一些小小的缺点的。如果在PHP中不使用ODBC,而用其自带的数据库函数(这样的效率要比使用ODBC高)来连接数据库的话,使用不同的数据库,PHP的函数名不能统一。这样,使得程序的移植变得有些麻烦。不过,作为目前应用最为广泛的一种后台语言,PHP的优点还是异常明显的。

JSP,全称为JavaServerPages/Servlet

JSP和Servlet要放在一起讲,是因为它们都是Sun公司的J2EE(Java2platformEnterpriseEdition)应用体系中的一部分。

Servlet的形式和前面讲的CGI差不多,它是HTML代码和后台程序分开的。它们的启动原理也差不多,都是服务器接到客户端的请求后,进行应答。不同的是,CGI对每个客户请求都打开一个进程(Process),而Servlet却在响应第一个请求的时候被载入,一旦Servlet被载入,便处于已执行状态。对于以后其他用户的请求,它并不打开进程,而是打开一个线程(Thread),将结果发送给客户。由于线程与线程之间可以通过生成自己的父线程(ParentThread)来实现资源共享,这样就减轻了服务器的负担,所以,JavaServlet可以用来做大规模的应用服务。

虽然在形式上JSP和ASP或PHP看上去很相似——都可以被内嵌在HTML代码中。但是,它的执行方式和ASP或PHP完全不同。在JSP被执行的时候,JSP文件被JSP解释器(JSPParser)转换成Servlet代码,然后Servlet代码被Java编译器编译成class字节文件,这样就由生成的Servlet来对客户端应答。所以,JSP可以看做是Servlet的脚本语言(ScriptLanguage)版。

由于JSP/Servlet都是基于Java的,所以它们也有Java语言的最大优点——平台无关性,也就是所谓的“一次编写,随处运行(WORA_WriteOnce,RunAnywhere)”。除了这个优点,JSP/Servlet的效率以及安全性也是相当惊人的。因此,JSP/Servlet虽然在国内目前的应用并不广泛,但是其前途不可限量。

在调试JSP代码时,如果程序出错,JSP服务器会返回出错信息,并在浏览器中显示。这时,由于JSP是先被转换成Servlet后再运行的,所以,浏览器中所显示的代码出错的行数并不是JSP源代码的行数,而是指转换后的Servlet程序代码的行数。这给调试代码带来一定困难。所以,在排除错误时,可以采取分段排除的方法(在可能出错的代码前后输出一些字符串,用字符串是否被输出来确定代码段从哪里开始出错),逐步缩小出错代码段的范围,最终确定错误代码的位置。

JSP和ASP相比较:

运行速度、运行开销、运行平台、扩展性、安全性、函数支持、厂商支持、对XML的支持等等,ASP都不是JSP的对手。COM组件的复杂性实编程实现有一定的难度。而JAVABeans和JAVA的结合却是天衣无缝的。

JSP和ASPNET相比较:

1.相对C#,JSP的脚本语言JAVA也是面向对象的、分布式的、解释的语言。

2.与C#相似JAVA同样去掉了难以理解的指针等概念,取而代之的是类和对象。

3JSP有一项全新的技术——Servlet(服务器端程序)很好的节约了服务器资源。

4.JAVABeans是针对ASPNET的ServerControl的技术。只要会JAVA,JavaBeans就很容易写出。

5.再有就是JAVA的JDBC数据库连接技术。

6.JSP对XML同样有十分广泛的支持。

1)面向对象性:

ASP+将C#作为一种面向对象语言,在很多方面来看,C#将成为微软的与Java相似的语言。

C#另一个有趣的地方是所有对象都自动变成为COM对象。如果C#能取得很大的市场份额,那么它将给ASP+带来类似于Java的功能,并且具备更快的性能,因为它可以和Windows环境紧密集成。

C#是ASP+开发中一个最重要的功能,微软会将C#发展成为Java的强劲对手。这也是他们Net框架的一个重要组成部分。我认为C#是微软在编程市场上击败对手的主要工具。我期待着微软能在这个产品后面倾注全力,这样,C#可以成为许多程序员的又一种选择。C#产生的结果是将进一步加固微软和Sun产品的战线。这对用户是有利的,他们可以选择两者之一来开发新的应用。

2)数据库连接:

ASP另一个亮点是它使用ADO对象,ODBC,OLE-DB和事务处理管理器。因此ASPWeb数据库应用开发特别简单。ASP+发展了更多的功能,因为有了ADO+!ADO+带来了更强大更快速的功能。JSP和JDBC目前在易用性和性能上同ASP/ADO相比已有些落后,当新版本ASP+/ADO+出现后这样的差别会更明显。我个人希望SUN应尽快能花大力气来追赶ASP+/ADO+的组合

3)大型站点应用:

ASP+将对大型站点(webfarms)有更好的支持。事实上,微软在这方面付出了巨大的努力。ASP+可以让你考虑到多服务器(multipleservers)的场合,当你需要更强大的功能时,仅仅只需要增加一台服务器。整个Net框架已经充分地提供了这个方法。ASP+提供了外部会话状态(externalsessionstate)来提供内置式webfarm的支持。另外,由于请求的各组件相互间经过了充分的优化,所以速度很快。

于是ASP+现在可以在大型项目方面与JSP一样具有等同的能力。而ASP+还有价格方面的优势,因为所有的组件将是服务器操作系统的一部分。对于JSP,你需要购买昂贵的应用服务器群来达到同样的目的。

4)ASP+还提供更多的其它方面的新特性,例如:

内置的对象缓存和页面结果缓存。

内置的XML支持,可用于XML数据集的简单处理。

服务器控制提供了更充分的交互式控制。

ASP+确实对ASP进行了较大的发展。

NETFramework主要包括哪些内容详细一点?

它是一个语言开发软件

NETFramework通过COMInterop(COM互操作)技术支持COM+和MTS。一个传统的COM应用程序能够调用一个NET组件,同时NET组件(在NET中称为NETAssembly)也能够调用一个COM组件。这一非常强大的双向互操作特性使你可以在应用程序中混合使用两类技术。

NETFramework是微软的几个开发团队一起努力发展的成果,最主要用来产生一个可以用来快速开发、部署网站服务及应用程序的开发平台。这个架构是两个项目的结果:第一个项目的目的是用来改善Windows作业平台上的程序开发,特别是改善COM(ComponentObjectModel,组件对象模块。一种微软所制定的软件技术;让对象的功能可以被其它软件所叫用,可以让组件重复使用、容易更新及维护);第二个项目则是制作一个以发展服务(Service)软件为目标的开发平台。这两个项目团队三年多前就已经在一起工作,他们希望可以发展出一种可以快速开发出以因特网为基础,而且易学易用的开发平台。

目前的安全问题

在今天的软件环境中,应用程序的来源很多,它们执行很多任务。对应用程序代码的信任是一个主要需求,因为我们谁也不想软件或信息遭到破坏。给予许可的安全策略不会允许对敏感信息的不适当的访问,或将本地机器暴露给恶意的程序或甚至是有平常错误的代码。

过去,安全结构提供了基于用户帐号的隔离和访问控制--在这些限制内给予代码完全访问权,并假定由特定用户可运行的代码具有相同的信任度。不幸的是,如果所有程序都代表某用户运行,根据用户对代码的隔离对于保护一个程序不被其它用户使用是不够的。另一种情况,不能被完全信任的代码经常被转移到"沙箱"模型中执行,在此代码运行于隔离环境,而不会访问大部分的服务。

对今天应用程序的成功的安全解决方案必须能强化两个安全模型间的平衡。它必须提供对资源的访问,以便以完成有用的工作,它需要对应用程序的安全性作细致的控制以确保代码被识别,检测,并给予合适的安全级别。NETFramework就提供了一个这样的安全模型。

MicrosoftNETFramework安全解决方案

NETFramework安全解决方案基于管理代码的概念,以及由通用语言运行时(CLR)加强的安全规则。大部分管理代码需要进行验证以确保类型安全及预先定义好的其它属性的行为的安全。例如,在验证的代码中,声明为接收4字节值的访问将拒绝提供8字节参数的调用,因为不是类型安全的。验证过程还确保了执行流只传送到已知的位置,如方法入口点--这个过程去除了跳转到任意位置执行的能力。

验证将阻止不是类型安全的代码执行,在它们引起破坏前捕获很多常见的编程错误。通常的弱点--如缓存溢出,对任意内存或没有初始化的内存的读取,对控件的随意传送--都不再可能出现。这将使最终用户受益,因为在他们执行代码前对其进行检查。这也有益于开发人员,他们会发现很多常见错误(过去一直在困绕前开发)现在可以查明,并能阻止它们引起破坏。

CLR也能使非管理代码运行,但非管理代码不能从这些安全措施中受益。特殊的许可与对非管理代码的调用能力相关,一个强大的安全策略能确保这些许可被恰当地给予。经过很长时间后,非管理代码到管理代码的移植将减少对非管理代码的调用频率。

微软NETFramework安全机制的构件

基于证据的安全

NETFramework引入了"基于证据的安全"的概念。在本质上,它是对安全策略暴露出来问题的解答:

·组合从哪个站点获得?

组合是NETFramework应用程序的构件。它们组成了部署,版本控制,重用,激活作用域,安全认证的基本单元。应用程序的组合是从网站上下载到客户端的。

·组合是从哪个URL获得的?

安全策略需要明确的地址,而组合是从这个地址下载的。

·组合是从哪个区获得的?

区是基于代码的位置,对安全标准,如Internet,intranet和本机等等,的描述。

·组合的强名(strongname)是什么?

强名是由组合的创建者提供了密码强化后的标识符。尽管它没有提供对创建者的任何证明,但它唯一标识了组合,确保了组合没有被破坏过。

根据对这些问题的,及其它证据,安全策略可以对赋予组合垢合适许可进行计算。从多种来源可以得到证据,包括CLR,浏览器,微软ASPNET,及外壳--这依赖于代码的来源。

策略驱动的信任模型使用代码证据

当组合被调入内存进,CLR策略系统通过收集组合的证据并在策略环境中对证据进行计算,从而决定赋予组合什么样的许可权。CLR策略系统然后根据评估过的证据和组合作出的许可请求给予组合一组许可。只有在组合被给予了一组最少的许可后,或组合根本不需要许可权,组合的创建者才能知道组合正确运行。通过一个或多个对特定许可的请求,这样的附加需求可以被传送室策略系统。

根据许可请求的类型,策略系统可以进一步限制给予组合的许可(删除不必要的许可)或甚至拒绝将组合装入内存(如果运行组合所需的最小许可没有被策略给予)。在不存在任何许可请求的情况下,组合永远不会被给予多于策略系统将会给予的许可权限,请求只是进一步限制得到的许可。

安全策略包含了许多代码组,这些组包含了根据证据应给予的许可权。代码组描述的许可可提供给从特定的安全区域获得的组合,或提供给由特定发行商签名过的组合,等等。尽管随CLR发行了一组默认的代码组(及相关许可),但管理员可以对这些CLR安全的进行定置,以适合他们的特殊需求。记住,通过定义与证据相关的代码组,任何东西都可以作为证据提交,只要安全策略可以使用它。

创建许可的的过程涉及到对证据的评估,以确定代码组适用于哪个等级:企业,机器,和用户。策略按上面顺序对这三个等级进行评估,然后创建交插了三个等级的许可设置。管理员可以将任何一个策略等级标记为终结(final),这样做应付阻止在其它等级上对策略做进一步评估。例如,管理员可以在机器级别上对组合终止策略,这样就会阻止用户级策略对该组合的应用。

一旦策略完成,许可的最初设置也就创建了。组合通过从三个方面做出特定的请求可以优化这些许可:

·第一方面是指定为了使组合运行它必须拥有的最小许可设置。如果这些许可没有给予,那么组合将不同调入到内存,并抛出例外。

·第二,可以指定一组可选的许可。尽管组合希望存在这些许可,但如果无法获得这些许可,它仍可以调入到内存。

·最后,行为特别好的组合实际上会拒绝它们所不需的有风险的许可。这三个优化选项是调入时作为声明语句实现的。

在运行时,许可是根据代码的执行计算的。右侧的图总结了这个过程的发生顺序。组合A3将它的证据和来自主机的证据提供给策略评估器。策略评估器在创建许可时也要考虑从组合得到的许可请求,"G3"。组合A3由组合A2调用,而A2又是由组合A1调用的。当组合A3执行一个引发安全检查的操作时,A2和A1获得的许可同样也要进行检查,以确保它们拥有A3所请求的许可权限。在这个过程中,此过程称为堆栈遍历(walking),堆栈中每个组合的许可权限都要进行检查以确定所给予的权限设置是否包含安全检查所需要的许可。如果堆栈中的每个组合被给予了安全检查所需要的许可,调用将成功。如何任何组合没有给予所需要的许可,堆栈遍历过程失败,安全例外将被抛出。

NETFramework调用的"自由"安全性一些活动,如读写文件,显示对话框,读写环境变量,可以通过包含在框架安全构架中的NETFramework方法实现。这就使NETFramework能根据安全策略允许或不允许一个操作,而不需要程序员做额外的工作。尽管暴露了保护资源的管理类的创建者在他们的库中做了明确的安全需求,使用NETFramework类库访问受保护资源的开发人员可以自由地利用代码访问安全系统;他们不必作出明确的安全调用。

管理员可以通过决定给予哪些许可来优化安全策略,然后,依靠NETFramework处理所有的安全操作。代码访问安全能阻止大部分的恶意攻击,对代码的验证减少了缓存溢出和其它会导致安全攻击的不期望的行为。因此,应用程序和组件生来就受到了保护,它们免于大多数安全问题的冲击,而这些安全问题一直困绕着本地代码的实现。

基于角色的安全

有时根据已认证的身份或根据与代码执行上下文相关的角色作出认证决定是合适的。例如,金融和企业软件可以通过评估角色信息的企业逻辑加强策略。根据作出请求的用户角色可以对金融交易的数据进行限制。出纳被允许可以处理一定金额的请求,而多于该金额的所有工作需要监督人的角色来处理。

身份可以映射到登录系统的用户,或由应用程序定义。相应的原则封装了身份和其它相关的角色信息(例如,但并不限于此,用户的"组"由操作系统定义)。

认证和授权

认证是一个过程,它接收来自用户的证书,并对证书的授权进行确认。如果证书是有效的,那么用户就可以说他拥有已认证的身份。而授权的过程是:确定认证用户是否能够访问给定的资源。认证可通过系统或企业逻辑来完成,通过某个API它是或获得的。认证API是完全可扩展的,因此开发人员根据需要使用自己的企业逻辑。开发人员可以对他们的认证需求进行编码,也可以修改底层的认证方法而无需对他们的代码作太大变化。除了微软Windows操作系统身份认证外,还有的认证方法包括基本HTTP,摘要和Kerberos,以及微软Passport和基于窗体的认证。这些认证方法已经完全集成到ASPNET中了。

在ASPNET窗体认证中,用户提供证书,并提交窗体。如果应用程序簦别请求,系统发送一个cookie,该cookie以某种形式包含包含了证书或包含重新获得身份的关键字。接下来发送的请求在头中包含了cookie,ASPNET处理程序通过应用程序所期望的任何有效方法对这些请求认证和授权。如果请求没有经过认证,HTTP客户端将用于把请求发送到认证窗体,在那里用户可能提供信任证书。窗体认证有时用于个性化--为已知用户的内容进行定置。在一些情况下,身份是问题所在而不是认证,因此用户的个性化信息可以简单地通过访问用户或获得。

授权的目的是确定作出请求的身份是否被给予了对给定资源的访问权。ASPNET提供了两种类型的授权服务:文件授权和URL授权。文件授权根据正在作用的方法和作出请求的身份决定用户使用于哪个访问控制列表。URL授权是URI名称空间和不同用户或角色间的逻辑映射。

隔离存储

NETFramework提供了一个特殊的功能,隔离存储,用于存储数据,甚至是当不允许对文件进行访问时--例如,当从Internet下载了一个管理控件,并运行它,为它提供了有限的许可权但没有权力读写文件。

隔离存储是一组新的用于NET支持的用于本地存储的类型和方法。在本质上,每个组合可以访问磁盘上一断被隔离的存储空间。它不允许访问其它数据,隔离存储只对为它创建的组合有效。

隔离存储也可被应用程序用于保存活动记录,保存设置,或者将状态数据保存到磁盘上以备将来之用。因为隔离存储的位置是预先决定好的,所以隔离存储为指定唯一存储空间提供了一种方便的方式,而不需要决定文件路径。

从本地企业局域网获得的代码具有相似的限制,但更少,它可以访问大限额的隔离存储。最后,从受限站点区域(不信任站点)来的代码没有对隔离存储的访问权。

加密

NETFramework提供了一组加密对象,它们支持加密算法、数字签名、散列、生成随机数,是通过众所周知的运算法则实现的,如RSA,DSA,Rijndael/AES,TripleDES,DES,和RC2,以及MD5,SHA1,SHA-256,SHA-384和SHA-512散列算法。同时还支持在IETF和W3C开发的XML数字签名规范。NETFramework使用加密对象支持内部服务。这些对象还作为管理代码提供给需要加密支持的开发人员。

如何指定安全性?

如果要对组合运行时的行为进行修改,根据程序员的需要,可以作出声明式安全或强迫式安全的修改。

声明式安全

声明式安全使程序员可以直接在组合代码的元数据中为组合指定安全需求。许可请求和所有其它形式的声明式安全是在代码中是作为定置属性指定的。类,属性和方法的注释用于优化许可。例如,声明式安全可用于类的调用者在调用方法前检查调用者是否被已知地行商签名过,或有一个特定的强名。

由于声明属性是组合元数据的一部分,所以组合的安全需求易于辨别。可以使用工具对组合进行扫描,以发现哪些方法需要某些许可,哪些方法断言了某些许可。

当被请求的活动和许可在编译时是知道时,声明式检查可作为选择的解决方案之一。例如,如果方法总是检查对C:temp的写访问许可,那么许可检查就会从声明中得到好处。另一方面,如果被请求的具有访问权的位置发生了变化,那么强迫式安全也许是一个比较好的解决方案。

强迫式安全

强迫式安全直接在代码中实现。程序员

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 我想请问一下一个搜索网站的问题..

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情