I am working on a web application with node js express
and would like to know:
- What is Header Enrichment?
- What is it for?
- What can I use it for?
I had been told that it is to recognize my final client, and that I could obtain their IP address.
It would be great if the cell phone number could also be recognized in case they consume the web application from the cell phone.
The concept of "Header Enrichment" is generic, although it is closely linked to mobile technology, from the time when WAP technology was developed.
It consists of the introduction of extra HTTP Headers that provide information that was not present in the original HTTP message.
The introduction is performed by a "Proxy" and can occur in both directions of communication: HTTP request and HTTP response.
In the days of WAP, the proxy was used yes or yes by the terminals, since the WAP proxy carried out a (supposedly) perfect adaptation of the content available on the Internet for browsers.
In modern times the traffic is intercepted in a transparent way (Vodafone called it: "Web Optimization" and "Video Optimization", intercepting and compressing/cutting the contents. "Optimization" was still a euphemism for the client since the objective was reduce the final traffic at the base stations and thereby save money by reducing the frequency of updating capacity and technology)
The introduction of the MSN (Mobile Subscriber Number) was a very common practice in WAP times in which the mobile operator filled the terminals with its own applications and charged the access of said applications to different services. The pricing was based on the analysis of the header that contained the MSN.
In the last 2 years, service pricing has been offered again, which has made "Header Enrichment" fashionable again, since the traffic is routed through different channels according to the client's subscription and the destination/type of traffic (eg: free access to all Orange TV content with the XXX rate).
The MSN is never sent in open communication to Internet nodes.
Where is the Header Enrichment configured? On network nodes: Cisco, Juniper, Citrix (formerly ByteMobile), etc. That is to say: the configuration of the Header Enrichment is under the strict control of the Mobile Operator/Internet Service Provider.
If the application in question is under the control of the Mobile Operator or a company with which it has an agreement, the reception of "enriched Headers" will be possible (including things like IP, MSN)
The header will be accessed like any other HTTP header once its name, format and content are known.
The format and content of said "headers" will be determined by the Mobile Operator that owns the Proxy that performs the "enrichment".
Note: Today the proxy concept in mobile operators (and/or internet service providers) is hidden/found in nodes like DPI (Deep Packet Inspection) and others.