java自學之路-----web_基礎、請求頭和響應頭

WEB基礎:

定義:表示網頁,用於表示Internet主機上供外界訪問的資源

靜態:web頁面中供用戶瀏覽的數據始終是不變的,技術:html

動態:web頁面中供人們瀏覽的數據是由程序產生的,不同時間訪問web頁面看到的內容都是不同的,技術:JSP/Servlet、ASP、PHP

web服務器:ie訪問服務器,服務器訪問資源文件。資源文件將信息給服務器,服務器再將信息返回給ie

常見的:

1.WebLogic,BEA公司的產品,目前應用最廣泛的Web服務器,支持J2EE規範,

2.Websphere:IBM公司,支持J2EE規範

3.Tomcat:apache公司,支持全部JSP以及Servlet規範

Tomcat目錄結構:

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

請求行

 

 

多個消息頭

 

 

 

 

一個空行

數據


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章