互联网入门知识

本文整理于各种网络资料所得,由于有的文章比较老,故有的知识点也不是能与时俱进,比如.NET技术的介绍不足等,读者可以自行查阅.Net技术,而ASP也是被替换的产品等。


一、静态网页和动态网页

        网页,一般又称之为HTML文件,是一种可在WWW传输、能被浏览器认识和翻译成页面并显示出来的文件。网页构成的要素很多,除了最基本的文字和图片之外,网页元素还包含了动画、音乐、视频、音频等。根据网页生成方式,大致可分为静态网页动态网页两种。

静态网页

静态网页是网站建设初期经常采用的一种方式。网站建设者把内容设计成诸多静态的页面,访问者只能被动地浏览网站建设的网页内容,其有如下特点:

       (1)网页内容不会发生变化,除非网页设计者修改了网页的内容。

       (2)不能实现和浏览网页的用户之间的交互。信息流是单项的,只能从服务器到浏览器,服务器不能根据用户的选择调整返回给用户的内容。

       (3)网页文件扩展名一般以htm或者html后缀,当然这也不是绝对的,许多动态网页生成后的文件后缀名也是HTML格式的,区分静态网页和动态

                 网页的区别还是要从最本质的“网页生成方式”角度去看待。

  

       动态网页

       动态网页改变了静态网页这种死板的交流方式,对于动态网页而言,在浏览器显示的网页内容是服务器端程序运行的结果,而不像静态网页那样服务器

      只是找了一个已经存在的不能改变的网页给浏览器,所以静态网页是不需要服务器运行计算的,直接返回给浏览器一个静态的网页。所以动态网页与静态

      网页的区别是在于Web服务器对他们的处理方式不同。当Web服务器接收到对静态网页的请求时,服务器直接将该网页发送给客户浏览器,不进行任何处理。

      如果接收到动态网页的请求,则Web服务器找到该文件,并将它传递给一个称之为应用程序服务器的特殊软件扩展,又它负责解释和执行网页,而Web服务器

      仅仅将执行后的结果传递给客户端浏览器。其工作方式如下图所示:


 

            所以相对于静态网页,动态网页有如下特点:

            (1)动态网页以数据库技术为基础,可以大大降低网站维护的工作量。

            (2)采用动态网页技术的网站可以实现更多的功能,如用户注册、用户登录、搜索查询、订单管理等一系列能交互的功能。

            (3)动态网页并不是独立存在于服务器上的网页文件,只有当用户请求服务器时才返回一个网站的网页。

            (4)搜索引擎一般不能从一个网站的数据库中访问全部网页,因此采用动态网页的网站在进行搜索引擎推广时需要做一定的技术

                      处理才能适应搜索引擎的要求。


