yifeikong/curl-impersonate

Chrome 'priority' header

stanislav-milchev opened this issue · 4 comments

Hello,

I've noticed that the priority header gets sent, however comparing it to browser requests (using webhook.site for example to get the request headers) shows that they do not in fact send it.
According to this article the header itself doesn't get sent.

No clue if that would break stuff in the impersonation level, however I've just bumped into issue with one site with the request headers being too big (http 431) and this might be a reason for such issues with servers that support up to http11 and not http2 and 3 which use the priority header.

According to this article the header itself doesn't get sent.

I'm getting the opposite information from this article.

This feature adds the 'priority' request header for all HTTP requests...

Oh god... I was reading from the motivation tab which is the state pre this feature. Thats true, however I think that the last thing i mentioned about it being sent in http1.1 requests is valid. The webhook site i noticed get connected to via http1.1 and a few chrome browsers on different operating systems I've tested seem to not send the header. Other header checking api's run on servers that support http2 so it does in fact get sent there. But no clue if thats something we can control

Anyway, you should be able to suppress this header in the following ways:

  1. set default_header=False, then all the built-in headers will not be sent.
  2. add headers = "Priority:", then the priority header will be ignored.

Yeah, I figure I can stop it myself where needed, just thought of sharing here in case you or anybody has some issues around that. Thank you, Im closing that now