### 协议规范
规范把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安装