问一个很弱的问题,ASP的脚本可以在服务器和客户端执行,请问有什么利弊和不同?请专业人士赐教!谢谢!

问一个很弱的问题,ASP的脚本可以在服务器和客户端执行,请问有什么利弊和不同?请专业人士赐教!谢谢!,第1张

服务器脚本很简单,它是应于提交和处理表单,实现动态内容而出现的。想象一下一个中型网站大约有几千个链接地址,你总不能为每一个地址增加一个页面吧。于是服务器脚本从底层抽象出逻辑,把框架相同但是内容不同的页面综合。最重要的是将逻辑处理与数据分开。于是,多个用户提交一个请求,大家享用了共同的逻辑处理方式,但是因为我提交的表单不一样,相应处理也会不同,于是返回内容也就不同。
客户端脚本,对应有 javascript,perl等等。
其实客户端脚本从javascript才有着重强调过,尤其是ajax技术的出现,让客户端被重视起来。
很明显,服务器的数据都是存放在数据库中的,每一次查询都是需要数据库的链接,往往数据库链接比数据库查询更加费时。为了避免这种情况,网页设计者可以将简单的逻辑抽象出来,比如一次性读入整体的数据,然后将数据存入客户端(浏览器)的进程当中,这样下次就不用重新建立链接,我可以从自己机子上得到数据。根本不需要服务器频繁通信。客户端脚本的目的很明显,既避免了重复冗余的链接,有能缓解服务器的压力(你不用要求服务器多次查询数据库)。
区别
服务器脚本运行于服务器之上,你永远看不到服务器脚本的内容,得到的只有脚本解释器发回的HTML代码,浏览器对它照盘接收。
客户端脚本脱离服务器运行,不直接执行数据库 *** 作。它实现了客户端上的简单逻辑。
Ajax技术让客户端脚本变的另类且强大,它让客户端语言将数据库 *** 作封装起来,允许用户在一个界面实现完全分离的数据库 *** 作请求。

#!/bin/bash
tmptty=`tty`
tmptty=`basename $tmptty`
tmpname=`whoami`
ip="xxx" #目标主机地址
inp1="xxx^M" #主机的用户名,,注意必须有^M
inp2="xxx^M" #主机的密码,注意必须有^M
inp3="ls^M"
inp4="pwd^M"
inputfile=in
outputfile=outlog
rm -fr $inputfile
rm -fr $outputfile
mknod $inputfile p
touch $outputfile
#file description 7 for out and 8 for in
exec 7<>$outputfile
exec 8<>$inputfile
telnet $ip <&8 >&7 &
sleep 2; echo $inp1 >> $inputfile
sleep 2; echo $inp2 >> $inputfile
sleep 2; echo $inp3 >> $inputfile
sleep 2; echo $inp4 >> $inputfile
tail -f $outputfile &
while true
do
read str
if [[ $str = "quit" || $str = "exit" ]]
then echo $str >> $inputfile exit
else echo $str >> $inputfile
fi
done
ps -ef | grep telnet | grep -v grep | grep -v telnetd | grep $tmptty | grep $tmpname | awk '{print " kill -9", $2}' | sh
ps -ef | grep tail | grep -v grep | grep -v telnetd | grep $tmptty | grep $tmpname | awk '{print " kill -9", $2}' | sh

Linux运行sql脚本的具体 *** 作步骤如下:

1、使用shell工具登陆到安装postgresql的服务器,切换到postgres用户,postgresql默认的 *** 作用户,命令是:su - postgres,查看当前路径是/var/lib/psql,创建一个testsql脚本文件,命令是:vim testsql。

2、sql脚本内容是:create table test (id int not null primary key,name text);insert into test valus(1, 't1');

3、执行testsql脚本,命令是:psql -f testsql

这里是因为postgresql安装本机上,在第一步中我们切换到了postgres用户,因此这里默认就是postgres用户来 *** 作,不用带上用户名和密码。执行结果如下,可以看到有两个提示:

create table

insert 0 1

执行完成后,我们登入数据库,命令是:psql

4、进入psql交互式命令行后,我们执行两个查看命令:\d

可以看到表test确实已经创建成功,然后执行命令:\d test

可以看到表中字段是id和name,和我们创建语句中内容一样,说明第一条语句执行成功。

5、查看表中数据,命令是:select from test;

显示出来的值是1,t1,说明第二条执行语句也执行成功,说明testsql脚本执行成功。

6、默认是postgres用户,本机 *** 作是,不需要用户和密码,现在我们来试试 *** 作远程linux服务器上的postgresql,也就是说执行本地的脚本文件,在远程服务器上创建表。如下面图中所示,命令是:psql -U test1 -h 1921681194 -f testsql,输入对应用户的密码。

7、登陆到这个远程服务器上,命令是:psql -U test -h 192168194

执行查看命令:\d,\d test

最后查询数据库:select from test;结果和上面都一致。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/12808685.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-28
下一篇 2023-05-28

发表评论

登录后才能评论

评论列表(0条)

保存