2012-02-03 47 views
0

最近我進入了關於在api中使用JSON的討論。網址中的JSON - 正確還是錯誤

用於放入查詢字符串的一個參數是可以的,它將充當參數,使用$ _GET檢索並在應用程序中解碼。

index.php? action = {JSON}

另一個說法只是把它作爲一個$ _POST,反對它的論點是,網址會變長。

那麼在url中使用JSON有什麼想法?

回答

2

我個人的想法是,最好是把它放在POST,一對夫婦的原因

  • GET是用戶更容易操作。儘管POST不是 也不安全,但如果他們不知道 怎麼樣,人們不會試圖擺弄它。
  • 雖然長,複雜的URL可能是更具體的個人(我可能 沒有,如果他們長期或不關心),它是在那些 有益的不在乎不在乎,但那些關心,嗯,他們 照顧。

查看服務器上發生的變化應該總是通過POST發送,而只會改變請求發送的內容應該通過GET發送出去,這更加語義化。從你的問題來看,JSON的最終目的是什麼並不太清楚,儘管我認爲你的討論在這方面不那麼具體和抽象。

+1

GET對於用戶來說操作起來要容易得多...因此它應該被使用以便人們可以輕鬆地擺弄它。 – Quentin 2012-02-03 17:18:45

+0

我想這取決於你是否願意讓人擺弄它。在大多數情況下,我會說你不知道。 – 2012-02-03 17:19:42

+0

更嚴重。你不能阻止人們控制他們發送給你的東西,因爲默默無聞的安全性只是自我欺騙。您不應該允許僞安全性影響您對GET或POST的選擇。主要驅動程序應該是如果請求將[安全/冪等](http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.1) – Quentin 2012-02-03 17:21:01

0

通常使用JSON的原因是您希望能夠封裝一些任意數量的數據(事物列表,包含可變數據的對象等)。由於您在URL中可以使用的字符數量非常有限,因此如果您選擇通過GET請求傳輸數據,則只能發送數量有限的數據。如果它作爲URL的一部分出現,您還需要對JSON進行編碼/解碼,這會使事情變得複雜一些。如果您不確定將以這種方式發送多少數據,那麼您確實需要使用POST。