2012-09-13 23 views
0

这个话题有点奇怪,让我表达自己。 我用这个方法来生成POST请求:有Http 1.0的东西,我必须注意? (php,生成请求)

http://www.jonasjohn.de/snippets/php/post-request.htm

那好吧,但是尺寸后,我意识到DATAS得到改变一点点,也有不需要的空格。只有在尺寸较大的情况下,才会出现“分块”标志。 我将Http/1.1协议更改为Http/1.0,现在传输看起来不错! 但是有没有落后的陷阱?

回答

1

当然,http 1.0和1.1之间有一些重要的区别,请看this article的概述。

一,我可以当场直接作为影响你的代码是

// send the request headers: 
    fputs($fp, "POST $path HTTP/1.1\r\n"); 
    fputs($fp, "Host: $host\r\n"); 

主机头字段不会在HTTP 1.0存在,而且可能会影响您的张贴到承载多个域服务器的能力和/或子域通过name based virtual hosting - 服务器将不知道你打电话的域名。

作为一般说明,以这种方式编写帖子请求是一个很好的练习,它总是很好的知道发生了什么,但为了生产的目的,我会使用一个全面的,经过充分测试的机制,如cURL

而供参考:

+0

年,cURL解决了这个问题。我并不认为PHP有​​这样的解决方案。 –