【问题标题】:What is the order of header and body in response and request in http?http中响应和请求的标头和正文的顺序是什么?
【发布时间】:2016-01-11 01:32:35
【问题描述】:

我刚刚阅读了一篇关于“HTTP 标头字段列表”的 Wikipedia 文章,然后来到这一行:“标头字段在请求或响应行之后传输,这是消息的第一行”。这是否意味着在编写程序时假设一个 CGI 程序我们首先发送响应正文和标头应该放在 CGI 脚本的底部。但是根据我在 python 中使用 CGI 程序的经验,我们通常先写 header,然后写一些 CRLF,然后再写响应体。

能否请大家帮我理解 http 中正文和标头的正确顺序?

【问题讨论】:

    标签: python http cgi


    【解决方案1】:

    这是否意味着在编写程序时,比如说一个 CGI 程序,我们首先发送响应正文,并且标头应该放在 CGI 脚本的底部。

    不,这是不正确的。

    header字段在请求或响应之后传输,

    注意强调的“线”。请求行类似于GET /index.html HTTP/1.1,是每个请求的第一行。在此之后传输标头,然后在标头之后传输正文。

    如果您可以访问 curl(OS X 或 Linux 终端),请尝试使用 curl -v http://www.google.com 之类的方法。在我的机器上,您可以清楚地看到订单:

    请求:

    > GET / HTTP/1.1
    > User-Agent: curl/7.38.0
    > Host: www.google.com
    > Accept: */*
    > 
    

    对于 GET 请求,正文始终为空,但在 POST 中您会看到发送的数据。

    【讨论】:

    • 感谢马丁的澄清
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-30
    • 1970-01-01
    • 2020-11-21
    • 1970-01-01
    • 2011-06-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多