什么時候用GET?什么時候用POST?

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。

一、

GET和POST兩種方法都是將數據送到服務器,但你該用哪一種呢?

HTTP標準包含這兩種方法是為了達到不同的目的。POST用于創建資源,資源的內容會被編入HTTP請示的內容中。例如,處理訂貨表單、在數據庫中加入新數據行等。

當請求無副作用時(如進行搜索),便可使用GET方法;當請求有副作用時(如添加數據行),則用POST方法。一個比較實際的問題是:GET方法可能會產生很長的URL,或許會超過某些瀏覽器與服務器對URL長度的限制。

若符合下列任一情況,則用POST方法:

* 請求的結果有持續性的副作用,例如,數據庫內添加新的數據行。
* 若使用GET方法,則表單上收集的數據可能讓URL過長。
* 要傳送的數據不是采用7位的ASCII編碼。

若符合下列任一情況,則用GET方法:

* 請求是為了查找資源,HTML表單數據僅用來幫助搜索。
* 請求結果無持續性的副作用。
* 收集的數據及HTML表單內的輸入字段名稱的總長不超過1024個字符。

?


二、

最近開到一段W3的資料,寫的不錯,原文地址如下:http://bu-choreography.iteye.com/admin/blogs/new。翻譯總結如下:?
快速判斷:?
如下情況使用GET方法:客戶端與服務端的交互像是一個提問(如查詢操作、搜索操作、讀操作)?
如下情況使用POST方法:?
?????? 1.交互是一個命令或訂單(order),比提問包含更多信息?
?????? 2.交互改變了服務器端的資源并被用戶察覺,例如訂閱某項服務?
?????? 3.用戶需要對交互產生的結果負責?
聽起來稍微明白了一點,接著來。?
根據HTTP協議規定,GET方法可以攜帶交互需要的所有數據,因此你會看到搜索百度或谷歌的時候,點擊搜索形成的URL包含了你剛才的搜索關鍵字,沒有安全需求的請求把信息放URL里沒關系,但是你訪問銀行網站的時候,不希望把賬戶、密碼這些放在URL里被人攔截是吧,所以HTTP設計了POST請求,他可以把請求信息放在HTTP請求里,具體格式這里不細說了,這樣你就不能簡單的從URL里找到賬戶、密碼了。?
講完這些,是不是比較清楚了呢。?
文章還例舉了幾個曾經的HTTP請求限制。?
1.URI不能超過256個字符。這個限制在有些服務器里是存在的,有的服務器為了網絡安全,為了防止拒絕式攻擊會把URL字符限制在4000字符?
2.你提交了GET請求,又馬山按了backspace鍵,會導致get方法被重新執行?
3.你在一個頁面使用了安全協議,跳轉到了另一個使用不安全協議的頁面時,會導致安全數據泄漏給第二個頁面。

?


以上一中內容摘自《Web Database Application with PHP and MySQL, 2nd Edition》一書,中文版《PHP & MySQL Web數據庫應用開發指南》。英文原文內容如下:?
GET versus POST

Both the GET and POST methods send data to the server, but which method should you use?

The HTTP standard includes the two methods to achieve different goals. The POST method was intended to create a resource. The contents of the resource would be encoded into the body of the HTTP request. For example, an order form might be processed and a new row in a database created.

The GET method is used when a request has no side effects (such as performing a search) and the POST method is used when a request has side effects (such as adding a new row to a database). A more practical issue is that the GET method may result in long URLs, and may even exceed some browser and server limits on URL length.

Use the POST method if any of the following are true:

* The result of the request has persistent side effects such as adding a new database row.
* The data collected on the form is likely to result in a long URL if you used the GET method.
* The data to be sent is in any encoding other than seven-bit ASCII.

Use the GET method if all the following are true:

* The request is to find a resource, and HTML form data is used to help that search.
* The result of the request has no persistent side effects.
* The data collected and the input field names in a HTML form are in total less than 1,024 characters in size.

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/451617.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/451617.shtml
英文地址,請注明出處:http://en.pswp.cn/news/451617.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

邏輯運算符與邏輯表達式

1 #include <stdio.h>2 3 int main()4 {5 int a0;int b0;6 if(a&&b)//a&&ba的邏輯值為0&#xff0c;則執行else7 {8 printf("a&&b is true\n");9 } 10 else 11 { 12 printf("a&&…

linux/shell相關知識點

阿里Linux Shell腳本面試25個經典問答 Linux運維工程師12道面試題整理 感謝作者分享&#xff01;

20180601]函數與標量子查詢2.txt

[20180601]函數與標量子查詢2.txt --//昨天看http://www.cnblogs.com/kerrycode/p/9099507.html鏈接,里面提到: 通俗來將&#xff0c;當使用標量子查詢的時候&#xff0c;ORACLE會將子查詢結果緩存在哈希表中&#xff0c; 如果后續的記錄出現同樣的值&#xff0c;優化器通過緩存…

ODP 使用 ArrayBind 時可能會遇到的巨坑 'System.IConvertible' 的解決方法

Unable to cast object of type System.Nullable1[System.Int16][] to type System.IConvertible 一段代碼99%不會出錯&#xff0c;0.1%會報上邊的錯&#xff0c;debug費了老鼻子時間&#xff0c;發現此坑很深。異常是 cmd.ExecuteNonQuery() 拋的&#xff0c;實際是 para.Valu…

