服务器端脚本语言和客户端脚本语言
转自网易--Jenna
(一)常见的服务器端脚本语言,php,jsp,asp。
像我们普通浏览网页基于一种BS模式,其实它也只是一种统一于Browser(浏览器)的CS模式。我们的浏览器作为客户端,在点击链接或者输入地址时,向目的主机发送HTML,FTP等等服务请求,然后目的主机根据请求类型,请求内容给予响应。这种万变不离其宗的服务形式普遍存在于所有的网络通信模式中。
服务器脚本很简单,它是应于提交和处理表单,实现动态内容而出现的。想象一下一个中型网站大约有几千个链接地址,你总不能为每一个地址增加一个页面吧。于是服务器脚本从底层抽象出逻辑,把框架相同但是内容不同的页面综合。最重要的是将逻辑处理与数据分开。于是,多个用户提交一个请求,大家享用了共同的逻辑处理方式,但是因为我提交的表单不一样,相应处理也会不同,于是返回内容也就不同。
(二)客户端脚本,对应有 javascript,perl等等。
其实客户端脚本从javascript才有着重强调过,尤其是ajax技术的出现,让客户端被重视起来。
很明显,服务器的数据都是存放在数据库中的,每一次查询都是需要数据库的链接,往往数据库链接比数据库查询更加费时。为了避免这种情况,网页设计者可以将简单的逻辑抽象出来,比如一次性读入整体的数据,然后将数据存入客户端(浏览器)的进程当中,这样下次就不用重新建立链接,我可以从自己机子上得到数据。根本不需要服务器频繁通信。客户端脚本的目的很明显,既避免了重复冗余的链接,有能缓解服务器的压力(你不用要求服务器多次查询数据库)。
(三)区别
服务器脚本运行于服务器之上,你永远看不到服务器脚本的内容,得到的只有脚本解释器发回的HTML代码,浏览器对它照盘接收。
客户端脚本脱离服务器运行,不直接执行数据库操作。它实现了客户端上的简单逻辑。
Ajax技术让客户端脚本变的另类且强大,它让客户端语言将数据库操作封装起来,允许用户在一个界面实现完全分离的数据库操作请求。
服务器端脚本语言和客户端脚本语言相关推荐
- 为什么说JavaScript是一种客户端脚本语言?
因为它运行于客户端 而不是运行于服务器端 还有就是JS是解释执行的而且它的功能并不像JAVA .NET 等等语言有那么强大的功能,而且在语法的严谨度上安全性上,性能上,等等...各方面也有较大区别,所 ...
- ECMAScript:客户端脚本语言的标准
* ECMAScript:客户端脚本语言的标准1. 基本语法:1. 与html结合方式1. 内部JS:* 定义<script>,标签体内容就是js代码2. 外部JS* 定义<scri ...
- 《客户端脚本语言-JavaScript》
前言: 在之前学习的项目中接触过JavaScript,并且在参与的积分系统中也有涉略.但对于其的认识是碎片化的,通过此<北风网李炎恢视频>的学习,对于JavaScript有了一个较为系统的 ...
- JavaScript客户端脚本语言的应用
1.使用HTML中的表单.表格以及JavaScript客户端脚本语言实现如下图所示的简易计算器页面 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1 ...
- 服务器端脚本和客户端脚本
(一)脚本.脚本语言 脚本(Script)是使用一种特定描述性语言.依据一定的格式编写的可执行文件,又称作宏或批处理文件.通俗地讲,其实脚本是由一系列的bind和alias等命令的集合,如同一般的程序 ...
- Lua移植到arm上 并实现在arm上 可以让lua脚本调c语言,C语言调用lua脚本
Lua移植到arm上 并实现在arm上 可以让lua脚本调c语言,C语言调用lua脚本 首先参考http://wiki.chumby.com/index.php?title=Lua&print ...
- 揭秘!用标准Go语言能写脚本吗?
导语 | Go作为一种编译型语言,经常用于实现后台服务的开发.由于Go初始的开发大佬都是C的老牌使用者,因此Go中保留了不少C的编程习惯和思想,这对C/C++ 和PHP开发者来说非常有吸引力.作为编译 ...
- 汇编语言、高级语言(系统语言)、脚本语言的异同
汇编语言.高级语言(系统语言).脚本语言的异同 高级语言主要指需要编译的语言.如C/C++,Java,C#.脚本语言主要指解释型语言,编写的代码无需编译器编译,直接使用解释器放入虚拟机执行. 高级语言 ...
- 什么是脚本语言,shell脚本又是什么?
脚本语言就是解释型语言: 脚本语言(Script language,scripting language,scripting programming language)是为了缩短传统的编写-编译-链接 ...
最新文章
- HTML的标签描述2
- NotePad++列编辑
- IOS委托设计模式(摘自IOS开发指南)
- python求n项多项式的和_Python:创建n次多项式
- socket-tcp 、udp、rawIP
- Taylor Swift -《Fearless》
- window tool
- php手机电子相册,免费电子相册制作软件 手机电子相册制作软件
- ZeroC IceGrid介绍及demo构建(使用IceBox)
- JavaScript — json文件的读取与写入
- 人工晶状体在线公式A常数优化——多线程
- ubuntu如何打拼音
- 连续,可积,存在原函数,变上限积分
- Ubuntu 14.04 卸载搜狗拼音输入法及后续问题解决
- java泛型笔记2--上界通配符
- 机器学习中的小数学知识
- unity-shader-ShaderGraph可视化shader
- 卡尔曼滤波器简介——多维卡尔曼滤波
- 电子商务商城系统开发方案:中大型交易类电商网站架构设计
- 货物崇拜和货物崇拜编程
热门文章
- logic原理图板框制作
- 【202106小白训练营】day03-java数据结构
- request to https://registry.npm.taobao.org/jsprim failed, reason: connect ETIMEDOUT 错误解决方案
- 插值、拟合、线性和非线性的区别
- 基于javaweb的二手自行车商城系统(java+jsp+javascript+servlet+mysql)
- 机器学习之为什么要数据预处理?如何预处理数据?
- 报错Caused by: java.lang.IllegalStateException: duplicate key: spring
- 搭建大型分布式服务(十四)SpringBoot整合dubbo starter
- 2021-9-23 base64学习
- 100内奇数之和流程图_2019版路基工程清包工参考价+19种路基常用施工流程图