适用于HTTP的术语

时间:2011-03-11 10:13:18

标签: http terminology

我讨厌提出这样一个小问题的问题,考虑到它的记录,但我想知道是否有人可以帮我理解HTTP背后的术语。我知道我可以阅读这些文件,但有时感觉有点厚,而且很难理解他们想说的是什么。

这是我到目前为止所得到的:


整个交易由消息组成,消息是请求或响应。​​

开始行?

[method/verb] [url?] [version?]
GET / HTTP/1.1\r\n

邮件标题

[name]: [value (which is LWS and content)]
Host: google.com\r\n
\r\n

-

[version?] [status code] [description?]
HTTP/1.1 200 OK\r\n
Content-type: text/plain\r\n
Transfer-Encoding: chunked\r\n
\r\n

消息正文?

d\r\n
Hello, world!\r\n
0\r\n
\r\n

(并且,实体主体只是“Hello world!”/消息体的版本没有编码?或者,它是否只是一个'消息体'而不是实体体,如果它被编码?)


我感谢您的任何记录/见解/更正。我目前正在尝试编写HTTP引擎,因此我认为确保使用正确的术语是值得的。谢谢你的阅读。

1 个答案:

答案 0 :(得分:2)

所有这些术语都可以在IETF的RFC文档中找到。具体来说,您对RFC 2616感兴趣。如果您正在编写自己的HTTP引擎,则必须至少阅读RFC 2616以及RFC 173818082396

以下是一些回答您问题的相关摘录:

Request       = Request-Line              ; Section 5.1
                *(( general-header        ; Section 4.5
                 | request-header         ; Section 5.3
                 | entity-header ) CRLF)  ; Section 7.1
                CRLF
                [ message-body ]          ; Section 4.3

Request-Line   = Method SP Request-URI SP HTTP-Version CRLF

Response      = Status-Line               ; Section 6.1
                *(( general-header        ; Section 4.5
                 | response-header        ; Section 6.2
                 | entity-header ) CRLF)  ; Section 7.1
                CRLF
                [ message-body ]          ; Section 7.2

Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF