WEB基礎:
定義:表示網頁,用於表示Internet主機上供外界訪問的資源
靜態:web頁面中供用戶瀏覽的數據始終是不變的,技術:html
動態:web頁面中供人們瀏覽的數據是由程序產生的,不同時間訪問web頁面看到的內容都是不同的,技術:JSP/Servlet、ASP、PHP
web服務器:ie訪問服務器,服務器訪問資源文件。資源文件將信息給服務器,服務器再將信息返回給ie
常見的:
Tomcat目錄結構:1.WebLogic,BEA公司的產品,目前應用最廣泛的Web服務器,支持J2EE規範,
2.Websphere:IBM公司,支持J2EE規範
3.Tomcat:apache公司,支持全部JSP以及Servlet規範
bin:存放啓動和關閉Tomcat的腳本文件
conf:存放Tomcat服務器的各種配置文件
lib:存放Tomcat服務器的支撐jar包
logs:存放Tomcat的日誌文件
temp:存放Tomcat運行時產生的臨時文件
webapps:web應用的所在目錄,供外界訪問的web資源的存放目錄
word:Tomcat的工作目錄
web資源的訪問流程:
http協議{
1.Hypertext Transfer Protocol(超文本傳輸協議),是TCP/IP協議的一個應用層協議,用於定義web服務器與web服務器之間交換數據的過程
2.客戶端連上web服務器後,若想獲得web服務器中某個web資源,需遵守一定的通訊格式,http協議用於定義客戶端和web服務器通訊的格式。telnet程序可以進行手動的連接web服務器,並使用http協議獲得數據)
3.版本:HTTP/1.0(一個連接只能獲得一次資源) HTTP/1.1(一個連接可以獲得多次資源)
請求信息{
定義:客戶端連上服務器之後,向服務器請求某個web資源,稱之爲客戶端向服務器發送了一個http請求,一個完整的http請求包括:一個請求行、若干請求頭、以及實體內容
GET /books/java.html HTTP/1.1
Accept: */*
Accept-Language: en-us
Connection: Keep-Alive
Host: localhost
Referer: http://localhost/links.asp
User-Agent: Mozilla/4.0
Accept-Encoding: gzip, deflate
xxxxxxx
請求行
多個消息頭
一個空行
實體內容
請求行:請求方式、請求資源的名稱、使用的http協議的版本號
請求方式:POST(數據放在請求的實體,數據量無限制)、GET(數據以跟在url地址後的方式提交,數據容量不得超過1K)、HEAD、OPTIONS、DELETE、TRACE、PUT,默認情況下瀏覽器向服務器訪問的方式都是GET、通過更改表單的提交方式可以將請求方式改爲POST
請求頭:用來描述客戶端請求的主機名,以及客戶端的環境信息{
Accept:通知服務器,客戶機支持的數據類型}
Accept-Charset:客戶機採用的編碼
Accept-Encoding:客戶機支持的數據壓縮格式
Accept-Language:客戶機的語言環境(例如:中文的系統訪問獲得的是中文頁面)
Host:客戶機想要訪問的主機名
If-Modified-Since:通知服務器,客戶機獲得的資源的緩存時間
Referer:告訴服務器,客戶機是從哪個資源訪問服務器的(防盜鏈使用)
User-Agent:客戶機的軟件環境(瀏覽器版本,操作系統信息)
Cookie:可以向服務器帶數據
Connection:告訴服務器,訪問完數據是關閉還是保持連接
Date:請求時間
Range:指示服務器只傳輸一部分web資源,用於實現斷點續傳的功能。Range頭域可以請求實體的一個或者多個子範圍。例如:表示頭500個字節:bytes=0-499 表示最後一個500字節:bytes=-500
}
響應信息{
定義:代表服務器向客戶端回送的數據,包括:一個狀態行、若干消息頭、以及實體內容
HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
Date: Thu, 13 Jul 2000 05:46:53 GMT
Content-Length: 2291
Content-Type: text/html
Cache-control: private
<HTML>
<BODY>
狀態行
多個消息頭
一個空行
實體內容
狀態行:描述服務器對請求的處理結果。包含協議版本、狀態碼、狀態說明
狀態碼:
狀態碼
含義
100~199
表示成功接收請求,要求客戶端繼續提交下一次請求才能完成整個處理過程
200~299
表示成功接收請求並已完成整個處理過程,常用200
300~399
爲完成請求,客戶需進一步細化請求。例如,請求的資源已經移動一個新地址,常用302、307和304
400~499
客戶端的請求有錯誤,常用404
500~599
服務器端處理資源出現錯誤,常用500
響應頭:描述服務器的基本信息,以及數據的描述,服務器通過這些數據的描述信息通知客戶機如何處理數據{
Location:配合302狀態碼使用,用來告訴客戶機找那個資源(重定向,改變uri地址)}
Server:告訴瀏覽器服務器的類型
Content-Encoding:告訴瀏覽器數據的壓縮格式(用於將數據進行壓縮,在告訴瀏覽器壓縮格式,瀏覽器才能進行解析)
Content-Length:告訴瀏覽器回送數據的長度
Content-Type:告訴瀏覽器回送的數據的類型(查看服務器的web.xml文件查看不同格式對應不同的寫法)
Last-Modified:告訴瀏覽器當前資源的緩存時間
Refresh:告訴瀏覽器隔多長時間刷新一次(可以在後面跟上一個地址,就會刷新到另一個資源)
Content-Disposition:告訴瀏覽器以下載的方式打開數據
Transfer-Encoding:告訴瀏覽器數據的傳輸格式
ETag:緩存相關的信息(相當於一個標識,瀏覽器根據該標識判斷是否需要使用緩存)
Expires:告訴瀏覽器把會送的資源緩存多長時間,-1和0爲不緩存
Cache-control:no-cache Pragma:no-cache :瀏覽器通過這兩個信息,控制瀏覽器不要緩存數據
Accept-Range:說明服務器是否支持range。支持返回bytes,不支持返回none
}實體內容:服務器向客戶端回送的數據(與響應頭用空行分割)
}
GET /books/java.html HTTP/1.1 Accept: */* Accept-Language: en-us Connection: Keep-Alive Host: localhost Referer: http://localhost/links.asp User-Agent: Mozilla/4.0 Accept-Encoding: gzip, deflate xxxxxxx |
請求行
多個消息頭
一個空行 數據 |