eclipse快速定位到錯誤處

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程 以前都是按著滾動條往下拉&#xff0c;找到錯誤的地方&#xff0c;有時比較多的時候就很麻煩。 其實eclipse是可以直接快速定位的&#x…

C語言中的“”和“”

先說左移,左移就是把一個數的所有位都向左移動若干位,在C中用<<運算符.例如: int i 1; i i << 2; //把i里的值左移2位 也就是說,1的2進制是000...0001(這里1前面0的個數和int的位數有關,32位機器,gcc里有31個0),左移2位之后變成 000...0100,也就是10進制的4,所以…

網站性能優化的三重境界

這篇文章是關于網站性能優化體驗的&#xff0c;性能優化是一個復雜的話題&#xff0c;牽涉的東西非常多&#xff0c;我只是按照我的理解列出了性能優化整個過程中需要考慮的種種因素。點到為止&#xff0c;包含的內容以淺顯的介紹為主&#xff0c;如果你有見解能告知我那再好不…

Linux使用RSA實現免密登錄(原理)

參考文獻Linux密鑰rsa加密原理和ssh使用密鑰實現免密碼登錄 感謝作者分享&#xff01;

PYTHON 爬蟲筆記十一:Scrapy框架的基本使用

Scrapy框架詳解及其基本使用 scrapy框架原理 Scrapy是一個為了爬取網站數據&#xff0c;提取結構性數據而編寫的應用框架。 其可以應用在數據挖掘&#xff0c;信息處理或存儲歷史數據等一系列的程序中。其最初是為了頁面抓取 (更確切來說, 網絡抓取 )所設計的&#xff0c; 也可…

java設計把兩個字符串的值交換 而不使用中間變量

public class Test {public static void main(String[] args) {String s1 "aaa";String s2 "cccx";s1 s1 s2;s2 s1.substring(0, s1.length()-s2.length());s1 s1.substring(s2.length());System.out.println(s1" - "s2);}}

服務器返回值 解釋 ajax提交方式 后臺數據刷進前端

轉載于:https://www.cnblogs.com/liuliang389897172/p/9120715.html

no typehandler found for property XXXX 解決

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 1. ssm框架下 啟動服務報錯如題。 2. 原因&#xff1a; 我的情況是&#xff0c;代碼中實體屬性映射書寫和數據庫字段名字不一致。 數據…

C++主流預處理,編譯和鏈接過程

在C的程序的編寫過程中&#xff0c;基本上都碰到過LNK2005的錯誤吧&#xff0c;下面就針對這個問題詳細分析&#xff1a;首先&#xff0c;預處理階段&#xff1a;這一過程&#xff0c;主要針對#include和#define進行處理&#xff0c;具體過程如下&#xff1a;對于cpp文件中經常…

shell中sed -i特殊字符

可參考文獻&#xff1a; Linux生產環境上&#xff0c;最常用的一套“sed“技巧 看懂shell中的各種語句

Win10遠程桌面提示你的憑據不工作的處理方法

需要確保在組策略編輯器&#xff08;WinR 輸入 gpedit.msc &#xff09;中計算機配置->Windows設置->安全設置->本地策略->安全選項->右側的網絡訪問:本地帳戶的共享和安全模型。修改為使用經典模式即可&#xff01;

子網掩碼255.255.0.0與255.255.255.0的區別

先介紹子網掩碼&#xff1a;子網掩碼&#xff0c;是一種用來指明一個IP地址的哪些位標識的是主機所在的子網&#xff0c;以及哪些位標識的是主機的位掩碼。子網掩碼不能單獨存在&#xff0c;它必須結合IP地址一起使用。子網掩碼只有一個作用&#xff0c;就是將某個IP地址劃分成…

日期格式不符合要求:Unparseable date: quot;3e8a4d83533744c698216535a65850c0quot;

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 1. 報錯如題 2. 原因&#xff1a;使用token 記錄當前登陸用戶&#xff0c;token值已經過期。 HttpClientUtil.doPost&#xff08;&…

Spring中都用到了哪些設計模式?

Spring 框架中用到了哪些設計模式&#xff1a; 工廠設計模式 : Spring使用工廠模式通過 BeanFactory、ApplicationContext 創建 bean 對象。 代理設計模式 : Spring AOP 功能的實現。 單例設計模式 : Spring 中的 Bean 默認都是單例的。 模板方法模式 : Spring 中 jdbcTemplat…

解決火車票網上訂票難的方案

春運是最熱的話題&#xff0c;買火車票是最流行的事情&#xff1b;網上訂票給大家帶來了極大的便利&#xff0c;但是由于各種原因&#xff0c;網上訂票成功率很低&#xff0c;至少比在淘寶上買東西困難多了。在下不才&#xff0c;試圖提出其解決方案。 問題&#xff1a;并發訪問…

小程序支付成功后跳轉頁面失敗

在安卓報錯 relaunch:fail can not invoka lelaunch in background&#xff0c;ios正常&#xff0c;換成別的跳轉方式即可轉載于:https://www.cnblogs.com/wang-xing/p/9488961.html