TCPコネクションはAgentからServerに向かって接続する。
ServerからリクエストブロックをAgentに向かって投げる。
AgentはDBにSQLを投げて結果を整形し、Serverに向かってレスポンスブロックを投げる。
ヘッダ8byte
種別(u8)
予約済(u8)
リクエストID(u32be)
body長さ(u16be)
(bodyの長さで表現されたバイト数のリクエスト本文)
body長さの量だけ読み取ってそれをリクエスト本文(種別)として読む
その次のバイトから次のヘッダとして解析する
リクエストIDは単純加算で増加させる(溢れて戻る頃には初期の要求はタイムアウトすると期待する)
u16be文字列長さ
UTF-8文字列 webpublic-*
u16be文字列長さ
UTF-8文字列 thumbnail-*
(Agentとの接続を確認する為に発行されるリクエストです) (本文はありません。この要求には必ず204を返します)
u16be文字列長さ
UTF-8文字列 (accessKey値)
ステータスコード(u16be)
リクエストID(u32be)
u16be文字列長さ(404ステータスの場合などは0になる)
UTF-8文字列 JSON
{
"uri":"https://example.com/files/ea6e968a-3e3b-4d18-a9a4-c68e0d10b856.webp",
"link":true
}
- 200 OK
- 204 No Content
- 400 Bad Request
- 403 Forbidden
- 404 Not Found
- 418 I'm a teapot
- 500 Internal Server Error
- 501 Not Implemented
- 503 Service Unavailable
- 504 Gateway Timeout