一、請求方式 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í)際大小 參考文獻(xiàn):http://tool.oschina.net/commo... eg: 在www.ren.com中 在test.js中 getData({"name”:”小小聰”}) 。 getData是www.ren.com中的一個(gè)函數(shù) 在ren.php中寫 JSONP主要被老的瀏覽器支持,而絕大多數(shù)現(xiàn)代瀏覽器都已經(jīng)支持了CORS
CROS主要通過Header支持的 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)跨域。
$data = array("name" => "小小聰");
$callback = $_GET["callback"];
echo $callback."(".json_encode($data).")";
return;
2. CROS 跨域 支持get,post等所有類型的請求
Access-Control-Allow-Origin:限制域名(不建議設(shè)為*,防止XSS攻擊)
Access-Control-Expose-Headers :允許訪問的服務(wù)器白名單
不同語言數(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
摘要:而只需要服務(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...
摘要:而只需要服務(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...
摘要:入坑指南是滴,下面是一個(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:/...
摘要:簡要說明長處在于使用模塊規(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è)模塊...
摘要:如果出錯(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...
閱讀 1255·2021-09-22 15:24
閱讀 2351·2019-08-30 15:44
閱讀 2730·2019-08-30 10:55
閱讀 3417·2019-08-29 13:25
閱讀 1710·2019-08-29 13:09
閱讀 1456·2019-08-26 14:05
閱讀 1480·2019-08-26 13:58
閱讀 2049·2019-08-26 11:57