当前位置:编程学习 > 网站相关 >>

自行实现HTTP协议时需要注意的几个地方

最近在API对接的时候遇到一些问题,记录下。

API为HTTP GET/POST方式,但对方是使用C/C++自行封装的HTTP协议。

1、nginx在HTTP1.1下默认开启chunk模式,header中不包含Content-length,而在消息体中会多出一些用于chunk解码的字符。

 

简易获取数据的话,还是用Content-length比较方便,这就需要处理两个地方:

程序返回前手动加上Content-length的header
Nginx配置中在需要的location中关闭chunk模式
[plain] 
location ~ .*\.(php|php5)?$ 

        fastcgi_pass  127.0.0.1:10080; 
        fastcgi_index index.php; 
        include fastcgi.conf; 
        chunked_transfer_encoding off; //这一句 

2、向Apache或Nginx发送POST请求时,需要在header中加上 Content-Type: application/x-www-form-urlencoded
Apache和Nginx是通过它获取POST内容的,如果header中该参数不正确,则无法取到POST数据。

 

作者:linvo
补充:Web开发 , 其他 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,