HTTP權威指南學習筆記

2021-07-10 03:35:28 字數 2548 閱讀 3554

一直以為學習前端只需要掌握js語法、html語法、css就夠了,確實沒有想到還需要很多知識點,今天來細細學習http。

乙個http請求由4部分組成:伺服器返回的http相應包含3部分:-乙個數字和文字組成的狀態碼,用來顯示請求的成功和失敗

-乙個響應頭集合

-響應主體

最常用的web伺服器是apache和microsoft的internet資訊伺服器(internet information services,iis)。

應用層使用http協議。

html(標準通用標記語言下的乙個應用)文件格式。

瀏覽器統一資源定位器(url)。

工作原理

1.建立連線——接收乙個客戶端連線。

2.接收請求——從網路中讀取一條http請求報文。

3.處理請求——對請求報文進行解釋,並採取行動。

4.訪問資源——訪問報文中指定的資源。

5.構建響應——建立帶有正確首部的http響應報文。

6.傳送響應——將響應回送給客戶端。

7.記錄事務處理過程——將與已完成事務有關的內容記錄在乙個日誌檔案中。

web快取的原理,以http get報文為例,如下圖:

1.接收——快取從網路中讀取抵達的請求報文

2.解析——快取對報文進行解析,提取出url和各種首部

3.查詢——快取檢視本地是否有副本可用,如果沒有,就獲取乙份副本

4.新鮮度檢測——快取檢視已快取副本是否足夠新鮮,如果不是,就詢問伺服器是否有任何更新

5.建立響應——快取會有新的首部和已快取的主體來構建一條響應報文

6.傳送——快取通過網路將響應發回客戶端

7.日誌——快取可選的建立乙個日誌檔案條目來描述這個事務

該圖中,表明了乙個使用者登入的過程:

1.客戶端(瀏覽器)對站點www.jos-hardware.com發起請求

2.站點不知道這個使用者的身份,因此返回401 login required http響應碼,並新增到www-authentication首部,要求使用者登入(為了不讓使用者每次傳送請求都要登入一次,大多數瀏覽器都會記住某站點的登入資訊,並將登入資訊放在傳送給該站點的每條請求中)

3.只要使用者輸入了使用者名稱與密碼,瀏覽器就會重複原來的請求,這次它會田間乙個authorization首部。

4.伺服器知道使用者的身份了

5.今後的請求要用到使用者名稱和密碼時,瀏覽器會自動將儲存的值傳送出去,甚至站點不要求登入資訊也會傳送。也就是說以後每次請求,瀏覽器都自動為請求新增authorization首部。登入一次,就能維持整個會話期間的使用者身份。

cookie是識別當前使用者,實現持久會話的最好方式

cookie分為

持久cookie

兩者的區別實質上就在於有沒有設定discard引數,或者expires、max-age引數來說明擴充套件過期時間。

1.使用者首次訪問伺服器,web伺服器對使用者一無所知,要求使用者再次回來,給使用者貼上乙個標籤cookie id=「34394」

2.當使用者再次訪問伺服器的時候,伺服器可以用這個id去查詢該使用者積累的資料庫資訊(購物歷史、位址資訊)

3.cookie並不限於id號,很多web伺服器的資訊都將直接儲存在cookie中,瀏覽器會記住從伺服器返回的set-cookie或set-cookie2首部中的cookie內容,並將cookie集儲存在cookie資料庫中。

乙個例子

1.瀏覽器首次請求amazon.com頁面

2.瀏覽器將使用者重定向到乙個電子商務軟體的url上

3.客戶端對重定向的url發起請求

4.伺服器在響應時貼上兩個會話cookie,並將使用者重定向到另乙個url,這樣客戶端就會用這些附加的cookie再次發起請求。這個新的url是乙個胖url(有些狀態嵌入到url中了)。如果客戶端禁止了cookie,只要使用者一直跟隨amazon的胖url,不離開**,仍然可以實現一些基本的標識功能

5.客戶端請求新的url,但現在會傳送兩個附加的cookie

6.伺服器重定向到home.html,並附加另外兩個cookie

7.客戶端獲取home.html頁面並將所有四個cookie都傳送出去

8.伺服器回送內容

《http權威指南》學習筆記

型別 uri 當給定了uri,http就可以解析出物件。uri有兩種形式,分別稱為url和urn。url urn 事務 狀態碼 web頁面中可以包含多個物件 協議版本 web的結構元件 位於客戶端和伺服器之間,接收所有客戶端的http請求,並將這些請求 給伺服器 可能會對請求進行修改之後 快取 we...

HTTP權威指南 學習筆記

目錄http結構 web機械人 識別,認證與安全 內容發布與分發 http hypertext transfer protocol,超文字傳輸協議 一條http事物由一條請求命令和乙個響應結果組成。http報文 http message 格式化資料塊進行的。每條http響應報文返回時都會攜帶乙個狀態...

《HTTP權威指南》學習筆記 HTTP報文

http 網際網路的信使 http報文 信使用來搬東西的包裹 http報文 http應用程式之間傳送的資料塊 組成 元資訊開頭 文字形式,描述報文的內容和含義 可選的資料部分。三部分組成 報文的語法 兩類 請求報文和響應報文 請求報文格式 響應報文格式 起始行 請求行 說明要做些什麼 響應行 說明發...