今天上《
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 指的是網頁的顯示內容可以隨著時間 環境或者資料操作的結果而實時發生改...
靜態動態網頁
靜態網頁是相對於動態網頁而言的,是指沒有後台資料庫,不包含程式,不可互動的網頁。靜態網頁的特點 開發人員寫了什麼,顯示就是什麼,一旦編寫完成,就不會有任何改變。靜態網頁一般適用於更新較少的展示型網頁,例如 酒水,家具,水果等宣傳頁 是很多中小 的展示方式。靜態網頁資源對應擴充套件名為 靜態網頁重要特...