一个简单的页面,接收到post的数据后,如何生成一个不包含http头的响应?
如请求:
POST /aaa.php HTTP/1.1
Host: x.x.x.x
Accept: */*
Content-Type: application/json; charset=utf-8
Content-Length: 13{"a":1,"b":2}
响应:
{"a":1,"b":2}

解决方案 »

  1.   

    http 通讯就一定会有 http头的
    http 客户端并不会将 http头内容交给用户如果你是自己用 sock 写的客户端,那么请自行识别及过滤掉 http头,识别标志 "\r\n\r\n"
      

  2.   

    除了自己写sock外,有没有可能将http头去掉再发回去?不需要考虑用户那边的情况。
      

  3.   

    没有可能,因为不是 php 层面的事情
      

  4.   


     $pos = strpos($response, "\r\n\r\n");
     $response = substr($response, $pos+4);
    可以自己過濾掉http頭。
      

  5.   

    @fdipzone  问题是,我怎么拿到response?希望实现的是服务器给客户端的回复里没有HTTP头。
      

  6.   

    不明白你的场景是什么,head是nginx或者apache加上返回给客户端的
      

  7.   

    和一个系统接,对方post数据过来,要求仅返回Json数据,不能有除Json数据外的任何数据,包括HTTP头。
    所以想看看PHP有没有办法实现这个。
      

  8.   

    使用 HTTP 协议通讯,就必须有 HTTP 头,这是协议要求的
      

  9.   

    所有ajax的交互也都有http头吗?
      

  10.   

    是的,都有http头
      

  11.   

    不要用http返回数据,直接用socket的方式。
      

  12.   

    curl请求时,进行如下设置curl_setopt($curl, CURLOPT_HEADER, false);//false不显示响应头