简单介绍一下web开发中用到的一些技术

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cwdysg/article/details/78990579

一、标准通用标记语言(SGML)


1.HTML

即超文本标记语言(HyperText Markup Language),超文本指页面内可以包含图片、音乐、链接甚至程序等非文字元素,如果只用HTML则只能做静态网页

静态网页:指不含数据库、不含程序和不可交互的网页,适用于更新较少的展示型网页,运行于客户端,通常以.html或.htm或.xml或.shtml为后缀。无需经过服务器编译便可直接加载到客户浏览器上显示出来,占用一定的服务器空间。可在静态网页中加入flash、java小程序ActiveX控件以及客户端脚本,这些都由程序员事先编写好放到服务器上。

动态网页:动态网页在服务器端运行,在不同时间会根据不同用户返回不同的网页,与服务器发生交互行为。以数据库为基础,可实现用户的注册、登录、用户管理等操作。动态网页并不是独立存在于服务器上的网页文件,只有在客户端发出请求后才返回一个完整的网页。后缀可以为.jsp或.php或.asp或.cgi。

ActiveX控件:在静态页面中加入可以运行在浏览器上的程序,是静态的,现在的浏览器基本以不支持。

applet:“let”词缀表示“小”,applet表示用Java编写的小应用程序(JavaApplet),即静态的,该程序可以包含在HTML页面中,与在页面中包含图像的方式大致相同,即<applet></appltet>一对标记。当支持Java的浏览器遇到这对标记时,便下载相应的小程序代码在本地运行,已经淘汰,取而代之JavaFX。

servlet:即server applet,applet扩充了网络浏览器的能力,而servlet扩充了网络服务器的能力。servlet的功能在于交互地浏览和修改数据,生成动态web内容,其过程为:客户端发送请求到服务器,服务器将请求信息发送到servlet,servlet生成相应内容被发送到服务器,服务器将响应发送至客户端。applet与servlet均没有main函数。(比喻:JSP是服务员,servlet是看完菜单告知哪个厨师来做饭的前台。)JSP显示页面和接收用户的信息,而servlet主要负责页面和业务层的信息交互。

CGI程序:是运行在网络服务器上的一个程序,作用与servlet相似。但已被servlet替代,因为CGI程序每当客户端发出一个新的请求,便要建立一个新的CGI实例,占用了大量的内存资源,用于实际开发很困难。而servlet被用户发送的第一个请求激活后,继续运行于后台等待以后的请求,每个请求将生成一个新的线程而不是一个完整的进程,多个客户可以在同一个进程中同时得到服务。

css:即层叠样式表(cascading style sheets)是用于网页排版的标记性语言,能对网页中的排版进行像素级控制,主要用于对网页中的字体、颜色、图像、背景等其他元素进行控制,是对HTML的补充。“HTML+CSS”可以实现静态网页。

div+css:div是HTML中的一个标签元素,为布局元素。div可以理解成一个矩形框,css控制这个矩形框在什么地方。CSS3是CSS的一个标准,HTML5是HTML的一个标准。

单页面:整个页面就是一个静态的不刷新的HTML页面,例如QQ空间中从日志到相册,整个页面并没有刷新,而是中间的主体内容进行局部替换。

图灵机:图灵机可以理解成对人们使用纸笔进行运算的抽象,分为两个步骤,在纸上写或擦出某个符号,下一步动作取决于当前所关注的符号和此时的思维逻辑。

图灵完备:即Turing Completeness,判断图灵完备的方法就是看该语言能否模拟出图灵机。


2.XML

即可扩展标记语言(Extensible Markup Language),和html相比,xml允许用户对自己的标记语言进行定义。

3.XHTML

即可扩展超文本标记语言,比HTML语法更严格


二、前端


1.脚本语言(scripting language)

脚本语言又被称为扩建的语言或者动态语言,通常以文本保存,只有在被调用时才进行解释或编译。

2.JavaScript(js)

是一种脚本语言,动态类型、弱类型、基于原型的语言,内置支持类型。用于嵌入HTML网页增加动态功能,向HTML页面提供交互功能,亦可写成单独的js文件便于结构和行为的分离。最早由Netscape公司实现,因与Sun公司合作,便取名JavaScript。微软推出了JSript,都可以统称兼容ECMASript。后缀名为.js的文件就是JavaScript文件。可用于多平台多操作系统。被大多数浏览器支持。

动态类型:运行期才做类型检查
静态类型:编译期进行数据类型检查
弱类型:语言运行时会隐式的做数据类型转换
强类型:语言运行时确保不会做未授意的类型转换
基于原型的语言:如JavaScript,只有对象没有类,是对象继承对象,而不是类继承类。
基于类型的语言:如Java

特性(动态性):是一种采用事件驱动的脚本语言,不需要服务器的支持,便可直接响应用户的输入。在访问一个页面时,用鼠标上移下移点击都可以通过JavaScript对其进行响应。因此早期程序员喜欢通过JavaScript减轻服务器的负担,然而不安全,随着服务器的强壮,现在程序员喜欢使用在服务端的脚本来保证安全。有些特殊功能如ajax比如依赖JavaScript在客户端进行支持。现在JavaScript逐渐被用来编写服务器端程序。


3.VBSript(VBS)

