您现在的位置是:休闲 >>正文
asp是动态还是静态
休闲9353人已围观
简介ASP是动态的。这事儿没多少讨论余地,但总有人被“ASP”这三个字母唬住,以为它跟HTML一样是写死了的静态页面。我见过一个刚入行的前端,拿着个.asp文件问我:“这玩意儿打开怎么全是代码,浏览器里啥 ...
ASP是态还动态的。这事儿没多少讨论余地,静态但总有人被“ASP”这三个字母唬住,态还以为它跟HTML一样是静态写死了的静态页面。我见过一个刚入行的态还前端,拿着个.asp文件问我:“这玩意儿打开怎么全是静态代码,浏览器里啥也不显示?态还”他以为ASP文件双击就能像HTML那样直接跑起来。这就是静态混淆的起点。
ASP全称Active Server Pages,态还关键词在“Server”。静态它压根不是态还给浏览器直接解析的东西。你访问一个.asp页面,静态浏览器发请求到IIS(Windows那套服务器),态还IIS把文件交给ASP引擎,静态引擎从头到尾执行一遍里面的态还VBScript或JScript代码,该查数据库查数据库,该算逻辑算逻辑,最后把<% %>里的东西全部替换成纯HTML,再把结果吐回浏览器。浏览器拿到的那坨东西,跟静态HTML长得一模一样。但生成过程是动态的——每次请求都可能不一样。
我2003年做过一个企业内网的小系统,用的就是经典ASP。有个页面叫showOrder.asp,接收一个URL参数orderID,然后去Access数据库里捞对应的订单记录,循环输出到一个表格里。同一个showOrder.asp,传1就显示张三的订单,传2就显示李四的。文件本身没变,但输出变了。这就是动态。如果换成静态HTML,你得给每个订单手写一个HTML文件,一千个订单就一千个文件,改个表头要改一千次。ASP干的事就是让服务器在运行时拼出这些页面。
有人抬杠说:“那PHP、JSP不也这样吗?凭什么单说ASP?”对,它们都是动态网页技术。但ASP的“动态”还有一层更具体的含义:它支持服务器端脚本直接嵌入HTML。你打开一个.asp文件,会看到这样的结构:
<html> <body> <% For i = 1 To 5 %> <p>这是第 <%= i %> 段</p> <% Next %> </body> </html> 那对<% %>标签就是动态的开关。服务器看到它们就执行,看不到就原样输出。浏览器永远看不到这些标签,它只看到五个<p>。你右键查看源代码,里面干干净净,没有一行ASP代码。这就是动态的痕迹被抹掉了。
另一个容易搞混的点:ASP文件的后缀是.asp,但你可以把纯HTML代码写进去,一点脚本都不加。这时候它跑起来跟静态页没区别。但技术分类不看你写了什么,看的是文件类型和服务器怎么处理它。IIS遇到.asp就调ASP引擎,遇到.html就丢出去。哪怕你写了个空的.asp,它也是动态页面——因为处理路径不同,开销也不同。静态HTML服务器直接读文件发走,ASP要过一遍引擎,哪怕脚本只有一行。
我见过有人把.asp文件改成.html,结果里面的<% %>代码全被浏览器当注释或乱码显示了。反过来,把.html改成.asp,只要服务器装了ASP,照样能跑,但没必要——纯静态内容走ASP是浪费CPU。这就像你开跑车去买菜,能到,但费油。
现在ASP(经典ASP)基本被ASP.NET取代了。但老系统里还大量存在。判断一个页面是动态还是静态,别光看后缀,看行为:刷新一下,内容变不变?带不同参数,结果一样吗?如果变了,就是动态。ASP属于后者。它从来不是静态的,只是它生成的最终产物看起来像静态的。这层伪装骗过不少人。
Tags:
上一篇:玩转女上司漫画免费渗透测试
下一篇:做网站需要服务器吗
相关文章
ftp网站怎么打开
休闲我见过太多人卡在第一步:浏览器地址栏里敲下ftp://,回车,然后盯着空白页面发呆。这不是你的错,是浏览器早把FTP支持砍得七零八落了。Chrome从2012年起就不直接支持FTP协议,Firefox ...
【休闲】
阅读更多在线问诊免费咨询平台
休闲凌晨两点,孩子发烧到39度2,家里退烧药过期了。去医院急诊?光排队就得三小时。我打开手机,点进某平台的在线问诊,选了“儿科”,付了15块钱,三分钟后一个头像亮起来,对方说:“先物理降温,退烧药可以买对 ...
【休闲】
阅读更多缅北视频百度网盘
休闲打开百度网盘,搜索“缅北”两个字,跳出来的结果能吓你一跳。不是几个,是成百上千个文件夹,名字一个比一个刺激——“缅北真实记录”“亨利集团内部视频”“kk园区实拍”。点进去,有的已经失效,有的还在,视频 ...
【休闲】
阅读更多