日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

post请求与get请求的差别

發布時間:2025/4/5 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 post请求与get请求的差别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

冪等的概念

在理解這兩者的區別前需要先了解的概念:

冪等性
在編程中一個冪等操作的特點是其任意多次執行所產生的影響均與一次執行的影響相同。
簡單的說就是,瀏覽器發起一次請求和多次請求,不會改變目標資源的狀態,也可以說是:瀏覽器進行了緩存。

post與get的差別

這是在網上找到的post請求與get請求的差別對比圖:

但個人認為post和get差別最核心的一點是:

緩存機制的不同(能否被瀏覽器緩存)

緩存機制

這里我們用到了開頭所講的冪等性概念。由于網絡的不可靠,使得等冪性顯得特別重要,因此getheadputdelete一定要設計成等冪的:如果一次請求,服務器收到處理以后,客戶端沒有收到相應,客戶端會再次請求,如果沒有等冪性保障,就會發生意想不到的問題。
post是不等冪的,例如在segmentfault上兩次提交相同的文章,則會產生兩個資源。

通常HTTP 緩存只適用于 idempotent request(冪等的請求),對于其他類型的響應則無能為力。

get請求的緩存過程

  • 第一次請求時,返回數據。
    返回數據,在http頭部中包含last-modified(最后修改的時間) Etag(指示資源的狀態的唯一標識)Expires(指示資源在瀏覽器緩存中的過期時間)
  • 然后瀏覽器會將請求回的文件放在Cache目錄下,并保存上述信息
  • 發起第二次請求。
    瀏覽器會先檢查Cache目錄中是否有該文件,并且是否過期。同時滿足這兩個條件,則瀏覽器不會在向服務器發送請求,而是直接使用緩存中的文件。
    否則,瀏覽器會發送請求服務器 ,并在頭部添加If-Modified-Since 和 If-None-Match。
    如果文件從上次訪問至今都沒有被修改過或Etag信息沒有變化,則直接返回一個304的狀態,表明服務器端允許請求訪問資源,但不滿足條件,返回不包含任何響應的主體部分。
  • 解決辦法:http://blog.csdn.net/u0128368...

    總結

    以上是生活随笔為你收集整理的post请求与get请求的差别的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。