Java编程:浅析 httpRequest 中的参数requestURL、requestURI、servletPath、contextPath、serverName、serverPort等

本篇文章主要介绍下 httpRequest 中的参数的含义与区别。
http://localhost:8080/sns/test/get 路径为例进行分析,其中 sns 为应用名称,/test/get 为请求的 controller 路径。springboot 中配置如下:

server.port=8080
server.context-path=/sns

1.请求路径参数

仔细考虑了下,总觉得这几个参数无法翻译为中文,直接看请求结果吧。

1、requestURL
本例中值为 http://localhost:8080/sns/test/get

2、requestURI
本例中值为 /sns/test/get

3、servletPath
本例中值为 /test/get

4、contextPath
本例中值为 /sns

5、serverName
本例中值为 localhost

2.端口参数

1、serverPort
一个 http 请求的过程中可能会经理多个代理和转发,最终到达应用服务器,serverPort 是指请求开始时,Url 路径中的端口,即请求的最初端口。本例中值为 8080。

2、localPort
一个 http 请求的过程中可能会经过多个代理和转发,最终到达应用服务器,localPort 是指请求到达应用服务器时该服务器的端口,即该应用的最终端口。本例中值为 8080,因为请求过程中没有代理或者转发。

3、remotePort
httpRequest 是从服务端的角度考虑的,相对于服务端而言,客户端是远程对象,该参数就是远程客户端的端口。本例中值为 51571。

3.协议与方法

1、method
http 请求时使用的方法,通常有如下几种请求方法,spring 中定义如下:

public enum RequestMethod {
	GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS, TRACE
}

2、scheme
http 请求所使用的协议,本例中值为 http。

示例代码

打印 HttpRequest 中的各种参数

你可能感兴趣的:(Java编程)