5

I have some mp3 files hosted on a server on a shared hosting account and I have trouble submitting my podcast feed to the iTunes store. Apple rejects the feed, because they say my episode files are hosted on a server that do not support byte ranges - similar to this case.

I have contacted my service provider and they claim that the server does support byte ranges and inspecting the http header of a hosted episode looks like they are right: inspecting http header via curl

Is there any method that can verify this beyond doubt?

1

1 Answer 1

7

Apple wants your server to support partial content, which is important for streaming (your app can then restart a download at a special position instead of loading everything again).

Test it with this command (it requests the content from 16bytes-END):

Nonworking example (my local router):

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

Your server indeed works, note the 206 Partial Content response:

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
4
  • Thanks! So if I get a 206 Partial Content response that means the server is compliant?
    – JannieT
    Jul 20, 2012 at 13:31
  • Just checked. Your content provider planetsports.tv supports Partial Content... Strange. updated my answer...
    – ce4
    Jul 20, 2012 at 13:32
  • It might be some rogue markup in the RSS feed that is miss-diagnosed by Apple. I just wanted to confirm that the problem is not with the server first.
    – JannieT
    Jul 20, 2012 at 13:33
  • Testing with a spoofed 'iPhone' browser agent string also worked, so you might be right. Can you accept/upvote my answer?
    – ce4
    Jul 20, 2012 at 13:36

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .