web-dev-qa-db-ja.com

サーバーがバイトサービングをサポートしているかどうかをテストするにはどうすればよいですか?

共有ホスティングアカウントのサーバーでホストされているmp3ファイルがいくつかあり、ポッドキャストフィードをiTunesストアに送信するのに問題があります。 Appleは、私のエピソードファイルがバイト範囲をサポートしないサーバーでホストされていると言っているため、フィードを拒否します this の場合と同様です。

私はサービスプロバイダーに連絡しましたが、サーバーはバイト範囲をサポートしていると主張しており、ホストされているエピソードのhttpヘッダーを検査すると正しいように見えます。 inspecting http header via curl

これを疑いの余地なく検証できる方法はありますか?

5
JannieT

Appleは、サーバーが部分的なコンテンツをサポートすることを望んでいます。これはストリーミングにとって重要です(アプリは、すべてを再度ロードする代わりに、特別な位置でダウンロードを再開できます)。

このコマンドでテストします(16バイトからのコンテンツを要求します-END):

動作しない例(私のローカルルーター):

me@localhost:~$ curl -H Range:bytes=16- -I 192.168.2.1
HTTP/1.1 200 OK
Connection: close
ETag: "8ac-1a3-48679f6d"
Last-Modified: Sun, 29 Jun 2008 14:42:53 GMT
Date: Sat, 04 Feb 2012 15:07:51 GMT
Content-Type: text/html
Content-Length: 419

サーバーは実際に機能します。206PartialContentの応答に注意してください。

curl -H Range:bytes=16- -I http://planetsport.tv/content/components/podcasts/data/47
HTTP/1.1 206 Partial Content
Date: Fri, 20 Jul 2012 13:31:19 GMT
Accept-Ranges: bytes
Connection: Keep-Alive
Keep-Alive: timeout=5, max=100
ETag: "db8249-50067450-0"
Last-Modified: Wed, 18 Jul 2012 08:31:12 GMT
Content-Type: audio/mpeg
Vary: User-Agent
Content-Range: bytes 16-14385736/14385737
Content-Length: 14385721
7
ce4