basic语言起初是非结构化语言,后来经过完善成为结构化语言(Visual Basic,即VB),同时VB也是开发环境。

Microsoft Visual C++(简称Visual C++、MSVC、VC++或VC)为微软公司的C++开发工具。

VBS是微软环境下的轻量级的解释性脚本语言。


4.Ajax

即异步JavaScript和XML(Asynchronous Javascript And XML),是一种能够不刷新整个网页的前提下还能更新部分网页的技术。通过后台与服务器进行少量数据交换,AJAX可以使网页实现异步更新。

5.JSON

即JS对象标记(JavaScript Object Notation),是一种轻量级数据交换格式,能够代替XML的工作,即可以处理前端(JavaScript)和后台(web服务器端)之间的数据交互。特点是易于人们的读写习惯,易于机器的分析和运行,形式为一个以键值对形式表示的字符串。JSON跨语言,在移动端(Android、IOS)数据都可以由JSON来传输。

6.boostrap

前端UI框架,详情https://www.cnblogs.com/mbailing/p/5627792.html

7.angular.js和JQuery

前端框架库,详情https://www.cnblogs.com/mbailing/p/5627792.html

8.前端编辑器

Webstorm:重量级编辑器,当前段项目配置了各种的grunt,bower,angular后你会发现你很需要它。
Brackets:适合写CSS。
Dreamweaver:“所见即所得”
HBuilder:适合写H5,相对厚重。
Sublime:相当于一个升级版的记事本,有着强大的插件,建议安装两个(packagecontrol和emmet),轻量级编辑器,小巧智能。
notepad++:插件多

三、后台


1.JSP(J2EE)

即Java服务器页面(JAVA Server Pages),是一种动态网站开发语言,有点类似于ASP技术,在传统的HTML页面文件(后缀名为*.htm或*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名*.jsp。JSP开发的web应用是跨平台的,可以运行在Linux或者其他操作系统下。它实现了HTML中的Java扩展(以<%,%>形式),jsp与servlet一样运行在服务器端,将一个HTML文件返回给客户端,因此客户端有浏览器就可以浏览。servlet是JSP的基础,大型的web应用开发众需要servlet和JSP同时配合。
JSP与servlet的关系:JSP是servlet的扩展,在JSP之前就有servlet了。有客户端,web服务器(web server)和应用服务器(application server),客户端发出请求,web服务器接受http请求,如果是HTML、css等静态资源则web服务器可以自行处理 ,如果遇到动态资源比如jsp时便将请求转至应用服务器中,由应用服务器处理。应用服务器也具有处理http请求的能力,可能没有web服务器那么专业,应用服务器同时也包含web容器。在应用服务器中,jsp转换成servlet,在servlet容器中检索是否已经存在匹配的servlet实例,若没有则由servlet容器加载并实例化这个servlet类的一个实例对象,再有servlet容器初始化并运行;若servlet容器中已存在,则直接运行。
web服务器:代表Nginx、IIS、Apache。 “相当于前台接待”。
应用服务器:代表Bea WebLogic、IBM WebSphere、JBoss、Tomcat。Tomcat是Apache的扩展可以独立于Apache运行。“相当于真正的价值服务者”。
servlet容器:管理servlet的生命周期,存在于应用服务器中。
Tomcat既可以看成是servlet容器又可以看成是web容器,既可以处理静态资源又可以处理动态的servlet。故可以使用两个独立的服务器比如Nginx和WebLogic,也可以只用一个Tomcat。

2.PHP和ruby

php:超文本预处理器(hypertext preprocessor),是一种基于对象的开源脚本语言,用于web后台开发。
ruby:面向对象的后台脚本语言。
基于对象:不提供抽象、重载和继承
面向对象:提供抽象、重载和继承

3.NetBeans

一款用Java编写的主要用于后台开发的IDE。

4.Node.js

是一种JavaScript的运行环境(runtime),是目前速度最快的JavaScript引擎,使JavaScript能脱离浏览器运行。对Chrome V8引擎进行了封装。使用事件驱动,非阻塞I/O模型而得以轻量而高效。

用处:是JavaScript运行环境,也就是说能在服务器上跑JavaScript代码,让JavaScript实现服务器上的开发。一般是js程序员在用,属于后端技术。

JavaScript引擎:是一种专门处理JavaScript脚本的虚拟机,一般会符带在浏览器中。


四、ASP、ASP.NET与.NET


ASP:类似于JSP和PHP,是一种后台开发技术。
.NET:是一个平台,不是语言,包括运行时的环境和开发的环境。可以在.NET平台上用不同的语言开发,例如C#,VB.NET,HTML,F#,VC++.NET。
有点类似于java。JAVA语言也是java平台中的一个语言的名字,C#同样是.NET平台中一个语言的名字,即java跨平台,.NET跨语言。java开源,.NET由微软开发不开源。java编写完一次后可以再Linux上或其它操作系统上运行,.NET只适用于微软,所以java跨平台,.NET不跨平台
ASP.NET(又称ASP+):是基于.NET Framework的web开发平台。一般前端用HTML+css,后端用C#。
.NET Framework:是.NET开发的软件运行所必需的框架(framework)、运行环境。
展开阅读全文

没有更多推荐了,返回首页