php返回206,使用PHP生成HTTP 206内容响应

我正在使用PHP尝试发送HTTP 206内容.但是,即使我确认内容是在服务器上发送的,接收到标头后客户端仍会以某种方式立即报告已关闭的连接.

我认为这与标头或类似的设置有关.顶级代码是:

$headers['content-length'] = $range['end']-$range['start']+1;

header('HTTP/1.1 206 Partial Content');

header("Pragma: {$headers['pragma']}");

header("Cache-Control: {$headers['cache-control']}");

header("Content-type: {$headers['content-type']}");

header("Content-Disposition: {$headers['content-disposition']}; filename=\"{$headers['filename']}\"");

header("Content-range: {$range['start']}-{$range['end']}/{$reqFile['size']}");

header("Content-length: {$headers['content-length']}");

outputFileRange($reqFile['handle'], $range['start'], $range['end']);

WGET输出

当我尝试通过wget获取时:

$wget -t 1 -d -SO /dev/null --header="X-Backend-Port: 80" --header="Range: bytes=50-" http://1.2.3.4/download/123.ogv

我得到以下内容:

Setting --server-response (serverresponse) to 1

Setting --output-document (outputdocument) to /dev/null

Setting --header (header) to X-Backend-Port: 80

Setting --header (header) to Range: bytes=50-

DEBUG output created by Wget 1.13.4 on linux-gnu.

URI encoding = `UTF-8'

--2013-10-18 11:05:36-- http://1.2.3.4/download/123.ogv

Connecting to 1.2.3.4:80... connected.

Created socket 4.

Releasing 0x0855da38 (new refcount 0).

Deleting unused 0x0855da38.

---request begin---

GET /download/123.ogv HTTP/1.1

User-Agent: Wget/1.13.4 (linux-gnu)

Accept: */*

Host: 1.2.3.4

Connection: Keep-Alive

X-Backend-Port: 80

Range: bytes=50-

---request end---

HTTP request sent, awaiting response...

---response begin---

HTTP/1.1 206 Partial Content

Server: nginx/0.7.67

Date: Fri, 18 Oct 2013 07:05:36 GMT

Content-Type: application/octet-stream

Connection: keep-alive

X-Powered-By: PHP/5.3.3-7+squeeze17

Pragma:

Cache-Control:

Content-Disposition: attachment; filename="123.ogv"

Content-range: 50-6642903/6642903

Content-length: 6642854

---response end---

HTTP/1.1 206 Partial Content

Server: nginx/0.7.67

Date: Fri, 18 Oct 2013 07:05:36 GMT

Content-Type: application/octet-stream

Connection: keep-alive

X-Powered-By: PHP/5.3.3-7+squeeze17

Pragma:

Cache-Control:

Content-Disposition: attachment; filename="123.ogv"

Content-range: 50-6642903/6642903

Content-length: 6642854

Registered socket 4 for persistent reuse.

Disabling further reuse of socket 4.

Closed fd 4

Giving up.

解决方法:

标签:http-headers,php

来源: https://codeday.me/bug/20191122/2061208.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值