WEB开发名词

互联网发展迅速,WEB开发渗透进了各个产品,我并没有做过WEB开发,但为了满足下虚荣心和好奇心,自己查找了下一些WEB经常见到的名词。当然大部分都是个人揣摩YY,想当然,等将来接触深了再逐步改进。

一、

W3C : World Wide Web Consortium ,万维网联盟。W3C于1994年10月在麻省理工学院计算机科学实验室成立。创建者是万维网的发明者Tim Berners-Lee。专门致力于创建Web相关技术标准并促进Web向更深、更广发展的国际组织。

个人理解:一个指定WEB相关标准的组织,国外这种非赢利的技术组织真多。

W3C制定了以下标准:

1 结构:      

GML的重要概念:文件中能够明确的将标示与内容区隔;所有文件的标签使用方法均一致。SGML: Standard Generalized MarkupLanguage,标准通用标记语言。ANSI对GML的整理,

HTML: HyperText Markup Language,超文本置标语言。

XML  : Extensible Markup Language,可扩展标记语言,它与HTML一样,都是SGML。XML目的即在于提供一个对信息能够做精准描述的机制,藉以弥补 HTML 太过于表现导向的特质。特点:言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而 这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。

个人理解:HTML/XML文件打开一看全部都是<>标签,层层包含,世界上很多数据都喜欢被人们层层分类,逻辑上都是树状结构,所以选用 HTML/XML传递数据能让接收者很好的理解数据的逻辑结构。

2 表现

CSS:Cascading Style Sheets 层叠样式表,CSS语言是一种标记语言,它不需要编译,可以直接由浏览器执行。

个人理解:这年头什么都得抽丝剥茧,抽象成概念上的层次和机构,表现和内容就得分离,将设计部分剥离出来放在一个独立样式文件中,HTML文件中只存放文本信息。这样的页面对搜索引擎更加友好。

3.行为

DOM 是一种与浏览器,平台,语言无关的接口,使得你可以访问页面其他的标准组件。

个人理解:本人曾经被迫用C++解析一个XML文件以多叉树的结构保存到内存并 作一些简单操作,一天下来白了不下10根头发。一句话:处理HTML/XML文件中的数据。

二、

C/S:Client/Server,客户/服务器模式。

B/S:Brower/Server,浏览/服务器模式。

个人理解:Client应该就是俗称的桌面应用程序一种拉,Brower就是WEB浏览器了。C/S大部分数据处理都在客户端完成,比如反恐精英,基本数据在客户端这边处理,尽量使用客户端的硬件资源而减少服务器的压力,而服务器做少量转发、操作公共数据的工作。B/S则相反,比如ERP,把浏览者的行为发给服务器,服务器做完数据处理工作后发给浏览器,浏览器再将发过来的响应数据反馈给浏览者。

 

Web Server,网络服务器。

Application Server,应用服务器。

网上摘抄:Web服务器传送(serves)页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序可以调用(call)的方法(methods)。确切一点,你可以说:Web服务器专门处理HTTP请求(request),但是应用程序服务器是通过很多协议来为应用程序提供(serves)商业逻辑(business logic)。目前使用最多的web server服务器软件有两个:微软的信息服务器(iis),和Apache。还有IBM WebSphere和BEA WebLogic等。

个人理解:我还真的是看不太明白。。。。

 

APACHE:它源于NCSAhttpd服务器,当NCSA WWW服务器项目停止后,那些使用NCSA WWW服务器的人们开始交换用于此服务器的补丁,这也是apache名称的由来(pache 补丁)。开源、跨平台、市场占有率高,效率不错,但是只支持静态网页。

Tomcat : 是APACHE基金的开源项目,是根据servlet和JSP规范进行执行的,Servlet和JSP能根据实时需要,产生动态网页内容。

个人理解: APACHE是C写的,运行效率高,Tomcat 用java语言编写,效率不如APACHEC,所以很多人这样组合,一个现实的网站使用一个Apache作为Web服务器,为网站的静态页面请求提供服务;并使用Tomcat服务器作为一个Servlet/JSP插件,显示网站的动态页面。

 

 

CGI

