HTTP——學習筆記(2)

來源:互聯網
上載者:User

標籤:發送   get   學習筆記   刪除檔案   介面   post   用戶端   圖片   對比   

HTTP協議通訊雙方一定是用戶端和伺服器端,而且一定是由用戶端發出請求,由伺服器接受請求

用戶端發送的報文的構成:

伺服器端收到請求後響應的報文構成:

 

用戶端向伺服器端發送請求有多種方法:

get:擷取資源,用來請求訪問已被URI識別的資源。指定的資源經伺服器端解析後返迴響應內容。如果請求的資源是文本,就保持原樣返回;如果是像CGI(通用閘道介面)那樣的程式,則返回經過執行後的輸出結果。

post:傳輸實體主體,get也可以傳輸,但一般不用get傳輸

put:傳輸檔案,就想FTP協議的檔案上傳一樣,要求在請求報的主體中 包含檔案內容,然後儲存到請求URI指定的位置,但因為不限身份,安全性太差,所以一般web網站不用該方法

head:獲得報文首部,和get方法一樣,只是不返回報文主體部分

delete:刪除檔案,同put

options:詢問支援的方法,伺服器端會返回:get,pust,options等內容

connect:要求在與Proxy 伺服器通訊時建立隧道,實現用隧道協議進行TCP通訊,主要使用SSL(安全套接層)和TLS(傳輸層安全)協議把通訊內容加密後經網路隧道傳輸,伺服器端返回200 OK後進入隧道

trace:追蹤路徑,讓web伺服器端將之前的請求通訊環回給用戶端的方法

 

針對HTTP某些不足之處的彌補和修正:

1.HTTP協議初始版本中每進行一次HTTP通訊就要斷開一次TCP串連,如果請求的頁面中包含大量圖片,每次請求都要串連,再斷開,會造成通訊量的開銷,為瞭解決這個問題,HTTP/1.1用了持久串連的方法。

持久串連:只要任意一端沒有明確提出中斷連線,則保持TCP串連狀態

持久串連使發送多個請求時不用一個接一個地等待響應,可以不等待響應,直接發送下一個請求,這就是  管線化

持久串連讓請求變快,而管線化讓請求更快

2.HTTP協議是一種無狀態協議,即它不儲存之前發生過的請求和響應的狀態,無法根據之前的狀態進行本次的請求處理。

優點:節省了伺服器端的記憶體資源和cpu的消耗

弊端:在使用者登入某個網站進行瀏覽時,每跳轉新頁面就要重新登陸

解決:Cookie技術:在請求和響應報文中寫入Cookie資訊來控制用戶端的狀態。Cookie會根據從伺服器端發送的響應報文內的一個叫做Set-Cookie的首部欄位資訊,通知用戶端儲存Cookie,當下次用戶端再往該伺服器發送請求時,用戶端會自動在請求報文中加入Cookie值後發送出去,伺服器端發現用戶端發送過來的Cookie後,會去檢查究竟是從哪一個用戶端發來的串連請求,然後對比伺服器上的記錄,最後得到之前的狀態資訊

 

HTTP——學習筆記(2)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.