客戶端通過HTTP協議與服務端交換數據

 

客戶端(包括瀏覽器)通過HTTP協議與服務端交換數據的描述


發起請求

header

鍵值對中的key大小寫不敏感

  • Accept: application/json

  • Content-Type:

    • x-www-form-urlencoded
    • form-data
    • application/json
  • X-CLIENT-ID: 客戶端id

  • X-TIMESTAMP: 客戶端unix時間戳

  • X-SIGN: 客戶端簽名(可選)

另外需要實現Cookie機制

method
  • 寫請求使用POST
  • 讀請求使用GET
body
  • GET 沒有body
  • POST 根據Content-Type的不同來決定Body的格式

 

處理響應

header

鍵值對中的key大小寫不敏感

  • Status:
    • 200 操作成功
    • 400 請求有問題;如:表單、客戶端id、客戶端時間戳驗證失敗等
    • 401 認證失敗。
    • 403 無訪問權限。
    • 404 請求的資源不存在。
    • 409 請求處理完成但因爲業務規則限制或其他原因並未真正成功的響應
    • 500 服務器錯誤
    • 503 服務器維護中
body

JSON數據,因爲Accept中只約定了application/json

{"code":系統代碼(409響應時,提供一個唯一的系統代碼),"msg":返回值說明,"payload":業務數據}

業務數據中凡是約定返回JSON數組的情況,無結果時返回空數組,禁止NULL

 

簽名機制

  1. 用請求參數生成鍵值對,鍵值對爲“參數名=參數值”;其中上傳文件的參數值爲文件內容sha1結果的小寫形式。
  2. 所有鍵值對按照鍵自然排序,然後用“&”連接爲內容字符串。
  3. 使用內容字符串生成待簽名字符串,如“內容內容{應用ID}時間戳時間戳{應用密鑰}”。

    注意:${}表示佔位符。

  4. 待簽名字符串用sha1生成簽名,結果忽略大小寫。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章