http協議經常使用功能整理

本部份內容整理於互聯網html

HTTP定義:web

協議是指計算機通訊網絡中兩臺計算機之間進行通訊所必須共同遵照的規定或規則,超文本傳輸協議(HTTP)是一種無狀態通訊協議,它容許將超文本標記語言(HTML)文檔從Web服務器傳送到客戶端的瀏覽器。瀏覽器

HTTP無狀態機制:
http協議是無狀態的,同一個客戶端的此次請求和上次請求是沒有對應關係,對http服務器來講,它並不知道這兩個請求來自同一個客戶端。 爲了解決這個問題, Web程序引入了Cookie機制來維護狀態.
緩存

http工做流程:一次HTTP操做稱爲一個事務,其工做過程可分爲四步安全

 1. 當你在瀏覽器輸入URL http://www.baidu.com 的時候,瀏覽器發送一個Request去獲取百度的html.  服務器把Response發送回給瀏覽器.服務器

2. 瀏覽器分析Response中的 HTML,發現其中引用了不少其餘文件,好比圖片,CSS文件,JS文件。網絡

3. 瀏覽器會自動再次發送Request去獲取圖片,CSS文件,或者JS文件。session

4. 等全部的文件都下載成功後。 網頁就被顯示出來了。spa

 URL詳解
 URL(Uniform Resource Locator) 地址用於描述一個網絡上的資源,  基本格式以下orm

schema://host[:port#]/path/.../[?query-string][#anchor]
scheme               指定低層使用的協議(例如:http, https)

host                   HTTP服務器的IP地址或者域名

port#                 HTTP服務器的默認端口是80,這種狀況下端口號能夠省略。若是使用了別的端口,必須指明.

path                   訪問資源的路徑

query-string       發送給http服務器的數據

anchor-             錨

Get和Post方法的區別
Http協議定義了不少與服務器交互的方法,最基本的有4種,分別是GET,POST,PUT,DELETE. 一個URL地址用於描述一個網絡上的資源,而HTTP中的GET, POST, PUT, DELETE就對應着對這個資源的查,改,增,刪4個操做。 咱們最多見的就是GET和POST了。GET通常用於獲取/查詢資源信息,而POST通常用於更新資源信息.

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

2. GET提交的數據大小有限制(由於瀏覽器對URL的長度有限制),而POST方法提交的數據沒有限制.

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

4. GET方式提交數據,會帶來安全問題,好比一個登陸頁面,經過GET方式提交數據時,用戶名和密碼將出如今URL上,若是頁面能夠被緩存或者其餘人能夠訪問這臺機器,就能夠從歷史記錄得到該用戶的帳號和密碼.

Session機制Session機制是一種服務器端的機制,服務器使用一種相似於散列表的結構(也可能就是使用散列表)來保存信息。 當程序須要爲某個客戶端的請求建立一個session的時候,服務器首先檢查這個客戶端的請求裏是否已包含了一個session標識 - 稱爲 session id,若是已包含一個session id則說明之前已經爲此客戶端建立過session,服務器就按照session id把這個 session檢索出來使用(若是檢索不到,可能會新建一個),若是客戶端請求不包含session id,則爲此客戶端建立一個session而且生成一個與此session相關聯的session id,session id的值應該是一個既不會重複,又不容易被找到規律以仿造的字符串,這個 session id將被在本次響應中返回給客戶端保存。Cookie的流程服務器在響應消息中用Set-Cookie頭將Cookie的內容回送給客戶端,客戶端在新的請求中將相同的內容攜帶在Cookie頭中發送給服務器。從而實現會話的保持

相關文章
相關標籤/搜索