我刚刚阅读一篇关于“HTTP标题字段列表”的维基百科文章来到这一行,该文章说:“标题字段在请求或响应行之后传输,这是消息的第一行”。这是否意味着在编写程序时,我们首先发送响应主体的CGI程序,标题应放在CGI脚本的底部。但根据我在python中使用CGI程序的经验,我们先用标题编写,然后编写一些CRLF,之后我们编写响应体。
有些人可以帮助我在这里了解http中的正文和标题的正确顺序吗?
答案 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。