web中的http

http是超文本傳輸協議,是TCP/IP協議族中最重要的協議之一

以APACHE+PHP爲例,一次訪問頁面大概過程是:

1、用瀏覽器去訪問一個http頁面或其他資源

2、先去解析url中的域名或ip地址,再去查找本地的hosts文件中的域名和對應的Ip,如果在hosts文件有對應的項,就會向對應的IP地址發送請求,如果沒有再去DNS查找域名對應的IP地址,再去發送請求

3、去嘗試與服務器連接,查看是否連通

4、再去請求http頁面或其他資源,

5、服務器端的apache,根據地址去查找相應的資源,如果是PHP文件,會先將PHP文件交給PHP模塊去處理,將處理後的結果返回給apache

6、apache再將靜態的頁面傳給客戶端瀏覽器,

7、瀏覽器再根據返回的結果顯示爲對應的頁面


一個HTML頁面

<h1>http</h1>
<img src="http://www.baidu.com/img/baidu_sylogo1.gif" />
<img src="http://www.baidu.com/img/baidu_sylogo1.gif" />
<img src="ogo1.gif" />

會有3個請求,1、HTML頁面文件,2、http://www.baidu.com/img/baidu_sylogo1.gif,3、ogo1.gif


ogo1.gif對應的頭信息

  Request URL:http://localhost/test/ogo1.gif    請求地址

  Request Method:GET    請求方式

  Status Code:404 Not Found    狀態代碼 404 表示沒有找到

Request Headers    爲請求報頭

  GET/test/ogo1.gif HTTP/1.1    請求方式get 資源 協議

  Host: localhost    主機地址、端口,端口默認爲80

  Connection: keep-alive連接方式

  Cache-Control: max-age=0       表示經過0s會失效

  User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.19 (KHTML, likeGecko) Chrome/18.0.1025.142 Safari/535.19    客戶端信息

  Accept: */*    收的文件類型

  Referer: http://localhost/test/http.html    表示請求這個資源的來源地址,可以根據它來設置防盜鏈

  Accept-Encoding: gzip,deflate,sdch    接收的數據壓縮格式

  Accept-Language: zh-CN,zh;q=0.8    接收的語言

  Accept-Charset: GBK,utf-8;q=0.7,*;q=0.3          接收的字符集

  Cookie: PHPSESSID=435f8c621a055d8ec31d5b8b2a82322b     Cookie信息

Response Headers    爲響應報頭

  HTTP/1.1 404 Not     http協議 404 表示沒有找到

  FoundDate: Thu, 05 Apr 2012 06:18:31 GMT     查找時間 

  Server: Apache/2.2.4 (Win32)PHP/5.2.3    服務器的信息

  Last-Modified: Thu, 29 Mar2012 07:25:44 GMT    上次修改時間

  ETag:"23a3f-84-a1c70812;7fc477ef"     用於標識該url對象是否有修改

  Accept-Ranges: bytes     是否支持斷點續傳,爲bytes表示支持,若爲none表示不支持

  Content-Length: 132    表示當前會話字節數,而不web的資源數,/後爲資源總字節數

  Keep-Alive: timeout=5,max=99tcp    協議中判斷終端的活躍狀態,連接時間

  Connection: Keep-Alive     連接方式,tcp連接不會關閉,會保持連接

  Content-Type: text/html     文檔的類型



在php可以查看這些信息,這些信息會比以上的內容更多

print_r($_SERVER);

http的請求方式:主要有兩種GET、POST,在HTTP中本來沒有大小限制,但瀏覽器會對get的大小會限制

1、get會將請求的內容加在URL中


2、post不會將數據通過URL傳輸


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