200 OK //客户端请求成功php
400 Bad Request //客户端请求有语法错误,不能被服务器所理解html
401 Unauthorized //请求未经受权,这个状态代码必须和WWW-Authenticate报头域一块儿使用 前端
403 Forbidden //服务器收到请求,可是拒绝提供服务java
404 Not Found //请求资源不存在,eg:输入了错误的URLios
500 Internal Server Error //服务器发生不可预期的错误json
503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常浏览器
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:13.0) Gecko/20100101服务器
首部字段 User-Agent 会将建立请求的浏览器和用户代理名称等信息传达给服务器。网络
由网络爬虫发起请求时,有可能会在字段内添加爬虫做者的电子邮件地址。此外,若是请求通过代理,那么中间也极可能被添加上代理服务器的名称。app
管理持久链接
Connection: close
HTTP/1.1 版本的默认链接都是持久链接。当服务器端想明确断开链接时,则指定 Connection 首部字段的值为 close。
Connection: Keep-Alive
HTTP/1.1 以前的 HTTP 版本的默认链接都是非持久链接。为此,若是想在旧版本的 HTTP 协议上维持持续链接,则须要指定 Connection 首部字段的值为 Keep-Alive。
Content-Length: 15000
首部字段 Content-Length 代表了实体主体部分的大小(单位是字节)。对实体主体进行内容编码传输时,不能再使用 Content-Length首部字段。
Content-Type: text/html; charset=UTF-8
首部字段 Content-Type 说明了实体主体内对象的媒体类型。和首部字段 Accept 同样,字段值用 type/subtype 形式赋值。参数 charset 使用 iso-8859-1 或 euc-jp 等字符集进行赋值。
例如:
image/jpg
image/gif
text/html
video/quicktime
appliation/x-httpd-php
appliation/json
appliation/xml
application/x-www-form-urlencoded
Controller中使用@RequestBody注解参数,那么要求前端(或者模拟前端好比MockMvc)向后台请求时要以json格式请求。此时前端应该指定本身向后台发送的参数的MIME为appliation/json。
Controller中使用@RequestParam注解参数,用于简单类型的状况,好比string、Integer、Double等。要求前端采用GET请求并将参数写在连接【?】的后面,格式如:
http://localhost:1008/LoginService/login?userName=admin&password=123
Controller中使用@RequestBody注解参数仍是使用@RequestParam注解参数,要和前端进行商定。
从Http信息中提取有用的信息,好比想对请求的浏览器信息进行统计,能够提取出User-Agent信息而后提取出浏览器信息,进行统计。
https://blog.csdn.net/mr_caoshuai/article/details/78284010
/** * * Description:java获取客户端 * @Version1.0 2018-8-14 下午3:36:51 * @param request * @return */ public static String getPlatform(HttpServletRequest request){ /** * User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器 可以识别客户使用的操做系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等 */ String agent= request.getHeader("user-agent"); //客户端类型常量 String type = ""; if(agent.contains("iPhone")||agent.contains("iPod")||agent.contains("iPad")){ type = "ios"; } else if(agent.contains("Android") || agent.contains("Linux")) { type = "apk"; } else if(agent.indexOf("micromessenger") > 0){ type = "wx"; }else { type = "pc"; } return type; }
https://www.sojson.com/blog/223.html
<dependency> <groupId>nl.bitwalker</groupId> <artifactId>UserAgentUtils</artifactId> <version>1.2.4</version> </dependency>
//获取浏览器信息 String ua = request.getHeader("User-Agent"); //转成UserAgent对象 UserAgent userAgent = UserAgent.parseUserAgentString(ua); //获取浏览器信息 Browser browser = userAgent.getBrowser(); //获取系统信息 OperatingSystem os = userAgent.getOperatingSystem(); //系统名称 String system = os.getName(); //浏览器名称 String browserName = browser.getName();