二、动态网页语言(也是服务器端的主要开发语言)

       目前最常用的三种动态网页语言有ASP ( Active Server Pages )(注:确切的说,ASP也不是当前主流的开发语言,MS推出的.NET+C#的组合已经成为ASP应用的替代方案) , JSP ( Java Server Pages) , PHP (Hypertext Preprocessor),当然还除了上述三种动态网页语言外,还有一个大名鼎鼎的早起的动态网页技术CGI,不过是面临淘汰的技术,故不列为重点介绍。


       .Net或ASP.Net

      简介        : 

                   asp.net作为新一代的网络开发工具,不仅与ASP以前的版本兼容,而且增加了许多新的功能.ASP.NET的主要特点有以下几个方面:第一,多语言支
                    持.ASP.NET支持VISUAL BASIC,C#,C++和JSCRIPT四种语言,用户可根据自己特长和实际需要进行选择,甚至可以用这些语言的组合来编程.第二,兼
                   容性.ASP.NET和ASP完全兼容.第三,分离程序代码和网页内容.具体使用什么依具体情况而定,不过现在逐渐流行.NET了.


       ASP:

       简介        : ASP全名Active Serverf Pages,又称为服务器端的VbScript,所以采用我们非常熟悉的VB语法。

       公司特征:由MicroSoft公司推出。

       难易程度:由于采用basic语法,只要熟悉basic语言,有点html基础,要学习掌握ASP是很简单的事情。

       代码特点:不需要编译,直接运行,所以代码可视。

       编写工具:任何文本编辑器都可以进行编辑,当然,对于ASP我还是推荐采用MS 公司的InterDev工具。

       封装性    :能很好的结合MS的COM(+)技术,可以将比较复杂的事务处理工作封装在COM(+)中,而ASP能非常好的进行调用。

       数据库    :采用MS的ODBC接口技术,所以,几乎所有的数据库都可以结合。

       平台性    :遗憾的是,对于我们目前流行的两种最主流的网络操作系统(Unix//Linux和NT/Windows),它却只能在Windows上很好的支持。


      JSP:

       简介        : JSP全名Java Server Pages,采用Java语法,由于Java体系的任何东西都是需要JDK支持的,同样,JSP也离不开JDK。

       公司特征:由Sun公司推出。

       难易程度:由于采用Java语法,由于Java高度的面向对象和灵活性,所以比basic稍微要难点。

       代码特点:要编译成servlet,在服务器端运行,所以代码不可视。

       编写工具:任何文本编辑器都可以进行编辑,但是,需要JDK先编译好。

       封装性    :能很好的结合Javabean技术,可以将复杂的事务处理工作封装在Bean中,而JSP能非常好的进行调用。

       数据库    :采用Java结合数据库技术,即:JDBC技术,也是一个统一的数据库接口技术。

       平台性    :对于我们目前流行的两种最主流的网络操作系统(Unix//Linux和NT/Windows)都能很好的支持。


      PHP:

       简介        : PHP全名Hypertext Preprocessor,采用类似C的语法。

       公司特征:是开源的,所以,你可以得到它的源代码并重新编译,甚至加入自己的特征。

       难易程度:由于采用C语法,要掌握PHP也是比较简单的事情。

       代码特点:不需要编译,直接运行,所以代码可视,但是可以通过Zend的编译器将其代码加密处理,以隐藏源代码。

       编写工具:任何文本编辑器都可以进行编辑。

       封装性    :能结合MS的COM(+)技术,也能结合JavaBean,将某些复杂的事务处理工作封装在COM(+)或JavaBean中,但是,性能当然没有像ASP结合COM(+)

                            和JSP结合JavaBean那么“原版”,也就是速度和性能上肯定没有后者好。

       数据库    :对于目前流行的数据库,几乎都有支持,但是,它却不是像ASP,JSP一样有个统一的接口,对于每种数据库几乎都有一个不同的接口。

       平台性    :对于我们目前流行的两种最主流的网络操作系统(Unix//Linux和NT/Windows)都能很好的支持,而且根本不用修改任何代码。


       CGI:

       简介        : 早期的动态网页主要采用CGI技术,全称Common Gateway Interface ( 公共网关接口 )。你可以使用不同的程序编写适合的CGI程序,比如VB, Delphi

                             或C/C++等。虽然CGI技术已经发展成熟并且功能强大,但由于编程困难、效率低下、修改复杂等不足,所以有逐渐被新技术取代的趋势。

                               

                             编写CGI页面最常用的语言是Perl,它具有强大的字符串处理能力,特别适合用于分割处理客户端的form提交的数据串,用它来编写的程序后缀为pl。

                             由于CGI目前基本成为淘汰品,所以我们并不推荐大家在网站建设中学习这项技术,而是仅作为动态网页技术的历史大致了解下即可。


三、三种动态网页语言的商业特点:



四、客户端语言JavaScript简介

         JavaScript是一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型,它的解释器被称之为JavaScript引擎,作为客户端浏览器的一部分,

         是 广泛用于客户端的脚本语言。 最早是在HTML网页上使用,用来给HTML网页增加动态功能,然后现在JavaScript也可以用于网络服务器,如Node.js,不过JavaScript

         作为服务器语言并不是主流, 不同于服务器脚本语言,例如PHP、ASP等,JavaScript主要还是被作为客户端脚本语言在用户的浏览器上运行,不需要服务器的支持,

         所以在早期程序员比较青睐于JavaScript以减少对服务器的负担,而与此同时也带来另一个问题:安全性。

         JavaScript可以用作以下用途

         (1)嵌入动态文本于HTML页面

         (2)对浏览器事件作出响应

         (3)读写HTML元素

         (4)在数据被提交到服务器之前验证数据合法性

         (5)检测访客的浏览器信息

         (6)控制cookies,包括创建和修改等。


五、Web前端和后端

        引申出来的职位就是Web前端工程师和Web后端工程师。

        Web前端: 顾名思义是来做Web的前端的,也就是在Web应用中用户可以看得见碰得着的东西,包括Web页面的结构、Web的外观视觉表现以及Web层面的交互实现。

        Web后端:后端更多的是与数据库进行交互以处理相应的业务逻辑,需要考虑的是如何实现功能、数据的存储、平台的稳定性和性能等。

        可以从大公司对前端后端人员的招聘要求角度来了解前端和后端的技术要求:

        Web前端工程师

        (1)精通HTML,能够书写语义合理、结构清晰、易维护的HTML结构。

        (2)精通CSS,能够还原视觉设计,并兼容业界承认的主流浏览器。

        (3)熟悉JavaScript,了解ECMAScript基础内容,掌握1-2种JS框架,如JQuery。

        (4)对常见的浏览器兼容问题有清晰的理解,并有可靠的解决方案。

        (5)对性能有一定的要求,了解yahoo的性能优化建议,并可在项目中有效的实施。

        (6)。。。。。。


        Web后端工程师

        (1)精通JSP, servlet,  JavaBean,  JMS, EJB,  JDBC, Flex开发,或者对相关的工具、类库以及框架非常熟悉,如Velocity, Spring, Hibernate, iBatis, OSGI等,对

                  Web开发模式有较深的理解。

        (2)熟练使用oracle,  sqlserver,  MySQL等常用的数据库系统,对数据库有较强的设计能力。

        (3)熟悉maven项目配置管理工具,熟悉Tomcat,  JBoss等应用服务器,同时对在高并发处理情况下的负载调优有相关经验者优先考虑。

        (4)精通面向对象分析和设计技术,包括设计模式、UML建模等。

        (5)熟悉网络编程,具有设计和开发对外API接口戒烟和能力,同时具备跨平台的API规范设计以及API高效调用设计能力。

        (6)。。。。。。


六、 瘦客户端和胖客户端

网络应用程序经历了从胖客户端到瘦客户端的发展历程,胖客户端是相对于传统的C/S结构的网络应用程序来说的, 
而瘦客户端一般都是相对于B/S结构的Web应用来说的. 

胖客户端应用程序 
胖客户端是相对于瘦客户端而言的,它将应用程序的处理过程分为两个部分:客户端部分用户桌面计算机 
执行的处理和服务器部分的一些集中处理。胖客户端应用程序的客户端部分除了负责将程序的UI界面显示 
给用户进行交互外,还负责进行大部分的业务逻辑处理。这种类型的应用程序需要客户端部分具有执行任务的 
能力,对客户端机器的要求比较高,但是可以减轻服务器很发一部分的压力,降低对服务器性能的要求。典型的 
胖客户端应用程序都包含一个或多个在服务器和客户PC上运行的应用程序,客户PC上安装功能丰富的交互式的用户界面, 
用户通过这个交互界面可以进行查看和操作数据,处理业务事务等,分担服务器的一部分或者全部业务逻辑的处理(这样胖客户端就显得很"臃肿",所以叫胖客户端,也叫富客户端)。 
服务器部分一般集中处理数据的访问操作,同时也负责处理一部分或全部的业务逻辑. 

瘦客户端应用程序 
瘦客户端应用程序主要是指B/S结构的Web应用程序,他实际上是C/S结构的一种变种.它将C/S结构中的客户端程序 
统一为浏览器(Broswer),浏览器中只解析标准的HTML来显示用户交互界面. 这样,服务器端负责处理业务逻辑和数据存取, 
然后将处理完的结果以HTML的形式发送给客户端,客户端负责将结果显示给用户,客户端除了负责一些数据的验证和组织之外, 
基本上不处理任何的业务逻辑,只专注于用户交互界面显示.(这样瘦客户端就显得很瘦小,所以叫瘦客户端)

而如今,随着技术的发展,ajax技术的出现,B/S结构的web应用程序也逐渐向胖客户端发展,在加上后起之秀flex的出现,更加快了B/S结构的web应用程序向胖客户端发展.




       



猜你喜欢

转载自blog.csdn.net/jackixzj/article/details/39122231