Http協(xié)議基礎(chǔ)知識點(diǎn)

什么是HTTP協(xié)議

超文本傳輸協(xié)議(HTTP)是一種通信協(xié)議,它允許將超文本標(biāo)記語言(HTML)文檔從Web服務(wù)器傳送到客戶端的瀏覽器。

當(dāng)我們輸入URL后,瀏覽器給Web服務(wù)器發(fā)送了一個Request, Web服務(wù)器接到Request后進(jìn)行處理,生成相應(yīng)的Response,然后發(fā)送給瀏覽器, 瀏覽器解析Response中的HTML,這樣我們就看到了網(wǎng)頁。請求Request 有可能是經(jīng)過了代理服務(wù)器,最后才到達(dá)Web服務(wù)器的。

schema://host[:port#]/path/.../[?query-string][#anchor]

scheme?????????????? 指定低層使用的協(xié)議(例如:http, https, ftp)

host?????????????????? HTTP服務(wù)器的IP地址或者域名

port#???????????????? HTTP服務(wù)器的默認(rèn)端口是80,這種情況下端口號可以省略。如果使用了別的端口,必須指明,例如 http://www.cnblogs.com:8080/

path?????????????????? 訪問資源的路徑

query-string?????? 發(fā)送給http服務(wù)器的數(shù)據(jù)

anchor-???????????? 錨

GET和POST方法

GET一般用于獲取/查詢資源信息,而POST一般用于更新資源信息。

1. GET提交的數(shù)據(jù)會放在URL之后,以?分割URL和傳輸數(shù)據(jù),參數(shù)之間以&相連,如EditPosts.aspx?name=test1&id=123456.? POST方法是把提交的數(shù)據(jù)放在HTTP包的Body中.

2. GET提交的數(shù)據(jù)大小有限制(因?yàn)闉g覽器對URL的長度有限制),而POST方法提交的數(shù)據(jù)沒有限制.

3. GET方式需要使用Request.QueryString來取得變量的值,而POST方式通過Request.Form來獲取變量的值。

4. GET方式提交數(shù)據(jù),會帶來安全問題,比如一個登錄頁面,通過GET方式提交數(shù)據(jù)時,用戶名和密碼將出現(xiàn)在URL上,如果頁面可以被緩存或者其他人可以訪問這臺機(jī)器,就可以從歷史記錄獲得該用戶的賬號和密碼.

常見狀態(tài)碼:200/400/404/500/503

狀態(tài)碼用來告訴HTTP客戶端,HTTP服務(wù)器是否產(chǎn)生了預(yù)期的Response.

HTTP/1.1中定義了5類狀態(tài)碼, 狀態(tài)碼由三位數(shù)字組成,第一個數(shù)字定義了響應(yīng)的類別

1XX? 提示信息 - 表示請求已被成功接收,繼續(xù)處理

2XX? 成功 - 表示請求已被成功接收,理解,接受;

3XX? 重定向 - 要完成請求必須進(jìn)行更進(jìn)一步的處理;

4XX? 客戶端錯誤 -? 請求有語法錯誤或請求無法實(shí)現(xiàn);

5XX? 服務(wù)器端錯誤 -?? 服務(wù)器未能實(shí)現(xiàn)合法的請求;

400 Bad Request? 客戶端請求與語法錯誤,不能被服務(wù)器所理解

404 Not Found? 請求資源不存在(輸錯了URL)

500 Internal Server Error 服務(wù)器發(fā)生了不可預(yù)期的錯誤

503? Server Unavailable 服務(wù)器當(dāng)前不能處理客戶端的請求,一段時間后可能恢復(fù)正常

cookie 和session 的區(qū)別

1、cookie數(shù)據(jù)存放在客戶的瀏覽器上,session數(shù)據(jù)放在服務(wù)器上。

2、cookie不是很安全,別人可以分析存放在本地的COOKIE并進(jìn)行COOKIE欺騙考慮到安全應(yīng)當(dāng)使用session。

3、session會在一定時間內(nèi)保存在服務(wù)器上。當(dāng)訪問增多,會比較占用你服務(wù)器的性能。

考慮到減輕服務(wù)器性能方面,應(yīng)當(dāng)使用COOKIE。

4、單個cookie保存的數(shù)據(jù)不能超過4K,很多瀏覽器都限制一個站點(diǎn)最多保存20個cookie。

5、所以將登陸信息等重要信息存放為SESSION,其他信息如果需要保留,可以放在COOKIE中。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容