Answer - B
There are many uses for Lambda@Edge processing. For example:
A Lambda function can inspect cookies and rewrite URLs so that users see different versions of a site for A/B testing.
CloudFront can return different objects to viewers based on the device they`re using by checking the User-Agent header, including information about the devices. For example, CloudFront can return different images based on the screen size of their device. Similarly, the function could consider the value of the Referer header and cause CloudFront to return the images to bots that have the lowest available resolution.
Or you could check cookies for other criteria. For example, on a retail website that sells clothing, if you use cookies to indicate which color a user chose for a jacket, a Lambda function can change the request so that CloudFront returns the image of a jacket in the selected color.
A Lambda function can generate HTTP responses when CloudFront viewer request or origin request events occur.
A function can inspect headers or authorization tokens and insert a header to control access to your content before CloudFront forwards the request to your origin.
A Lambda function can also make network calls to external resources to confirm user credentials or fetch additional content to customize a response.
Option A is incorrect since multiple origins will not help in the requirement.
Option C is incorrect since the proxy protocol is normally used with the Elastic Load Balancer.
Option D is incorrect since this is used for media streaming distributions.
For more information on using Lambda at the edge, please visit the following URL:
https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/lambda-at-the-edge.html