http:全稱「超文字傳輸協議」,它是乙個應用層的協議,使用埠號80,關鍵要知道它是乙個無狀態的協議。
無狀態就是後續處理訊息,沒有前面的訊息。
1、cookie
2、session
cookie:
由伺服器產生,瀏覽器收到請求後,儲存在本地;瀏覽器下次請求伺服器時,就是帶上cookie,這樣伺服器就知道是誰來請求了,也就做到了有狀態;由於cookie大小限制為4096位元組,儲存在客戶端存在安全隱患,因此引入了session;
session:
與cookie的作用類似,只是存在了伺服器端,更加的安全。
get:使用者請求已經被uri識別的資源;
post:將資訊傳輸到伺服器,主要功能與get類似,推薦使用post;
put:將檔案傳送到伺服器;
head:獲得報文首部,與get方法類似,get獲取內容,head獲取首部;
delete:刪除檔案,與put相反
options:查詢uri支援的http方法;
常見面試題:
get和post的區別:
1、get的重點是從伺服器獲取資源,post的重點是向伺服器傳輸資訊;
2、get的請求引數在url之後,使用者可見,不安全,post的請求封裝的http請求實體中,使用者不可見,比較安全;
3、get傳輸的資料量比較小;post傳輸的資料量比較大;
4、get只支援ascii字符集,傳遞中文會亂碼;post支援標準字符集,可以正確傳遞中文。
200:請求被正常處理;
204:請求被處理,但是沒有資源可以返回;
206:客戶端只是請求資源的一部分,伺服器只對請求的部分資源執行get 方法,相應報文中通過content-range指定範圍的資源
301:永久重定向
302:臨時重定向
400:請求報文語法錯誤,伺服器無法識別
401:請求需要認證
403:請求對應的資源禁止被訪問
404:伺服器找不到請求的資源
500:伺服器內部錯誤
503:伺服器正忙
重點標粗
302的意思是臨時重定向:比如我這個**臨時維護(幾個小時),需要使用者跳轉到另乙個**,使用302。
301的意思是永久重定向:比如我這個**因為某種原因,以後再也不用了,那麼使用301。
推薦使用301實現302的場景,因為302存在**劫持的風險!
HTTP協議總結
http協議是一種物件導向的協議,其簡單,快捷,方便,實用與分布式資訊網路管理系統 http協議的特點有 1.支援 c s和b s 支援客戶 伺服器模式 2.簡單快捷 向服務端請求時只需傳遞請求的方式 post,get,head,delete等 3.靈活 在傳遞時只需要在content type中定...
HTTP協議總結
http是應用層協議,由http客戶端發起乙個請求,建立乙個到伺服器指定埠的tcp連線。http 伺服器則在埠監聽客戶端的請求,一旦受到請求就會向客戶端返回乙個狀態 200,500等 以及返回內容。注 http是乙個無狀態的協議,通過伺服器認證後成功請求了乙個資源後再次請求這一資源時,伺服器仍舊會要...
http協議總結
什麼是時間戳?時間戳作用 防止快取,解決版本更新 不同步的問題。如果不加時間戳,當http相應狀態為304時,從本地快取中讀取資源,而沒有請求到伺服器。http狀態304 表示從本地讀取。解決非法盜用資源的方法?通過判斷referer 進行過濾,如下。public class imgfilter i...