看了書和各種網上資料, 學東西嘛, 要做總結, 這些老筆記整理一下, 供以後方便查閱也加強印象和理解.可細分為 :
如get, head, post
關於http請求get和post的區別 :
1.提交方式的區別:
2.傳輸資料的大小:- get提交,請求的資料會附在url之後(就是把資料放置在http協議頭<request-line>中),以?分割url和傳輸資料,多個引數用&連線;例如:login.action?name=hyddd&password=idontknow&verify=%e4
%bd%a0
%e5%a5
%bd。如果資料是英文本母/數字,原樣傳送,如果是空格,轉換為+,如果是中文/其他字元,則直接把字串用base64加密,得出如: %e4
%bd%a0
%e5%a5
%bd,其中%xx中的xx為該符號以16進製表示的ascii。
- post提交:把提交的資料放置在是http包的包體<request-body>中。上文示例中紅色字型標明的就是實際的傳輸資料
因此,get提交的資料會在位址列中顯示出來,而post提交,位址列不會改變
安全性:首先宣告,http協議沒有對傳輸的資料大小進行限制,http協議規範也沒有對url長度進行限制。 而在實際開發中存在的限制主要有:
get:特定瀏覽器和伺服器對url長度有限制,例如ie對url長度的限制是2083位元組(2
k+35)。對於其他瀏覽器,如netscape、firefox等,理論上沒有長度限制,其限制取決於作業系統的支援。
因此對於get提交時,傳輸資料就會受到url長度的限制。
post:由於不是通過url傳值,理論上資料不受限。但實際各個web伺服器會規定對post提交資料大小進行限制,apache、iis6都有各自的配置。
url是瀏覽器尋找資訊時所需的資源位置 .post的安全性要比get的安全性高。注意:這裡所說的安全性和上面get提到的「安全」不是
同個概念。上面「安全」的含義僅僅是不作資料修改,而這裡安全的含義是真正的security
的含義,比如:通過get提交資料,使用者名稱和密碼將明文出現在url上,因為(1)
登入頁面有可能被瀏覽器快取, (2)
其他人檢視瀏覽器的歷史紀錄,那麼別人就可以拿到你的賬號和密碼了,
url分為三個部分 :
- url文案
- 伺服器位置
- 資源路徑
上圖中的http/1.0 200 ok, http/1.0就是版本號
如最著名的404, 302, 如上圖中的http/1.0 200 ok中, 狀態碼就是200
如上圖中的http/1.0 200 ok中, ok就是原因短語
HTTP報文整理
首先,客戶端和伺服器直接是有互動的 請求訪問 與 響應 報文,就是攜帶了客戶端與伺服器 還有 之間交流資訊的資料塊。簡要拎出兩點 起始行 請求行 首部塊this is a test 響應頭version 同上 status 狀態碼,常見網頁狀態碼有404 伺服器無法找到請求的url響應的資源 上面的...
HTTP學習筆記 HTTP報文
如果說http是網際網路的信使,那麼http報文就是運送的包裹。所有的http程式都是通過互相傳送報文來完成工作的。本文將介紹http報文的流動方式,報文的組成部分,請求和響應報文之間的區別等。http報文是在http應用程式之間傳送的資料塊,這些資料塊以文字形式存在,以描述了報文的內容及含義的元資...
HTTP學習筆記 HTTP報文資訊
http報文本身由多行資料構成的字串文字。大致分為報文首部和報文主體兩塊,由 cr lf 來劃分。通常並不一定要有報文主體。包含用於請求的方法,請求的uri和http版本。包含表明響應結果的狀態碼,原因短語和http版本。包含表示請求和響應的各種條件和屬性的各類首部。通用首部,請求首部,響應首部,實...