What is the HTTP "content-type" to use for a blob of bytes?

HttpHttp HeadersContent TypePickle

Http Problem Overview


What is the HTTP "content-type" to use when returning a blob of bytes in response to a client's GET request?

In this case, the information payload is an object serialized using Python's Pickle library.

Http Solutions


Solution 1 - Http

You should use application/octet-stream.

Solution 2 - Http

You should use the proper MIME type:

application/python-pickle

This is the de-facto standard (this mean: it is not application/pickle or application/pickle-python).

RFC2046 states:

4.5.3. Other Application Subtypes It is expected that many other subtypes of "application" will be defined in the future. MIME implementations must at a minimum treat any unrecognized subtypes as being equivalent to "application/octet- stream".

So, to a non-pickle-aware system, the stream will look like any other octet-stream (you are not doing anything which will break existing apps), but to a pickle-aware system this is vital information.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionChris DutrowView Question on Stackoverflow
Solution 1 - HttpSLaksView Answer on Stackoverflow
Solution 2 - HttpthedayofcondorView Answer on Stackoverflow