web開發中靜态資源與動态資源的(de)區别 - 新聞資訊 - 雲南小程序開發|雲南軟件開發|雲南網站建設-昆明融晨信息技術有限公司

159-8711-8523

雲南網建設/小程序開發/軟件開發

知識

不(bù)管是(shì)網站,軟件還是(shì)小程序,都要(yào / yāo)直接或間接能爲(wéi / wèi)您産生價值,我們在(zài)追求其視覺表現的(de)同時(shí),更側重于(yú)功能的(de)便捷,營銷的(de)便利,運營的(de)高效,讓網站成爲(wéi / wèi)營銷工具,讓軟件能切實提升企業内部管理水平和(hé / huò)效率。優秀的(de)程序爲(wéi / wèi)後期升級提供便捷的(de)支持!

您當前位置>首頁 » 新聞資訊 » 網站建設 >

web開發中靜态資源與動态資源的(de)區别

發表時(shí)間:2018-9-3

發布人(rén):融晨科技

浏覽次數:53

一、靜态web頁面

1、在(zài)靜态Web程序中,客戶端使用Web浏覽器(IE、FireFox等)經過網絡(Network)連接到(dào)服務器上(shàng),使用HTTP協議發起一個(gè)請求(Request),告訴服務器我現在(zài)需要(yào / yāo)得到(dào)哪個(gè)頁面,所有的(de)請求交給Web服務器,之(zhī)後WEB服務器根據用戶的(de)需要(yào / yāo),從文件系統(存放了(le/liǎo)所有靜态頁面的(de)磁盤)取出(chū)内容。之(zhī)後通過Web服務器返回給客戶端,客戶端接收到(dào)内容之(zhī)後經過浏覽器渲染解析,得到(dào)顯示的(de)效果。

2、爲(wéi / wèi)了(le/liǎo)讓靜态web頁面顯示更加好看,使用javascript/VBScript/ajax(AJAX即“Asynchronous Javascript And XML”(異步JavaScript和(hé / huò)XML),是(shì)指一種創建交互式網頁應用的(de)網頁開發技術。)但是(shì)這(zhè)些特效都是(shì)在(zài)客戶端上(shàng)借助于(yú)浏覽器展現給用戶的(de),所以(yǐ)在(zài)服務器上(shàng)本身并沒有任何的(de)變化。

3、靜态web無法連接數據庫;

4、靜态web資源開發技術:HTML;

5、由于(yú)現在(zài)的(de)web頁面中,大(dà)量使用JS,導緻浏覽器打開頁面,就(jiù)會占用大(dà)量的(de)内存,服務端的(de)壓力是(shì)減輕了(le/liǎo),但壓力轉移到(dào)了(le/liǎo)客戶端。

二、動态web頁面

動态WEB中,程序依然使用客戶端和(hé / huò)服務端,客戶端依然使用浏覽器(IE、FireFox等),通過網絡(Network)連接到(dào)服務器上(shàng),使用HTTP協議發起請求(Request),現在(zài)的(de)所有請求都先經過一個(gè)WEB Server來(lái)處理。

如果客戶端請求的(de)是(shì)靜态資源(*.htm或者是(shì)*.htm),則将請求直接轉交給WEB服務器,之(zhī)後WEB服務器從文件系統中取出(chū)内容,發送回客戶端浏覽器進行解析執行。

