HTTP

HTTP

RESTful

REST 指的是一組架構約束條件和原則。滿足這些約束條件和原則的應用程序或設計就是 RESTful。

  • GET

    get方法在Rest中主要用於獲取資源,能夠發送參數,不過有限制,且參數都會以?開頭的形 式附加在URL尾部。
    規範的get方法處理器應該是冪等的,也就是說對一個資源不論發送多少次get請求都不會更改數據或造成破壞。
  • POST

    post方法在Rest請求中主要用於添加資源,參數信息存放在請求報文的消息體中相對安全,且可發送較大信息
  • PUT

    put方法在Rest中主要用於更新資源,因爲大多數瀏覽器不支持put和delete,會自動將put和delete請求轉化爲get和post. 因此爲了使用put和delete方法,
    需要以post發送請求,在表單中使用隱藏域發送真正的請求。
    put方法的參數是同post一樣是存放在消息中的,同樣具有安全性,可發送較大信息。
    put方法是冪等的,對同一URL資源做出的同一數據的任意次put請求其對數據的改變都是一致的。
  • DELETE

    Delete在Rest請求中主要用於刪除資源,因爲大多數瀏覽器不支持put和delete,會自動將put和delete請求轉化爲get和post。
    因此爲了使用put和delete方法,需要以post發送請求,在表單中使用隱藏域發送真正的請求。
    Delete方法的參數同post一樣存放在消息體中,具有安全性,可發送較大信息 Delete方法是冪等的,不論對同一個資源進行多少次delete請求都不會破壞數據

https://blog.csdn.net/jnshu_it/article/details/80203696

GET和POST的區別

  • GET產生一個TCP數據包;POST產生兩個TCP數據包。
  • GET在瀏覽器回退時是無害的,而POST會再次提交請求。
  • GET產生的URL地址可以被Bookmark,而POST不可以。
  • GET請求會被瀏覽器主動cache,而POST不會,除非手動設置。
  • GET請求只能進行url編碼,而POST支持多種編碼方式。
  • GET請求參數會被完整保留在瀏覽器歷史記錄裏,而POST中的參數不會被保留。
  • GET請求在URL中傳送的參數是有長度限制的,而POST麼有。
  • 對參數的數據類型,GET只接受ASCII字符,而POST沒有限制。
  • GET比POST更不安全,因爲參數直接暴露在URL上,所以不能用來傳遞敏感信息。
  • GET參數通過URL傳遞,POST放在Request body中。

Accept和Content-Type

Accept 請求頭用來告知客戶端可以處理的內容類型,這種內容類型用MIME類型來表示。
服務器使用 Content-Type 應答頭通知客戶端它的選擇。

Accept: text/html
Accept: image/*
Accept: text/html, application/xhtml+xml, application/xml;q=0.9, */*;q=0.8

1.Accept屬於請求頭, Content-Type屬於實體頭。

Http報頭分爲通用報頭,請求報頭,響應報頭和實體報頭。

請求方的http報頭結構:通用報頭|請求報頭|實體報頭

響應方的http報頭結構:通用報頭|響應報頭|實體報頭

2.Accept代表發送端(客戶端)希望接受的數據類型。

比如:Accept:text/xml;

代表客戶端希望接受的數據類型是xml類型

Content-Type代表發送端(客戶端|服務器)發送的實體數據的數據類型。

比如:Content-Type:text/html;

代表發送端發送的數據格式是html。

二者合起來,

Accept:text/xml;

Content-Type:text/html

即代表希望接受的數據類型是xml格式,本次請求發送的數據的數據格式是html。

狀態碼

狀態碼 類別 描述
1xx Informational(信息狀態碼) 接受請求正在處理
2xx Success(成功狀態碼) 請求正常處理完畢
3xx Redirection(重定向狀態碼) 需要附加操作已完成請求
4xx Client Error(客戶端錯誤狀態碼) 服務器無法處理請求
5xx Server Error(服務器錯誤狀態碼) 服務器處理請求出錯

回到頂部

HTTP緩存

https://segmentfault.com/a/1190000010690320

如何處理不讓別人盜用你的圖片,訪問你的服務器資源

  • http header, 對refer做判斷看來源是不是自己的網站,如果不是就拒絕
  • 通過session校驗,如果不通過特定服務生成cookie和session就不能請求得到資源

回到頂部

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章