My guess is a single site that was getting DDoS'd added this as an attack signature and forgot about it.
$ ACCEPT="text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"
$ curl -v -H "$UA" -H "$ACCEPT" $URL |& grep '< HTTP'
The author fails to prefix $ACCEPT with the actual header key. It should be: $ curl -v -H "$UA" -H "Accept: $ACCEPT" $URL |& grep '< HTTP'$ URL=http://www.akamai.com
$ UA="User-Agent: Mozilla/5.0 My API Client"
$ ACCEPT="Accept: /"
$ curl -v -H "$UA" -H "$ACCEPT" $URL
< HTTP/1.1 301 Moved Permanently
< Content-Length: 0
< Location: https://www.akamai.com
< Date: Tue, 02 May 2017 14:46:59 GMT
< Connection: keep-alive
Most libraries use an undefined order. This is not the same as random.
I'm asking because I've been running a web crawler for years now, and in the past week, I have noticed that the crawler is being rejected in more websites then usual.
This is actually a report of two bugs:
1- the standard doesn't require an order
2 - the IETF's admonition that you be liberal in what you accept.