### 協議規范
規范把http請求分為三個部分:
* 起始行 CRLF
* 消息報頭 CRLF
* 消息主體
#### 起始行
* **請求**: 請求方法,url,http版本信息
* **響應**: http版本,狀態嗎,狀態碼原因短語
*響應碼:*
**1xx:**指示信息--表示請求已接收,繼續處理
**2xx:**成功--表示請求已被成功接收、理解、接受
**3xx:**重定向--要完成請求必須進行更進一步的操作
**4xx:**客戶端錯誤--請求有語法錯誤或請求無法實現
**5xx:**服務器端錯誤--服務器未能實現合法的請求**
**200:**請求被正常處理
**204:**請求被受理但沒有資源可以返回
**206:**客戶端只是請求資源的一部分,服務器只對請求的部分資源執行GET方法,相應報文中通過Content-Range指定范圍的資源。
**301:**永久性重定向
**302:**臨時重定向
**303:**與302狀態碼有相似功能,只是它希望客戶端在請求一個URI的時候,能通過GET方法重定向到另一個URI上
**304:**發送附帶條件的請求時,條件不滿足時返回,與重定向無關
**307:**臨時重定向,與302類似,只是強制要求使用POST方法
**400:**請求報文語法有誤,服務器無法識別
**401:**請求需要認證
**403:**請求的對應資源禁止被訪問
**404:**服務器無法找到對應資源
**500:**服務器內部錯誤
**503:**服務器正忙1xx:指示信息--表示請求已接收,繼續處理
#### 消息報頭
* 通用首部字段
> Date 日期
> Connection 連接管理
> Cache-Control 緩存控制
> Transfer-Encoding 報文主題的傳輸編碼方式
* 請求首部字段
> Host 請求資源所在服務器
> Accept 可處理的媒體類型
> Accept-Charset 可接受的字符集
> Accept-Encoding 可接受的內容編碼
> Accept-Language 可接受的自然語言
* 響應首部字段
> Accept-Ranges 可接受的字節范文
> Location 令客戶端重定向的到的URI
> Server Http服務器的安裝信息
* 實體首部字段
> Allow 資源可支持的http方法
> Content-Type 實體類型
> Content-Encoding 實體主體使用的編碼方式
> Content-Language 實體主體的自然語言
> Content-Length 實體主體的字節數
> Content-Range 實體主體的位置范圍,請求時使用
#### 消息主體
> 傳輸的主體數據
### 請求方式
* GET 獲取資源
* POST 提交資源
* DELETE 刪除
* PUT 修改
* OPTIONS 無返回的
* TRACE 測試和診斷
* PATCH put補充,局部修改
- 虛擬機
- JVM內存結構
- JVM調優手段
- java對象生命周期
- 垃圾回收判斷對象死亡
- 垃圾回收算法
- 垃圾收集器
- JAVA基礎知識
- java事件機制
- java反射機制
- jvm創建對象
- java異常
- finally語句一定會執行嗎?
- 集合類介紹
- ArrayList
- LinkedList
- HashMap
- ConcurrentHashMap
- 多線程
- 為什么要使用線程池
- 線程死鎖
- 死鎖檢測和解除
- jstack
- jconsole
- 死鎖預防
- 常見線程池
- 線程池參數
- 工作隊列介紹
- 拒絕策略
- ThreadLocal
- CAS
- ReentrantLock
- AQS
- CountDownLatch
- Spring
- spring中bean的作用域
- REDIS
- redis數據結構
- redis hash實現
- redis rehash與hashmap擴容的區別
- Redis使用場景
- Redis為何這么快
- redis連接數不足導致錯誤
- 分布式
- 分布式事務
- ACID
- CAP
- BASE
- 事務隔離性
- 一致性哈希算法
- 負載均衡算法
- Hystrix 信號量和線程池隔離的差異
- Spring Cloud
- eureka
- MYSQL
- mysql優化經驗
- undo redo binlog
- web
- http協議
- http和https區別
- Cookie和session
- TCP三次握手、4次揮手
- TCP的time_wait和close_wait
- 算法問題
- 編輯距離算法
- MQ
- RabbitMq
- Kafka
- 安裝教程
- Win ELK安裝