简单的HTTP协议
HTTP协议用于客户端和服务端之间的通信:
客户端与服务端:(请求->处理->响应)



请求报文是由请求方法、请求 URI、协议版本、可选的请求首部字段和内容实体构成的。

响应报文基本上由协议版本、状态码(表示请求成功或失败的数字代码)、用以解释状态码的原因短语、可选的响应首部字段以及实体主体构成。

HTTP协议是无状态协议:

关于这个的理解,大伙可以参考这篇文章:https://www.cnblogs.com/bellkosmos/p/5237146.html
在此提一句web form的viewstate~
参考文章:
https://blog.csdn.net/wait_for_taht_day5/article/details/52960276
https://www.cnblogs.com/wwan/archive/2010/11/18/1880357.html
HTTP方法:


GET和POST方法的主要区别?
http://www.cnblogs.com/logsharing/p/8448446.html
https://boutell.com/newfaq/misc/urllength.html
POST和PUT的主要区别:(是否幂等)https://www.cnblogs.com/sexintercourse/p/5890603.html


HEAD方法和GET方法一致,除了服务器不能在响应里返回消息主体
参考链接:https://www.jianshu.com/p/1a49a7b08ee0



关于Trace的理解:
https://www.cgisecurity.com/questions/httptrace.shtml
https://www.jianshu.com/p/1a49a7b08ee0

关于RESTful风格接口的设计:
http://www.ruanyifeng.com/blog/2014/05/restful_api.html
持久连接节省通信量:
HTTP 协议的初始版本中,每进行一次 HTTP 通信就要断开一次 TCP连接

缺点:无谓的 TCP 连接建立和断开,增加通信量的开销。


在 HTTP/1.1 中,所有的连接默认都是持久连接,但在 HTTP/1.0 内并未标准化。
管线化:(无需等待请求返回即可发起下一个请求)

Cookie:

Cookie 会根据从服务器端发送的响应报文内的一个叫做 Set-Cookie 的首部字段信息,通知客户端保存 Cookie。当下次客户端再往该服务器发送请求时,客户端会自动在请求报文中加入 Cookie 值后发送出去。
服务器端发现客户端发送过来的 Cookie 后,会去检查究竟是从哪一个客户端发来的连接请求,然后对比服务器上的记录,最后得到之前的状态信息。

有关cookie和session,可以参考这篇文章:(个人理解,银行的例子)
https://www.jianshu.com/p/6a73b50a2e6b