如果客戶端請求的(de)是(shì)動态資源(*.jsp、*.asp/*.aspx、*.php),則先将請求轉交給WEB Container(WEB容器),在(zài)WEB Container中連接數據庫,從數據庫中取出(chū)數據等一系列操作後動态拼湊頁面的(de)展示内容,拼湊頁面的(de)展示内容後,把所有的(de)展示内容交給WEB服務器,之(zhī)後通過WEB服務器将内容發送回客戶端浏覽器進行解析執行。

再進一步深入分析動态web的(de)訪問過程:浏覽器訪問web時(shí),看似是(shì)直接訪問的(de)jsp頁面,其實是(shì),最先到(dào)達的(de)地(dì / de)方是(shì)服務器,服務器創建好req和(hé / huò)resp對象後再給jsp頁面使用。在(zài)jsp中完成設置字符集和(hé / huò)取得表單參數後再調用servlet,完成業務處理。然後返回到(dào)jsp,jsp就(jiù)會生成相應的(de)html頁面。該頁面會返回到(dào)服務器,再由服務器,通過response對象返回給客戶端。

爲(wéi / wèi)什麽需要(yào / yāo)web服務器?(web server)

1)不(bù)管什麽web資源,想被遠程計算機訪問,都必須有一個(gè)與之(zhī)對應的(de)網絡通信程序,當用戶來(lái)訪問時(shí),這(zhè)個(gè)網絡通信程序讀取web資源數據,并把數據發送給來(lái)訪者。

2)WEB服務器就(jiù)是(shì)這(zhè)樣一個(gè)程序,它用于(yú)完成底層網絡通迅,處理http協議。使用這(zhè)些服務器,We應用的(de)開發者隻需要(yào / yāo)關注web資源怎麽編寫,而(ér)不(bù)需要(yào / yāo)關心資源如何發送到(dào)客戶端手中,從而(ér)極大(dà)的(de)減輕了(le/liǎo)開發者的(de)開發工作量。

常用動态web資源開發技術:JSP/Servlet、ASP、PHP等。

三、關于(yú)兩者區别的(de)簡單直接的(de)描述

1、靜态頁面就(jiù)是(shì)設計者把頁面上(shàng)所有東西都設定好、做死了(le/liǎo),然後放上(shàng)去,不(bù)管是(shì)誰在(zài)任何時(shí)候看到(dào)的(de)頁面内容都是(shì)一樣的(de),一成不(bù)變(除非手動修改頁面内容)。靜态html頁面文件,可以(yǐ)直接用本地(dì / de)的(de)浏覽器打開。比如:file:///Users/Phil/Documents/DevOps/HBuilderProjects/testJSP/index.html。

2、動态頁面的(de)内容一般都是(shì)依靠服務器端的(de)程序來(lái)生成的(de),不(bù)同人(rén)、不(bù)同時(shí)候訪問頁面,顯示的(de)内容都可能不(bù)同。網頁設計者在(zài)寫好服務器端的(de)頁面程序後,不(bù)需要(yào / yāo)手工控制,頁面内容會按照頁面程序的(de)安排自動更改變換。

3、html是(shì)w3c規範的(de)一種網頁書寫格式,是(shì)一種統一協議語言,靜态網頁。我們上(shàng)網看的(de)網頁都是(shì)大(dà)部分都是(shì)基于(yú)html語言的(de)。jsp是(shì)一種基于(yú)動态語言,jsp可以(yǐ)實現html的(de)所有任務,4、HTML(Hypertext Markup Language)文本标記語言,它是(shì)靜态頁面,和(hé / huò)JavaScript一樣解釋性語言,爲(wéi / wèi)什麽說(shuō)是(shì)解釋性語言呢?因爲(wéi / wèi),隻要(yào / yāo)你有一個(gè)浏覽器那麽它就(jiù)可以(yǐ)正常顯示出(chū)來(lái),而(ér)不(bù)需要(yào / yāo)指定的(de)編譯工具,隻需在(zài)TXT文檔中寫上(shàng)HTML标記就(jiù)可以(yǐ)正常顯示。

JSP(Java Server Page)是(shì)Java服務端的(de)頁面,所以(yǐ)它是(shì)動态的(de),它是(shì)需要(yào / yāo)經過JDK編譯後把内容發給客戶端去顯示,我們都知道(dào),Java文件編譯後會産生一個(gè)class文件,最終執行的(de)就(jiù)是(shì)這(zhè)個(gè)class文件,5、JSP的(de)前身是(shì)servlet;6、html和(hé / huò)jsp的(de)表頭不(bù)一樣,這(zhè)個(gè)是(shì)JSP的(de)頭“ <%@ page language="java" import="java.util.*" pageEncoding="gbk"%>”在(zài)表頭中有編碼格式和(hé / huò)倒入包等。也(yě)是(shì)很好區分的(de),在(zài)jsp中用<%%>就(jiù)可以(yǐ)寫Java代碼了(le/liǎo),而(ér)html沒有<%%>。

7、,不(bù)認識jsp或者asp什麽什麽的(de),但是(shì)有時(shí)候界面需要(yào / yāo)邏輯控制,所以(yǐ)我們就(jiù)用相應的(de)技術來(lái)實現,這(zhè)樣比較方便。而(ér)jsp在(zài)後台通過服務器解析爲(wéi / wèi)相應的(de)html,然後在(zài)供浏覽器識别顯示。例如

<%

if(flag == a){

<label>a<label>

}else {

<label>b<label>

}

%>

服務器在(zài)讀取到(dào)這(zhè)段代碼後,根據相應的(de)業務邏輯,編譯成相應的(de)servlet,再由servlet輸出(chū)到(dào)頁面(輸出(chū)的(de)就(jiù)是(shì)html)。

四、實驗測試

1、在(zài)HBuilder中創建jsp頁面,其内置的(de)web靜态服務器不(bù)能解析jsp表頭,隻能作爲(wéi / wèi)文本顯示輸出(chū),但是(shì)可以(yǐ)解析其中的(de)html部分。浏覽器不(bù)能直接打開jsp文件。jsp頁面如果想正确的(de)顯示,需要(yào / yāo)web容器進行解析。

2、在(zài)IntelliJ中創建web application,需要(yào / yāo)啓動tomcat,才能運行jsp,可以(yǐ)順利解析jsp的(de)表頭。

文章部分轉載自 https://www.cnblogs.com/bluesungz/p/5955170.html

相關案例查看更多