在http中响应和请求的头和主体的顺序是什么?

时间:2016-01-10 17:21:40

标签: python http cgi

我刚刚阅读一篇关于“HTTP标题字段列表”的维基百科文章来到这一行,该文章说:“标题字段在请求或响应行之后传输,这是消息的第一行”。这是否意味着在编写程序时,我们首先发送响应主体的CGI程序,标题应放在CGI脚本的底部。但根据我在python中使用CGI程序的经验,我们先用标题编写,然后编写一些CRLF,之后我们编写响应体。

有些人可以帮助我在这里了解http中的正文和标题的正确顺序吗?

1 个答案:

答案 0 :(得分:1)

  

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

不,这是不正确的。

  

标头字段在请求或响应

之后传输

注意强调的“线”。请求行简单地类似于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。