javaservletssslhttpshttp-protocols

How can I know if the request to the servlet was executed using HTTP or HTTPS?


I wrote a servlet in Java and I would like to know if the request to that servlet was executed using HTTP or HTTPS.

I thought I can use request.getProtocol() but it returns HTTP/1.1 on both methods.

Any ideas?


Solution

  • HttpServletRequest.isSecure() is the answer. The ServletContainer is responsible for returning true in the following cases:

    The Container should also make this request attributes available when the request is received on https: