国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

HTTP API 設計入坑指南(一)

jay_tian / 2728人閱讀

一、請求方式 1. 請求方式有get/post/put/delete/options 2. get和post的區別:

get通常用作獲取數據,post通常用作提交數據

get參數有長度限制,受限于URL長度(http協議對url長度不限制,而是服務器和瀏覽器的配置參數限制),post無限制

get冪等,post不冪等(冪等:多次請求,結果一樣)

header里有個參數content-length,記錄傳輸body長度,服務器根據此值判斷文件大小,如果實際大小 二、響應狀態碼

參考文獻:http://tool.oschina.net/commo...

2**:以2開頭都表示成功
   200  OK    成功
   201  Created   新建/修改數據成功
   202  Accepted  請求已進入后臺排隊,(異步任務)但任務并不代表已經執行成功
   204  No content  刪除成功
   206  Partial content  斷點續傳,eg:迅雷100M文件下載,網速10M/s,分段下載1-10,11-20…,已下到15節點,突遇斷電,下次下載從11開始  
3**:重定向問題 4**:客戶端
   400  Invalid request  請求錯誤
   401  Unauthorized     沒有權限
   403  Forbidden         禁止
   404  Not found          不存在
   405  Method not allowed 不支持請求方法
   422  Unprocesable entity  驗證錯誤  
5**:服務器
   500 Internal server error  服務器錯誤

三、跨域 1. JSONP 跨域讀取數據
參考文獻:
ajax受同源策略(協議、端口、域名都相同)影響,不允許跨域請求,但script的src屬性可以訪問跨域的JS腳本,jsonp使其不返回json數據,而返回“調用某函數的js代碼”,從而實現跨域。

eg: 在www.ren.com中

在test.js中 getData({"name”:”小小聰”}) 。 getData是www.ren.com中的一個函數

jsonp不支持post請求,因為script不支持post JQuery提供方便使用jsonp的方式

在ren.php中寫

$data = array("name" => "小小聰");
$callback = $_GET["callback"];
echo $callback."(".json_encode($data).")";
return;
2. CROS 跨域 支持get,post等所有類型的請求

JSONP主要被老的瀏覽器支持,而絕大多數現代瀏覽器都已經支持了CORS

CROS主要通過Header支持的

     Access-Control-Allow-Origin:限制域名(不建議設為*,防止XSS攻擊)  
     Access-Control-Expose-Headers :允許訪問的服務器白名單  

四、響應之JSON數據類型
不同語言數據類型解析規則不一致,導致不同語言之間部分數據類型無法解析
eg:
    部分語言沒有null類型,GO、Lua使用nil表示
    部分語言布爾值沒有0,1概念
    數組類型大小不一致、類型最大值不一樣

PHP注意:
    數組轉json對象為{“key”:“value”},如果數組為空[],轉json則為[]。
    對于API,字段類型應當是固定的,數組和對象的轉換,某些語言無法處理,object為空時,使用 new stdClass() 空對象代替,而非空數組[ ]
Python注意:
    打包json時,對unicode字符轉換后會在字符串前添加 u 前綴
    注意生成json任何情況下都不改出現單引號,必須是雙引號

一切皆字符串

授權、安全部分在下篇文章

記得關注我呦

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/30746.html

相關文章

  • HTTP API 設計入坑指南(二)

    摘要:而只需要服務端生成,客戶端保存,每次請求在頭部中使用攜帶,服務端認證解析就可。如果緩存不清理,驗證碼就會一直有效,不安全。 一、授權 參考文獻:https://blog.risingstack.com/... 1. Basic authentication (最簡單,適用于沒有第三方的請求接口中) 客戶端發送authorization,內容為 Basic Base64編碼(usern...

    JayChen 評論0 收藏0
  • HTTP API 設計入坑指南(二)

    摘要:而只需要服務端生成,客戶端保存,每次請求在頭部中使用攜帶,服務端認證解析就可。如果緩存不清理,驗證碼就會一直有效,不安全。 一、授權 參考文獻:https://blog.risingstack.com/... 1. Basic authentication (最簡單,適用于沒有第三方的請求接口中) 客戶端發送authorization,內容為 Basic Base64編碼(usern...

    pingan8787 評論0 收藏0
  • Java入坑指南

    摘要:入坑指南是滴,下面是一個最低的入坑還應該有種設計模式應該掌握的。堆棧以幀為單位保存線程的狀態,對堆棧的操作為壓棧和出棧執行字節碼以后,將會產生程序計數器和棧,程序計數器存放將要執行下一條指令的偏移量。 Java入坑指南是滴,下面是一個最低的入坑 還應該有23種設計模式應該掌握的。╮(╯▽╰)╭注意,第一個j是大寫。 Java的特點跨平臺,風格接近C++最重要的api文檔 https:/...

    Rindia 評論0 收藏0
  • Browserify簡易入坑指南

    摘要:簡要說明長處在于使用模塊規范,而不是使用的模塊規范,以及使用的模塊規范。簡單使用關于命令行工具使用,請參照官方文檔。相同模塊重復依賴模塊重復依賴很容易理解,模塊實現時可能分割為多個子文件實現,每個子文件內部可能會引用同一個模塊,如。 簡介 browerify: http://browserify.org/index.html browserify可以看做瀏覽器端的又一個模塊...

    vpants 評論0 收藏0
  • FIBOS入坑指南——本地開發環境搭建

    摘要:如果出錯,需要查看一下本地節點是否正在運行,在瀏覽器輸入后記完至此,本地的開發環境基本搭建完成,如果你想試試在本地環境編寫部署調用智能合約,可以參考官方開發文檔,當然,后續有時間,我也會把在智能合約開發過程中踩到的坑寫寫。 FIBOS是什么? FIBOS 是一個結合 FIBJS 以及 EOS 的 JavaScript 的運行平臺,它使得 EOS 提供可編程性,并允許使用 JavaSc...

    goji 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<