1
私はHTTPサーバを使って作業を進めていますが、HTTP応答の作成に関するいくつかの質問があります。文字列を使用したHTTP応答の作成
はここでGET応答組み立てるためのコードです:彼らはこのwebsiteに言うように
std::string h = statusCodes[200]; // The status code is already finished with a '\r\n'
std::string t = "Date: " + daytime_() + "\r\n";
std::string s = "Server: Muffin 1.0\r\n";
std::string content = search->second();
std::string type = "Content-Type: text/html\r\n";
std::string length = "Content-Length: " + std::to_string(content.size()) + "\r\n";
res = h + t + s + length + type + "\r\n" + content + "\r\n";
を、ここでは、ヘッダの仕様です:
要求メッセージと応答メッセージのフォーマットは類似しており、 英語指向です。
- 初期ライン、ゼロ以上のヘッダ行、
- 空行(それ自体で、すなわちCRLF)、
- および任意のメッセージ本体(例えばファイル:メッセージの両方の種類は、から成りまたはクエリデータ、またはクエリ出力)。
私は、サーバー上の要求を行う際に、日付のみがヘッダーに行く。しかし、残りの部分は、私はそれで間違っているのか分からないコンテンツ
HTTP/1.1 200 OK // Header
Date: Tue May 24 10:28:58 2016 // Header
Server: Muffin 1.0 // Content
Content-Length: 31
Content-Type: text/html
This is supposed to be an ID
に直接あり、私がHTTPレスポンスを扱うのは初めてです。
ご協力ありがとうございました
改行は必ずしもCR LFではありません。私は覚えていないが、参照をチェックインする。 –
@JacekCz私は複数のウェブサイトをチェックして、彼らはすべてそれがCRLFだと言う – Bl4ckb0ne