本篇文章主要介绍下 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。