HTTP协议备忘
超文本传输协议HTTP
1.面相事务的应用层协议,端口号80。
2.HTTP协议本身是无连接的。虽然HTTP使用了TCP连接,但通信的双方在交换HTTP报文之前不需要先建立HTTP连接。
3.HTTP协议是无状态的。也即同一客户第二次访问同一个服务器上的页面时,服务器的响应与第一次被访问时相同。(服务器不记得曾经来访的客户,也不记得曾经为某用户服务过多少次)
4.HTTP/1.0的缺点是每请求一个文档就要重新建立TCP连接,这导致HTTP/1.0效率不高。对服务器来说,反复为同一客户分配缓存也增加了额外负担。
5.HTTP/1.1使用持续连接,使用户和服务器可以继续在该连接上传送后续的HTTP请求报文和响应报文。持续连接有两种工作方式:1.非流水线方式,客户在收到前一个响应后才能发出下一个请求(与HTTP/1.0相比省去了建立TCP的过程)。2.流水线方式,可以连续发送请求。
6.代理服务器(又称万维网高速缓存):一种网络实体,代理服务器吧最近的一些请求和响应存在本地磁盘中。请求到达时,若该请求若与暂存中的相同,就返回暂存的响应,而不需要按URL的地址在此去因特网访问该资源。
7.HTTP请求报文中的一些方法
| 方法 | 意义 |
|---|---|
| OPTION | 请求一些选项信息 |
| GET | 请求读取由URL所标志的信息 |
| HEAD | 请求读取由URL所标志的信息的首部 |
| POST | 给服务器添加信息(如注释) |
| PUT | 在指明的URL下存储一个文档 |
| DELETE | 删除指明的URL所标志的资源 |
| TRACE | 用来进行环回测试的请求报文 |
| CONNECT | 用于代理服务器 |
8.每个请求发出都能收到一个响应报文,响应报文第一行就是状态行,状态行包括状态码。(常见的三种状态码202 Accepted、400 Bad Request、404 Not Found)
| 状态码 | 意义 |
|---|---|
| 1XX | 通知信息,如请求收到了或正在处理 |
| 2XX | 成功,如接受或知道了 |
| 3XX | 重定向,如完成请求还必须进一步行动 |
| 4XX | 客户的差错,如请求中有错误不能完成 |
| 5XX | 服务器的差错,如服务器失效无法完成请求 |
HTTP2
(待完善)