As the explanation of option 4 says:ServletRequest and PageContext respectively.
so if the request is not a HTTP request then request attributes will be stored in ServletRequest implementation class.As per Section JSP.1.8.3 - Implicit Objects - The object implementing the request scope is request protocol dependent subtype of javax.servlet.ServletRequest e.g. javax.servlet.http.HttpServletRequest.