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();