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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.