1

ブースト http サーバーの例を読んでください ( http://www.boost.org/doc/libs/1_54_0/doc/html/boost_asio/examples/cpp11_examples.htmlを参照)。request_parser.cpp ファイルには、header_lws ステータスが表示されます。コードの一部を以下に示します。

case header_line_start:
if (input == '\r')
{
    state_ = expecting_newline_3;
    return indeterminate;
}
else if (!req.headers.empty() && (input == ' ' || input == '\t'))
{
    state_ = header_lws;
    return indeterminate;
}
else if (!is_char(input) || is_ctl(input) || is_tspecial(input))
{
    return bad;
}
else
{
    req.headers.push_back(header());
    req.headers.back().name.push_back(input);
    state_ = [header_name];
    return indeterminate;
}
case header_lws:
if (input == '\r')
{
    state_ = expecting_newline_2;
    return indeterminate;
}
else if (input == ' ' || input == '\t')
{
    return indeterminate;
}
else if (is_ctl(input))
{
    return bad;
}
else
{
    state_ = header_value;
    req.headers.back().value.push_back(input);
    return indeterminate;
}

ブースト http サーバーの例で、header_lws ステータスは何を意味しますか?

4

1 に答える 1

1

LWS はリニア ホワイト スペースの略です。適切な RFCで HTTP ヘッダーの形式に関する詳細情報を取得できます。

于 2013-10-28T13:24:50.053 に答える