當前位置:成語大全網 - 新華字典 - 什麽是json、api、post、get請求。

什麽是json、api、post、get請求。

Json

JSON(JavaScript Object Notation) 是壹種輕量級的數據交換格式,易於閱讀和編寫,同時也易於機器解析和生成。

1. "名稱/值"對的集合不同語言中,它被理解為對象(object),記錄(record),結構(struct),字典(dictionary),哈希表 (hash table),鍵列表(keyed list)等

2. 值的有序列表 多數語言中被理解為數組(array)

API

API(Application?Programming?Interface,應用程序編程接口)是壹些預先定義的函數,目的是提供應用程序與開發人員基於某軟件或硬件的以訪問壹組例程的能力。

例如妳自己寫了壹個類,這個類裏有很多函數,如果別人要用妳這個類,但是並不知道每個函數內部是怎麽實現的,也就只是知道這個函數的入口參數和返回值或者只知道這個函數是做什麽用的,對於用戶來說妳的這些函數就是API,也就是妳寫的API,同樣,windows?api就是微軟寫的壹些函數。

POST和GET請求

壹般我們在瀏覽器輸入壹個網址訪問網站都是GET請求;再FORM表單中,可以通過設置Method指定提交方式為GET或者POST提交方式,默認為GET提交方式。

HTTP定義了與服務器交互的不同方法,其中最基本的四種:GET,POST,PUT,DELETE,HEAD,其中GET和HEAD被稱為安全方法,因為使用GET和HEAD的HTTP請求不會產生什麽動作。不會產生動作意味著GET和HEAD的HTTP請求不會在服務器上產生任何結果。但是安全方法並不是什麽動作都不產生,這裏的安全方法僅僅指不會修改信息。

根據HTTP規範,POST可能會修改服務器上的資源的請求。比如CSDN的博客,用戶提交壹篇文章或者壹個讀者提交評論是通過POST請求來實現的,因為再提交文章或者評論提交後資源(即某個頁面)不同了,或者說資源被修改了,這些便是“不安全方法”。

1、GET請求,請求的數據會附加在URL之後,以?分割URL和傳輸數據,多個參數用&連接。URL的編碼格式采用的是ASCII編碼,而不是uniclde,即是說所有的非ASCII字符都要編碼之後再傳輸。

POST請求:POST請求會把請求的數據放置在HTTP請求包的包體中。上面的item=bandsaw就是實際的傳輸數據。

因此,GET請求的數據會暴露在地址欄中,而POST請求則不會。

2、傳輸數據的大小

在HTTP規範中,沒有對URL的長度和傳輸的數據大小進行限制。但是在實際開發過程中,對於GET,特定的瀏覽器和服務器對URL的長度有限制。因此,在使用GET請求時,傳輸數據會受到URL長度的限制。

對於POST,由於不是URL傳值,理論上是不會受限制的,但是實際上各個服務器會規定對POST提交數據大小進行限制,Apache、IIS都有各自的配置。

3、安全性

POST的安全性比GET的高。這裏的安全是指真正的安全,而不同於上面GET提到的安全方法中的安全,上面提到的安全僅僅是不修改服務器的數據。比如,在進行登錄操作,通過GET請求,用戶名和密碼都會暴露再URL上,因為登錄頁面有可能被瀏覽器緩存以及其他人查看瀏覽器的歷史記錄的原因,此時的用戶名和密碼就很容易被他人拿到了。除此之外,GET請求提交的數據還可能會造成Cross-site request frogery攻擊

4、HTTP中的GET,POST,SOAP協議都是在HTTP上運行的