參考鏈接:http://blog.csdn.net/xuaman/article/details/69390301
靜態頁面,一般指html:
在靜態web程序中,客戶端使用web瀏覽器經過網絡連接到服務器上,使用HTTP協議發出一個請求,告訴服務器現在需要那個頁面,所有的請求都交給web服務器,之后web服務器根據用戶的需要,從文件系統取出內容,然后返回給客戶端,客戶端收到內容后經過瀏覽器解析渲染,得到顯示的效果
為了靜態web頁面更加好看,使用js、ajax,但這些都是在客戶端借助瀏覽器展現給用戶的,所以服務器本身沒有任何的變化
靜態web頁面無法連接數據庫
靜態web頁面 資源開發技術:html
由於現在的web頁面,大量使用js,導致瀏覽器打開頁面,就會占用大量的內存,這樣,服務器的壓力減輕,但是客戶端的壓力增加
動態web頁面,一般指jsp:
動態web中,程序依然使用客戶端和服務端,客戶端仍然使用瀏覽器,通過網絡連接到服務器上,通過HTTP協議發起請求,現在所有的請求都需要先經過一個web server來處理;如果客戶端請求的是靜態資源(*.html或者是*.htm),則將請求直接轉交給web 服務器,之后web服務器從文件系統中取出內容,發送回客戶端瀏覽器解析渲染;如果客戶端請求的是動態資源(*.jsp、*.asp、*.aspx、*.php),現將請求轉交給web container,在web container中連接數據庫,從數據庫中取出數據等一系列操作后動態拼湊頁面的展示內容,拼湊頁面的展示內容后,把所有的展示內容交給web服務器,之后通過web服務器將內容發送給客戶端瀏覽器進行解析渲染
再進一步深入分析動態web的訪問過程:瀏覽器訪問web時,並不直接訪問jsp頁面,其實,最先訪問的是web container(通常是tomcat),服務器創建好req和resp對象后再給jsp頁面使用,在jsp中完成設置字符集和取得表單參數后再調用servlet,完成業務處理,然后再返回jsp,jsp就會生成相應的html頁面,該頁面會返回到服務器,再由服務器,通過response對象返回給客戶端
為什么需要web服務器?(web server)
(1)不管什么web資源,若想被遠程計算機訪問,都必須有一個與之對應的網絡通信程序,當用戶來訪問時,這個網絡通信程序讀取web資源數據,並將數據發送給來訪者
(2)web服務器就是這樣一個程序,它完成底層網絡通信,處理http協議,使用服務器,開發者只需要關注web資源怎么編寫,而不需要關心資源如何發送到客戶端手中,從而極大的減輕了開發者的開發工具
常用的動態web資源開發技術:JSP/Servlet、ASP、PHP等
靜態頁面和動態頁面的區別:
1 靜態頁面內容一成不變,可直接用本地瀏覽器打開;動態頁面內容一般由依靠服務端的程序生成的,不同人、不同時候訪問頁面,顯示的內容都可能不同
2 html是一種解釋型語言,不需要指定的 編譯工具,只要在txt文檔中寫上html標記就可以正常顯示,jsp是Java服務端的頁面,四號動態的,需經過JDK編譯后把內容發送給客戶端去顯示
3 html和jsp的表頭不一樣,這個是JSP的頭“ <%@ page language="java" import="java.util.*" pageEncoding="gbk"%>”在表頭中有編碼格式和倒入包等。也是很好區分的,在jsp中用<%%>就可以寫Java代碼了,而html沒有<%%>