原創 對靜態網頁和動態網頁的進一步理解

2021-09-20 14:01:45 字數 3394 閱讀 7704

今天上《

asp.net程式設計》課老師問了我乙個問題:

asp.net的網頁從伺服器呈現到客戶端瀏覽器上,

在瀏覽器上顯示的頁面是靜態的還是動態的呢?當時我想也沒想就回答是動態的,因為之前理解的靜態頁面

是以.html或

.htm副檔名結尾的頁面就是靜態頁面,而且這樣的頁面跟資料庫沒有資料交換,不用提交表單;

動態的頁面呢則大部分是以

.php,

.jsp,

.asp,

.aspx等副檔名結尾的頁面,這些頁面都是跟伺服器或資料庫

有資料交換的,需要提交使用者輸入的資料。但是老師說不對,呈現在瀏覽器上的頁面是靜態的。這下我就有點

迷糊了,它明明是以

.aspx為副檔名的頁面嘛,為什麼會是靜態的呢?好吧,待我

google一下。

(唉!想想剛才老師還當著全班同學誇我來呢,這下

…丟人了!!!

終於,我在天涯問答中找到了這樣的答案:

asp動態網頁與普通的靜態網頁在顯示上有很大不同,它整個的執行過程可分成以下幾步:

1步:使用者在瀏覽器的**欄中輸入

.asp檔名稱,並回車觸發這個

asp的請求。

2步:瀏覽器將這個

active server pages的請求傳送給

iis

3步:

iis接收這個請求並根據其

.asp的字尾,意識到這是個

asp請求。

4步:

iis從硬碟或記憶體中接收正確的

asp檔案。

5步:

iis將這個檔案傳送到乙個叫

asp.dll的特定檔案中。

6步:

asp檔案將會從頭至尾被執行,並根據命令要求生成相應的靜態頁面,生成

html主頁。

7步:

html主頁將被送回瀏覽器。

8步:

html主頁將會被使用者瀏覽器解釋執行並顯示在使用者瀏覽器上。

為了清晰地說明問題,以上步驟已經進行了很大簡化。事實上,乙個

asp並不一定每次都會重新編譯解釋,如果第二次接受以前的請求,而該請求沒有任何變化,

asp會從資料快取中提取出以前的結果,而不是再次執行

asp程式,這樣可以大大提高運算速度。

對於伺服器來說,

asp

html有著本質的區別,

html是不經任何處理就被送回給瀏覽器,而

asp的每一條命令都首先被用來生成

html檔案,這也正是

asp允許生成動態內容的原因之一,也是動態網頁複雜之所在。

另一方面,對於瀏覽器來說,

asp

html幾乎沒有區別,僅僅是字尾為

*.asp

*.htm(或

*.html)的不同,當客戶端提出

asp請求後,瀏覽器接受的其實是

html格式的檔案。通過以上乙個簡單的

asp例子,有兩點必須記住:有些**是在伺服器端執行,有些是在客戶端瀏覽器端執行,而在瀏覽器端看到的是經過伺服器解釋之後輸出的**。

(個人認為

asp和

aspx

的編譯原理應該等同吧,不知道是不是這樣,下來在查查)

哦,原來是這樣啊。這下我就明白了,(特別是其中的5,

6,7步)原來動態的頁面都是經過編譯處理後在以靜態頁面的方式

傳送到瀏覽器上啊,這樣在瀏覽器上顯示的就是靜態頁面,即使它是以

.aspx

副檔名結尾的。

然後,為了驗證這一想法是否正確,我又做了乙個實驗。

昨天上《網路資料庫》的課時老師是用

asp的網頁給我們做的示範,所以我就在瀏覽器上將

.asp

頁面開啟,然後右鍵檢視原始檔,

再把.asp

的源網頁檔案以記事本開啟,這樣一對比,還真發現了一些不同。

(這裡為了好辨別將

.asp

頁面稱為

asp伺服器頁面,

將在瀏覽器上右鍵檢視原始檔開啟的頁面稱為客戶端檔案)在

asp伺服器頁面中編寫的一些指令碼**,

vbscript

**函式之類的

**在客戶端檔案中都沒有顯示出來,而相應的功能卻是實現了。然後我又做了個

.aspx

的頁面,用同樣的方法做了對比,

發現在.aspx

頁面中編寫的伺服器**在客戶端上均用

html

標籤進行了相應的轉換,這樣來達到所要實現的效果。

這樣看來,靜態頁面和動態頁面原來不僅僅是副檔名不同,還有更實質的東西在裡面啊!

靜態網頁和動態網頁

想知道什麼是偽靜態,那麼我們必須知道什麼是靜態和動態的,之前沒有接觸 的時候,認為靜態的就是沒有flash多的頁面,動態的就是有flash的頁面,發現這真是乙個片面的理解,現在才知道這並不是區別靜態和動態的原理,而是通過 來區別的 靜態 是指全部由html 格式頁面組成的 所有的內容包含在網頁檔案中...

靜態網頁和動態網頁

總有人覺得網頁中有動態圖的就叫動態網頁了,而沒有的就叫靜態網頁。你們那是錯的想法,那到底什麼是對的呢,讓我來告訴你們吧。指的是一旦用html寫完了之後,網頁的內容和顯示效果就不會發生變化的網頁,如果想改變除非手動修改網頁的html 指的是網頁的顯示內容可以隨著時間 環境或者資料操作的結果而實時發生改...

靜態動態網頁

靜態網頁是相對於動態網頁而言的,是指沒有後台資料庫,不包含程式,不可互動的網頁。靜態網頁的特點 開發人員寫了什麼,顯示就是什麼,一旦編寫完成,就不會有任何改變。靜態網頁一般適用於更新較少的展示型網頁,例如 酒水,家具,水果等宣傳頁 是很多中小 的展示方式。靜態網頁資源對應擴充套件名為 靜態網頁重要特...