1. HTTP状态码一个分为五种类别
类别 | 原因短语 | |
1** | informational(信息性状态码) | 接收的请求正在处理 |
2** | success(成功状态码) | 请求正常处理完毕 |
3** | redirection(重定向状态码) | 需要进行附加操作以完成请求 |
4** | client Error(客户端错误状态码) | 服务器无法处理请求 |
5** | server Error (服务器错误状态码) | 服务器处理请求出错 |
这些状态码我们可以在服务端代码中自定义返回给到客户端,如重定向。在你转移新的地址之后,你可以回复3**的状态码然后给一个正确的URL和URI。然后就自动跳转到那个新的地址去!(用户看到的效果就是他输入的地址A瞬间变成了另一个地址B)
PS(搜索引擎在抓取新内容的同时也将旧的网址交换为重定向之后的网址;302表示旧地址A的资源还在(仍然可以访问),这个重定向只是临时地从旧地址A跳转到地址B,搜索引擎会抓取新的内容而保存旧的网址。)
2. HTTP在OSI模型中位于应用层,是应用层的,也是基于传输层的TCP协议的。每次的HTTP请求都要先经过TCP的经典三次握手之后,然后完成一次请求和响应的数据通信传输,最后关闭TCP的连接。所以HTTP是一种无状态的协议!不能保存状态!
3. cookie是一种为了间接性的表示保持会话状态的引入到HTTP技术。
4. URI和URL的区别:URI强调的是给资源标记命名,URL强调的是给资源定位。两者不是对立关系。你知道腾讯公司的张三。当我说腾讯公司的张三的时候(URI),你就:哦,我知道这个人。但是你并不知道这个人的具体办公地址在哪里,你要找到他详细地址深圳腾讯公司18层研发部**(URL)你才能去拜访这个人!
5. 请求方法不仅有GET/POST 还有PUT...等等方法
6. 引入的持久连接节省通信量:
1)持久连接新协议(HTTP keep-alive)
2)管线化(一次TCP连接,多次请求和多次响应)
3)webSocket(类似TCP socket)的保持状态通信
7. 更好的利用HTTP传输内容
1)为了提高HTTP在传输数据的速率和安全的时候:我们可以对HTTP主体内容进行压缩和安全的编码。然后再传输!
2)分块传输
3)multipart传输:可以做到一次性传输多种数据格式的数据。多用于文件。你可以在传输文件的同时传输其他的表单数据!
4)按照字节范围来进行请求响应!
8. HTTPS是在建立完SSL的安全线路通信后,然后使用HTTP协议进行数据传输!
9.关于安全认证问题:HTTP协议标准提供的BASIC认证和DIGEST认证几乎不怎么用,而SSL客户端认证虽然具有高度的安全等级,但又费用成本过高。所以对于中小型其他最合适的安全认证是由自己搭建的基于表单的认证系统!这种方式一般使用cookie来保持session会话!