CGI全称是“公共网关接口”(Common Gateway Interface),可以让客户端通过web服务器进程同服务器上的其它进程通信,CGI定义了客户端和这个程序之间传输数据的标准。

客户端向web服务器发送一个数据请求。web服务器(或者CGI管理进程,维护进程池)根据CGI标准将该请求的网络协议包的信息解析出来,分别写入对应的环境变量和标准输入,然后通过URL解析,会运行匹配的CGI程序。CGI程序就继承了web服务器(或者CGI管理进程)的环境变量。CGI程序读取数据处理并生成HTML文件通过标准输出传递给web服务器。web服务器再发送给客户端。

FastCGI 是CGI的改良版本,从网上的资料来看最大的改进是性能部分,加了脚本缓存和数据库常链接。CGI对于每个请求都会从新解释一次脚本,但FastCGI则将解释后的代码保存在内存或者磁盘,下次请求就直接调用。除非脚本改动将重新解释。

网上一篇文章也说了CGI的近况,有点意思。

http://www.blogjava.net/cap/archive/2006/02/06/29672.html

ISAPI

Internet Server Application Programming Interface

Microsoft的东东

ISAPI 服务器扩展是可以被 HTTP 服务器加载和调用的 DLL,而不是CGI的多进程处理。在web服务器进程中运行当然风险很大,而且是微软的东西所以平台限制。

 

 

三、开发语言:

 

 

编译性语言是把源程序编译成目标机器代码,目标机器代码可以直接在适合的机器上执行。

解释性语言编的源程序,需要解释器把源语句一条条翻译成目标机器代码,一条条执行。

 

 

动态语言(弱类型语言)是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化。动态语言的类型检查是在运行时做的。

静态语言就是有静态类型检测,也称为强类型语言。

 

 

个人理解:从定义上可以断定动态语言必须是解释性语言。

静态语言不一定是编译型语言,比如JAVA是一种解释性语言,但它是一种强类型语言,并且有一个编译过程。类似的还有C#这种有中间码的语言。

脚本语言又称动态语言。

 

 

Java Development Kit (JDK) 是Sun公司针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK(Software development kit)。

JDK包含的基本组件包括:

  • javac – 编译器,将源程序转成字节码
  • jar – 打包工具,将相关的类文件打包成一个文件
  • javadoc – 文档生成器,从源码注释中提取文档
  • jdb – debugger,查错工具

JDK中还包括完整的JRE(Java Runtime Environment,Java运行环境),也被称为private runtime。包括了用于产品环境的各种库类,以及给开发员使用的补充库,如国际化的库、IDL库。

JDK中还包括各种例子程序,用以展示Java API中的各部分。

 

 

J2SE,桌面开发,J2EE,WEB开发,J2ME,嵌入式开发。
JVM :(Java Virtual Machine) Java虚拟机,Java虚拟机屏蔽了与具体操作系统平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,实际上最终还是把字节码解释成具体平台上的机器指令执行。

 

 

 

PHP是一种解释性语言

PHP是一种动态语言

PHP用C语言实现

PHP的核心是zend引擎,PHP代码在zend眼里就是一些自定义的符号,解释成opcodes(C语言定义的一种结构体),依次执行每个opcode。opcode有129种类型,有变量和类定义、操作符、函数调用等。zend维护着一个全局的函数表和对象表来完成opcode的执行。PHP是一种简单的脚本语言,侧重点:

目前最高版本PHP5.3.2对于每个请求都会解释一次PHP代码,没有缓冲机制。ACP是目前比较流行的PHP缓冲,保存opcodes。

PHP的另一个优化途径是函数的优化。PHP自定义函数运行效率较低,通过C语言链接库的扩展可以提高运行效率。像FACEBOOK自己开发了一个PHP转C++代码然后用G++编译成2进制文件的工具HipHop,极大提高了PHP的系能。

PHP由于简单易用迅速流行,适合轻量级开发,为了适合复杂应用,于是又了框架Zend Framework,实现控制器/模型/视图分离。

 

Smarty 为了将HTML语言与PHP代码分离而产生的技术,也是为了大规模应用而准备的。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值