Lets say I'm talking HTTP to a web server, and I will Accept html or text, but prefer html. In other words, the header should say (I think!)
Accept: text/html, text/*
I'm using Java, so I have a URLConnection. Should I use:
myUrlConnction.setRequestProperty("Accept", "text/html");
myUrlConnction.addRequestProperty("Accept", "text/*");
or
myUrlConnction.setRequestProperty("Accept", "text/html, text/*");
or are they equivalent???
In general, most of the third party code I see doesn't seem to worry much about ordering or multiple values of these headers, so I'm wondering how it ends up working.
The first code snippet would result in two accept-headers while the second code snippet would give one accept-header with two selectors.
They are in fact equivalent.
The spec also states that the more specific media range have precedence, so both would yield your expected behavior.
If you must specify several media ranges, and they are equally specific, you could add the q-parameter.
Source: http 1.1 spec ( http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html ) :