Inconsistent HTTP/2 Header Order in Akamai Fingerprint API Response

Problem Overview

The /api/fp/akamai endpoint returns HTTP/2 headers in an unexpected order, which may impact parsing or processing of the response.

Current Behavior(Postman)

Headers are currently returned in this sequence:

  1. :path

  2. :method

  3. :authority

  4. :scheme (followed by other headers)

Expected Behavior(Chrome)

Headers should be ordered as follows:

  1. :scheme

  2. :method

  3. :path

  4. :authority (followed by other headers)

What are we saying here?

That Postman is sorting the headers incorrectly, or that the API is sending the headers back in the wrong order?

Some research for you…

The following relates to Akamai hosted sites.

The following appears to be a relevant topic on StackOverFlow.

This is a link to the standard.

You say that this “may impact parsing”. Is it breaking something for you?

If you are worried about the order of the headers, why don’t you stick them in a dictionary and sort them as you see fit?

The request must be analyzed in hex format with Wireshark. Such differences can lead to the detection and blocking of Postman. You will better understand what I mean by making a request to the website(https://tools.scrapfly.io/api/fp/akamai) from the postman and chrome.

I noticed that in your original post, you talked about the response, but in your latest message, you’re referring to the request instead. Just to clarify—are you having trouble sending the request, or is the issue with receiving the response?

I would have thought that the response should be in whatever order the API sends back.

I’m not sure if Postman sends or receives headers in a specific order or has an internal sort. It might not follow the standard recommendations, but keep in mind those are just guidelines, not strict rules.

I don’t seem to be able to manual change the order of the headers.

Let me know what you think! But this sounds like one for an Postman employee to comment on in relation to what Postman specifically does with those headers.