知識(shí)
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們?cè)谧非笃湟曈X表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營銷的便利,運(yùn)營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏?jí)提供便捷的支持!
您當(dāng)前位置>首頁 » 新聞資訊 » 網(wǎng)站建設(shè) >
WEB簡(jiǎn)介
發(fā)表時(shí)間:2018-9-1
發(fā)布人:葵宇科技
瀏覽次數(shù):62
WEB
一、Web簡(jiǎn)介
1、 簡(jiǎn)介
- 早期的web應(yīng)用主要是靜態(tài)頁面的瀏覽,這些靜態(tài)頁面使用HTML語言編寫,放在服務(wù)器上,用戶使用瀏覽器通過HTTP協(xié)議請(qǐng)求服務(wù)器上的web頁面,服務(wù)器上的web服務(wù)器軟件接受到用戶發(fā)送的請(qǐng)求后,讀取請(qǐng)求URI所標(biāo)識(shí)的資源,加上消息包頭發(fā)送給客戶端的瀏覽器,瀏覽器解析響應(yīng)中的HTML數(shù)據(jù),向用戶呈現(xiàn)多姿多彩的HTML頁面。
- 但是隨著網(wǎng)絡(luò)的發(fā)展,很多線下業(yè)務(wù)開始向網(wǎng)上發(fā)展,基于Internet的web應(yīng)用也變得越來越復(fù)雜用戶所訪問的資源已不僅僅局限于服務(wù)器硬盤上存放的靜態(tài)網(wǎng)頁,更多的應(yīng)用需要根據(jù)用戶的請(qǐng)求動(dòng)態(tài)生成網(wǎng)頁信息,復(fù)雜的還需要從數(shù)據(jù)庫中提取信息,經(jīng)過一定的運(yùn)算,生成一個(gè)頁面返回給客戶
- 如何才能實(shí)現(xiàn)? 利用已經(jīng)實(shí)現(xiàn)HTTP協(xié)議的服務(wù)器端軟件,這些軟件預(yù)先給我們留出了擴(kuò)展的接口,我們只需要按照一定的規(guī)則提供相應(yīng)的擴(kuò)展功能,當(dāng)這類web服務(wù)器接受到客戶端請(qǐng)求后,判斷請(qǐng)求是否是訪問我們提供的擴(kuò)展功能,如果是,將請(qǐng)求交由我們編寫的程序去處理,處理完成后,程序?qū)⑻幚斫Y(jié)果交回web服務(wù)器軟件,web服務(wù)器軟件拿到結(jié)果后,再將結(jié)果作為相應(yīng)信息返回給客戶端。
- 早起使用的web服務(wù)器擴(kuò)展機(jī)制是CGI,它允許用戶調(diào)用web服務(wù)器上的CGI程序,CGI全稱 Common Gateway Interface 公共網(wǎng)關(guān)接口,大多數(shù)的CGI程序使用Perl來編寫,也有通過C,Python或PHP編寫,用戶通過單擊某個(gè)連接或者直接在瀏覽器的地址欄輸入U(xiǎn)RL來訪問CGI程序,web服務(wù)器接受到請(qǐng)求后,發(fā)現(xiàn)這個(gè)請(qǐng)求是給CGI程序的,于是就啟動(dòng)并運(yùn)行這個(gè)CGI程序,對(duì)用于請(qǐng)求進(jìn)行處理。CGI程序解析請(qǐng)求中的CGI數(shù)據(jù),處理數(shù)據(jù),并且產(chǎn)生一個(gè)響應(yīng),這個(gè)響應(yīng)被返回給web服務(wù)器,web服務(wù)器包裝這個(gè)響應(yīng),以HTTP響應(yīng)的形式發(fā)送給Web瀏覽器。但是CGI編寫困難,對(duì)用戶請(qǐng)求的響應(yīng)時(shí)間較長以進(jìn)程方式運(yùn)行導(dǎo)致性能受限制。
2、Web應(yīng)用歷史
2.1、單機(jī)程序
軟件從附著于電腦硬件之日起,就在不斷的進(jìn)行著自我完善和演變。從其使用模式的角度出發(fā),可以簡(jiǎn)單分為單機(jī)程序和網(wǎng)絡(luò)程序。發(fā)展到今時(shí)今日仍有大量的不依賴網(wǎng)絡(luò)的單機(jī)程序被我們使用,如記事本、Excel、PPT、ZIP壓縮等軟件都是大家熟知的裝機(jī)必備軟件
2.2、網(wǎng)絡(luò)程序
當(dāng)電腦越來越多的參與到日常生產(chǎn)生活中,單機(jī)程序已經(jīng)不能滿足企業(yè)的需要。企業(yè)級(jí)應(yīng)用要求能夠最大程度的讓更多的客戶端參與到協(xié)同辦公之中,所以依賴于網(wǎng)絡(luò)的程序開始大力發(fā)展起來。
2.3、主機(jī)+終端模式
最早的網(wǎng)絡(luò)程序是基于主機(jī)+終端模式的,也就是整個(gè)應(yīng)用中只有一臺(tái)大型主機(jī),各個(gè)操作地點(diǎn)都是使用一條專線與主機(jī)相連,終端不提供任何運(yùn)算和界面,類似于Unix形式,所有的運(yùn)算和處理都由主機(jī)來完成。主機(jī)一般處理能力非常強(qiáng)大,并且穩(wěn)定,主要機(jī)型都是由IBM這樣的大公司提供。
圖-1 主機(jī)-終端模式
但上述模式中,主機(jī)的高昂的價(jià)格以及擴(kuò)展難、維護(hù)費(fèi)用高等弊端并不是一般企業(yè)所能承受,所以除銀行、航空訂票、證券等大企業(yè)在使用以外,大多數(shù)企業(yè)開始轉(zhuǎn)投CS架構(gòu)的程序,即客戶端服務(wù)器架構(gòu)。
2.4、C/S架構(gòu)
1、說明
CS架構(gòu)的發(fā)展過程經(jīng)歷了兩層CS架構(gòu),三層CS架構(gòu)以及多層CS架構(gòu)的演變。
兩層的CS架構(gòu)是由客戶端和后面的數(shù)據(jù)庫組成的。數(shù)據(jù)庫用于存放數(shù)據(jù),并且使用數(shù)據(jù)庫編程語言編寫業(yè)務(wù)邏輯,客戶端則使用VB、VC、Delphi這樣的可視化編程方便的語言來開發(fā)客戶端的輸入輸出界面。用戶通過界面向服務(wù)器發(fā)送請(qǐng)求,服務(wù)器發(fā)回的數(shù)據(jù)則通過界面進(jìn)行顯示,服務(wù)器的角色就由數(shù)據(jù)庫來充當(dāng)。這樣做的好處就是開發(fā)效率高,滿足企業(yè)需求。但是這種架構(gòu)存在著很大的弊端,第一是可移植性差,如當(dāng)數(shù)據(jù)庫從SQL Server更換為Oracle時(shí)就必須將業(yè)務(wù)邏輯用新的語言再重新編寫一遍;第二則是大型系統(tǒng)做不了,因?yàn)榭蛻舳伺c數(shù)據(jù)庫需要建立持續(xù)的連接,而數(shù)據(jù)庫能夠支持的最大連接數(shù)是有限制的。所以在2000年這樣的架構(gòu)流行之后,慢慢的就開始向三層CS架構(gòu)轉(zhuǎn)變。
三層的CS架構(gòu)指的是客戶端+應(yīng)用服務(wù)器+數(shù)據(jù)庫,即將混合在數(shù)據(jù)庫端的業(yè)務(wù)邏輯從中分離出來,放入到應(yīng)用服務(wù)器中,數(shù)據(jù)庫只負(fù)責(zé)數(shù)據(jù)的管理、存儲(chǔ)及檢索。客戶端負(fù)責(zé)界面。三層之中的應(yīng)用服務(wù)器其實(shí)也是程序,類似于前面講過的TCP、Socket編程,任何支持TCP編程的語言都可以作為應(yīng)用服務(wù)器。三層CS架構(gòu)的工作流程。
C / S 三層架構(gòu)圖
用戶通過GUI(圖形用戶界面)進(jìn)行操作,然后調(diào)用客戶端的通信模塊,通信模塊依據(jù)自定義協(xié)議將請(qǐng)求數(shù)據(jù)打包,通過網(wǎng)絡(luò)發(fā)送該請(qǐng)求,到達(dá)應(yīng)用服務(wù)器時(shí),應(yīng)用服務(wù)器同樣也有一個(gè)通信模塊,將收到的數(shù)據(jù)包按照協(xié)議進(jìn)行拆包,調(diào)用相應(yīng)的業(yè)務(wù)處理模塊,處理數(shù)據(jù),其中可能需要訪問數(shù)據(jù)庫來完成數(shù)據(jù)的獲取,將處理完的結(jié)果再次發(fā)送給通信模塊,通信模塊將結(jié)果按照自定義協(xié)議進(jìn)行打包,然后將數(shù)據(jù)包發(fā)送給客戶端的通信模塊,客戶端進(jìn)行拆包獲取響應(yīng)數(shù)據(jù),將結(jié)果顯示在界面上,更新界面上的數(shù)據(jù)顯示。
這樣的程序結(jié)構(gòu)雖然在一定程度上降低了對(duì)數(shù)據(jù)庫編程的依賴,并且能夠適應(yīng)大型的應(yīng)用程序,但數(shù)據(jù)通信模塊的增加卻提升了開發(fā)的難度以及整體架構(gòu)的復(fù)雜度。
2、優(yōu)缺
優(yōu)點(diǎn)
- 能充分發(fā)揮客戶端PC的處理能力,很多工作可以在客戶端處理后再提交給服務(wù)器,所以CS客戶端響應(yīng)速度快。
- 操作界面漂亮、形式多樣,可以充分滿足客戶自身的個(gè)性化要求。
- C/S結(jié)構(gòu)的管理信息系統(tǒng)具有較強(qiáng)的事務(wù)處理能力,能實(shí)現(xiàn)復(fù)雜的業(yè)務(wù)流程。
- 安全性能可以很容易保證,C/S一般面向相對(duì)固定的用戶群,程序更加注重流程,它可以對(duì)權(quán)限進(jìn)行多層次校驗(yàn),提供了更安全的存取模式,對(duì)信息安全的控制能力很強(qiáng)。一般高度機(jī)密的信息系統(tǒng)采用C/S結(jié)構(gòu)適宜。
缺點(diǎn)
- 需要專門的客戶端安裝程序,分布功能弱,針對(duì)點(diǎn)多面廣且不具備網(wǎng)絡(luò)條件的用戶群體,不能夠?qū)崿F(xiàn)快速部署安裝和配置。
- 兼容性差,對(duì)于不同的開發(fā)工具,具有較大的局限性。若采用不同工具,需要重新改寫程序。開發(fā)、維護(hù)成本較高,需要具有一定專業(yè)水準(zhǔn)的技術(shù)人員才能完成,發(fā)生一次升級(jí),則所有客戶端的程序都需要改變。。
- 用戶群固定。由于程序需要安裝才可使用,因此不適合面向一些不可知的用戶,所以適用面窄,通常用于局域網(wǎng)中
2.5、B/S架構(gòu)
1、說明
為了降低三層CS架構(gòu)中與通信有關(guān)的復(fù)雜度,BS架構(gòu)開始成為了網(wǎng)絡(luò)程序中一大重要的架構(gòu)類型。
BS架構(gòu)即Browser + Web Server + DB
圖-3 B/S三層架構(gòu)圖
由于三層CS架構(gòu)中,自定義協(xié)議提升了整體的復(fù)雜度,那么就將自定義協(xié)議變成標(biāo)準(zhǔn)的HTTP協(xié)議。于是客戶端使用HTTP協(xié)議進(jìn)行數(shù)據(jù)打包拆包的程序即各廠商依據(jù)標(biāo)準(zhǔn)開發(fā)的瀏覽器,Web服務(wù)器也是基于HTTP協(xié)議由一些廠商提供,如IIS,Apache等。這樣基于瀏覽器和服務(wù)器的架構(gòu)中,由于協(xié)議已被限定,所以與通信有關(guān)的數(shù)據(jù)打包拆包的過程都不用我們開發(fā)人員來編寫程序,只需要考慮將HTTP協(xié)議解析出來的數(shù)據(jù)進(jìn)行業(yè)務(wù)處理,以及將什么樣的結(jié)果提供給響應(yīng)即可。也就是開發(fā)過程中只需要考慮7,8,9這三個(gè)步驟即可。于是大大降低了網(wǎng)絡(luò)程序的開發(fā)難度,所以這種架構(gòu)得到了大量的應(yīng)用。
2、優(yōu)缺點(diǎn)
優(yōu)點(diǎn)
- 分布性強(qiáng),客戶端零維護(hù)。只要有網(wǎng)絡(luò)、瀏覽器,可以隨時(shí)隨地進(jìn)行查詢、瀏覽等業(yè)務(wù)處理。
- 業(yè)務(wù)擴(kuò)展簡(jiǎn)單方便,通過增加網(wǎng)頁即可增加服務(wù)器功能。
- 維護(hù)簡(jiǎn)單方便,只需要改變網(wǎng)頁,即可實(shí)現(xiàn)所有用戶的同步更新。
- 開發(fā)簡(jiǎn)單,共享性強(qiáng)。
缺點(diǎn)
- 個(gè)性化特點(diǎn)明顯降低,無法實(shí)現(xiàn)具有個(gè)性化的功能要求。
- 在跨瀏覽器上,BS架構(gòu)不盡如人意。
- 客戶端服務(wù)器端的交互是請(qǐng)求-響應(yīng)模式,通常動(dòng)態(tài)刷新頁面,響應(yīng)速度明顯降低(Ajax可以一定程度上解決這個(gè)問題)。無法實(shí)現(xiàn)分頁顯示,給數(shù)據(jù)庫訪問造成較大的壓力。
- 在速度和安全性上需要花費(fèi)巨大的設(shè)計(jì)成本。
- 功能弱化,難以實(shí)現(xiàn)傳統(tǒng)模式下的特殊功能要求。
二、什么WEB應(yīng)用程序
- WEB應(yīng)用程序指供瀏覽器訪問的程序,通常也簡(jiǎn)稱為web應(yīng)用。例如有x.html 、x.html…..多個(gè)web資源,這多個(gè)web資源用于對(duì)外提供服務(wù),此時(shí)應(yīng)把這多個(gè)web資源放在一個(gè)目錄中,以組成一個(gè)web應(yīng)用程序
- 一個(gè)web應(yīng)用由多個(gè)靜態(tài)web資源和動(dòng)態(tài)web資源組成,如:html、css、js文件,Jsp文件、java程序、支持jar包、配置文件等等。
- Web應(yīng)用開發(fā)好后,若想供外界訪問,需要把web應(yīng)用所在目錄交給web服務(wù)器管理
三、WEB應(yīng)用程序的開發(fā)
1、概要
Web應(yīng)用程序指供瀏覽器訪問的程序,通常也簡(jiǎn)稱為web應(yīng)用
2、靜態(tài)web
定義
指web頁面中供人們?yōu)g覽的數(shù)據(jù)始終是不變,例如 .htm、.html,這些是網(wǎng)頁的后綴,用戶直接訪問這些文件就能看到內(nèi)容
流程示例圖
缺點(diǎn)
1、Web頁面中的內(nèi)容無法動(dòng)態(tài)更新,所有的用戶每時(shí)每刻看見的內(nèi)容和最終效果都是一樣的。
2、靜態(tài)WEB無法連接數(shù)據(jù)庫,無法實(shí)現(xiàn)和用戶的交互
靜態(tài)WEB想達(dá)到動(dòng)態(tài)效果需要用到的技術(shù)
JavaScript(常用)
JScript
ScriptEase
VBScript
3、動(dòng)態(tài)web
定義
指web頁面中瀏覽的數(shù)據(jù)是由程序產(chǎn)生的,不同時(shí)間點(diǎn),不同地點(diǎn),不同人訪問同一個(gè)web頁面看到的內(nèi)容和界面可能不一樣,而且動(dòng)態(tài)WEB具有交互性,WEB的頁面的內(nèi)容可以動(dòng)態(tài)更新
流程示意圖(java為例)
動(dòng)態(tài)WEB中,程序依然使用客戶端和服務(wù)端,客戶端依然使用瀏覽器(IE、FireFox等),通過網(wǎng)絡(luò)(Network)連接到服務(wù)器上,使用HTTP協(xié)議發(fā)起請(qǐng)求(Request),現(xiàn)在的所有請(qǐng)求都先經(jīng)過一個(gè)WEB Server Plugin(服務(wù)器插件)來處理,此插件用于區(qū)分是請(qǐng)求的是靜態(tài)資源(.htm或者是.htm)還是動(dòng)態(tài)資源。
如果WEB Server Plugin發(fā)現(xiàn)客戶端請(qǐng)求的是靜態(tài)資源(.htm或者是.html),則將請(qǐng)求直接轉(zhuǎn)交給WEB服務(wù)器,之后WEB服務(wù)器從文件系統(tǒng)中取出內(nèi)容,發(fā)送回客戶端瀏覽器進(jìn)行解析執(zhí)行。
如果WEB Server Plugin發(fā)現(xiàn)客戶端請(qǐng)求的是動(dòng)態(tài)資源(.jsp、.asp/.aspx、.php),則先將請(qǐng)求轉(zhuǎn)交給WEB Container(WEB容器),在WEB Container中連接數(shù)據(jù)庫,從數(shù)據(jù)庫中取出數(shù)據(jù)等一系列操作后動(dòng)態(tài)拼湊頁面的展示內(nèi)容,拼湊頁面的展示內(nèi)容后,把所有的展示內(nèi)容交給WEB服務(wù)器,之后通過WEB服務(wù)器將內(nèi)容發(fā)送回客戶端瀏覽器進(jìn)行解析執(zhí)行
動(dòng)態(tài)web技術(shù)
- ASP
- PHP
- JSP
三、什么是WEB 服務(wù)器
1、概念
- 一臺(tái)負(fù)責(zé)提供網(wǎng)頁的電腦,主要是各種編程語言構(gòu)建而成的,通過HTTP協(xié)議傳給客戶端(一般是指網(wǎng)頁瀏覽器)。
- 一個(gè)提供網(wǎng)頁的服務(wù)器程序
- 服務(wù)器是一種被動(dòng)程序:只有當(dāng)Internet上運(yùn)行在其他計(jì)算機(jī)中的瀏覽器發(fā)出請(qǐng)求時(shí),服務(wù)器才會(huì)響應(yīng)
2、常見的WEB服務(wù)器
Tomcat服務(wù)器
Tomcat是一個(gè)實(shí)現(xiàn)了JAVA EE標(biāo)準(zhǔn)的最小的WEB服務(wù)器,是Apache 軟件基金會(huì)的Jakarta 項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache、Sun 和其他一些公司及個(gè)人共同開發(fā)而成。因?yàn)門omcat 技術(shù)先進(jìn)、性能穩(wěn)定,而且開源免費(fèi),因而深受Java 愛好者的喜愛并得到了部分軟件開發(fā)商的認(rèn)可,成為目前比較流行的Web 應(yīng)用服務(wù)器。學(xué)習(xí)JavaWeb開發(fā)一般都使用Tomcat服務(wù)器,該服務(wù)器支持全部JSP以及Servlet規(guī)范
Apache2服務(wù)器
Apache HTTP Server(簡(jiǎn)稱Apache)是Apache軟件基金會(huì)的一個(gè)開放源代碼的網(wǎng)頁服務(wù)器軟件,可以在大多數(shù)電腦操作系統(tǒng)中運(yùn)行,由于其跨平臺(tái)和安全性被廣泛使用,是最流行的Web服務(wù)器軟件之一。它快速可靠,并且可以通過簡(jiǎn)單API擴(kuò)充,將Python/Perl等解析器編譯到服務(wù)器中
IBM WebSphere服務(wù)器
WebSphere Application Server 是一種功能完善、開放的Web應(yīng)用程序服務(wù)器,是IBM公司電子商務(wù)計(jì)劃的核心部分,它是基于 Java 的應(yīng)用環(huán)境,用于建立、部署和管理 Internet 和 Intranet Web 應(yīng)用程序。這一整套產(chǎn)品進(jìn)行了擴(kuò)展,以適應(yīng) Web應(yīng)用程序服務(wù)器的需要,范圍從簡(jiǎn)單到高級(jí)直到企業(yè)級(jí)
WebLogic服務(wù)器
是美商Oracle的主要產(chǎn)品之一,系購并得來。是商業(yè)市場(chǎng)上主要的Java(J2EE)應(yīng)用服務(wù)器軟件之一,是世界上第一個(gè)成功商業(yè)化的J2EE應(yīng)用服務(wù)器,目前已推出到12c(12.1.1)版。而此產(chǎn)品也延伸出WebLogic Portal, WebLogic Integration等企業(yè)用的中間件(但目前Oracle主要以Fusion Middleware融合中間件來取代這些WebLogic Server之外的企業(yè)包),以及OEPE(Oracle Enterprise Pack for Eclipse)開發(fā)工具。
WebLogic最早由WebLogic Inc.開發(fā),后并入BEA公司,最終BEA公司又并入Oracle公司Nginx服務(wù)器
Nginx(發(fā)音同engine x)是一個(gè) Web服務(wù)器,也可以用作反向代理,負(fù)載平衡器和 HTTP緩存。該軟件由 Igor Sysoev 創(chuàng)建,并于2004年首次公開發(fā)布。同名公司成立于2011年,以提供支持。
Nginx 是免費(fèi)的開源軟件,根據(jù)類似 BSD許可證的條款發(fā)布。大部分 Web服務(wù)器通常使用 NGINX 作為負(fù)載均衡器。IIS服務(wù)器
Microsoft的Web服務(wù)器產(chǎn)品為Internet Information Services (IIS),IIS 是允許在公共Intranet或Internet上發(fā)布信息的Web服務(wù)器。ⅡS是目前最流行的Web服務(wù)器產(chǎn)品之一,很多著名的網(wǎng)站都是建立在ⅡS的平 臺(tái)上。IIS提供了一個(gè)圖形界面的管理工具,稱為Internet信息服務(wù)管理器,可用于監(jiān)視配置和控制Internet服務(wù)
Lighttpd服務(wù)器
Lighttpd是由一個(gè)德國人寫的開源軟件,其目標(biāo)是提供一個(gè)專門針對(duì)高性能網(wǎng)站,安全、快
速、兼容性好并且靈活的Web Server環(huán)境。它具有內(nèi)存開銷低、CPU占用率低、效能好,以及
模塊豐富等特點(diǎn)。支持FastCGI、CGI. Auth、輸出壓縮(output compress )、URL重寫及Alias
等重要功能。Lighttpd跟Nginx一樣,也是一款輕量級(jí)Web服務(wù)器,是Nginx的競(jìng)爭(zhēng)對(duì)手之一
相關(guān)案例查看更多
相關(guān)閱讀
- 表單
- 云南花農(nóng)小程序
- 網(wǎng)站排名
- Web開發(fā)框架
- 企業(yè)網(wǎng)站
- 智慧農(nóng)貿(mào)市場(chǎng)
- 搜索排名
- 云南建站公司
- 網(wǎng)站優(yōu)化公司
- 汽車報(bào)廢回收
- 云南etc小程序
- 網(wǎng)站開發(fā)
- 楚雄網(wǎng)站建設(shè)公司
- web開發(fā)技術(shù)
- 云南小程序哪家好
- 云南網(wǎng)站優(yōu)化公司
- 網(wǎng)絡(luò)公司電話
- 云南企業(yè)網(wǎng)站
- 云南省城鄉(xiāng)建設(shè)廳網(wǎng)站
- 百度排名
- 網(wǎng)絡(luò)公司報(bào)價(jià)
- 全國前十名小程序開發(fā)公司
- 搜索引擎優(yōu)化
- 昆明小程序公司
- 制作一個(gè)小程序
- 云南小程序開發(fā)推薦
- 公眾號(hào)模板消息
- 云南網(wǎng)站維護(hù)
- 江蘇小程序開發(fā)
- 小程序開發(fā)聯(lián)系方式