The Pragma header provides backward compatibility with HTTP/1.0 clients. It is mainly used for cache management and tells the server and intermediate caches that it needs a fresh version of the resource. Older clients may not support HTTP/1.1, so this header is still in use.
The HTTP/1.1 caches treat "Pragma: no-cache" as if the client had sent "Cache-Control: no-cache".
No new Pragma directives will be defined in HTTP.
However, to guarantee a fresh version of the resource, many clients send three HTTP caching headers at once that works across all servers and proxies.
Unlike the Cache-control header, Pragma is only applicable to client requests, while Cache-Control can be used along the whole request-response chain.