標籤:發送 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)