亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

HTTP API 設(shè)計(jì)入坑指南(一)

jay_tian / 2786人閱讀

一、請求方式 1. 請求方式有g(shù)et/post/put/delete/options 2. get和post的區(qū)別:

get通常用作獲取數(shù)據(jù),post通常用作提交數(shù)據(jù)

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

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

header里有個(gè)參數(shù)content-length,記錄傳輸body長度,服務(wù)器根據(jù)此值判斷文件大小,如果實(shí)際大小 二、響應(yīng)狀態(tài)碼

參考文獻(xiàn):http://tool.oschina.net/commo...

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

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

eg: 在www.ren.com中

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

jsonp不支持post請求,因?yàn)閟cript不支持post JQuery提供方便使用jsonp的方式

在ren.php中寫

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

JSONP主要被老的瀏覽器支持,而絕大多數(shù)現(xiàn)代瀏覽器都已經(jīng)支持了CORS

CROS主要通過Header支持的

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

四、響應(yīng)之JSON數(shù)據(jù)類型
不同語言數(shù)據(jù)類型解析規(guī)則不一致,導(dǎo)致不同語言之間部分?jǐn)?shù)據(jù)類型無法解析
eg:
    部分語言沒有null類型,GO、Lua使用nil表示
    部分語言布爾值沒有0,1概念
    數(shù)組類型大小不一致、類型最大值不一樣

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

一切皆字符串

授權(quán)、安全部分在下篇文章

記得關(guān)注我呦

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/30746.html

相關(guān)文章

  • HTTP API 設(shè)計(jì)入坑指南(二)

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

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

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

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

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

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

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

    vpants 評論0 收藏0
  • FIBOS入坑指南——本地開發(fā)環(huán)境搭建

    摘要:如果出錯(cuò),需要查看一下本地節(jié)點(diǎn)是否正在運(yùn)行,在瀏覽器輸入后記完至此,本地的開發(fā)環(huán)境基本搭建完成,如果你想試試在本地環(huán)境編寫部署調(diào)用智能合約,可以參考官方開發(fā)文檔,當(dāng)然,后續(xù)有時(shí)間,我也會(huì)把在智能合約開發(fā)過程中踩到的坑寫寫。 FIBOS是什么? FIBOS 是一個(gè)結(jié)合 FIBJS 以及 EOS 的 JavaScript 的運(yùn)行平臺(tái),它使得 EOS 提供可編程性,并允許使用 JavaSc...

    goji 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<