1.HTTP安全
1.httpt的缺点:
1.通信使用明文(不加密),内容可能会被窃听
2.不验证通信方的身份,因此有可能遭遇伪装。
3.无法证明报文的完整性,所以有可能已遭篡改。
HTTPS 是身披 SSL 外壳的 HTTP : HTTPS 并非是应用层的一种新协议。只是 HTTP 通信接口部分用SSL(Secure Socket Layer)和 TLS(Transport Layer Security)协议代替而已。
通常,HTTP 直接和 TCP 通信。当使用 SSL 时,则演变成先和 SSL 通信,再由 SSL 和 TCP 通信了。简言之,所谓 HTTPS,其实就是身披SSL 协议这层外壳的 HTTP。
通信方式
公开密钥加密
SSL采用公开密钥加密
公开密钥加密使用一对非对称的密钥。发送密文的一方使用对方的公开密钥进行加密处理,收到被加密的信息后,在使用自己的私有密钥进行解密
https采用混合加密机制
https采用共享密钥加密和公开密钥加密并用的混合加密机制
公开密钥加密与共享密钥加密相比,加密方式更为复杂,其处理速度要慢,因此若在通信时使用公开密钥加密,效率就很低。
所以交换密钥环节使用公开密钥加密方式,之后建立通信交换报文阶段使用则使用共享密钥加密方式
HTTPS的缺点
1、通信相对HTTP要慢
2、增加CPU及内存等资源消耗
3、向认证机构(CA)购买证书
2.用户身份的认证
HTTP 使用的认证方式:
1.BASIC 认证(基本认证)
2.DIGEST 认证(摘要认证)
3.SSL 客户端认证
4.FormBase(基于表单认证)
BASIC认证
HTTP基本认证的目标是提供简单的用户认证功能,其认证过程简单明了,适合于对安全要求不高的系统或设备中,如大家所用的路由器的配置页面的认证页面,几乎都采取了这种方式.其缺点是没有灵活可靠的认证策略,
DIGEST 摘要认证
Digest认证是为了修复基本认证协议的严重缺陷而设计的,秉承“绝不通过明文在网络发送密码”的原则,通过“密码摘要”进行认证,大大提高了安全性。
SSL客户端认证
单向认证 和 双向认证
基于表单认证
409 : ?
410: http 410错误状态码表明资源(图片、css、js和所有其他文件)永久失效。在使用的一个资源被故意删除或使用某种令牌,对于给定会话(例如缓存的pdf文件)生成特殊的url,都有可能使用到410状态码。
413: 通过post上传文件过大时,会出现413错误码。
417:?
501:?
503:网站需要临时维护,这是个经常性的问题,在这期间必须关闭网站一小段时间,而在这段维护的期间内,我们应该做些什么,我们应该向搜索引擎返回什么样的header信息。
如果你的网站正在维护,而此时 Google来抓取页面,发现你的页面返回了 404 或 500错误,一次两次可能还没影响,但是3次4次后,你的网站权重或PR值将会受到明显的影响甚至清除。
505:http请求格式的错误而导致505的错误.
报文和实体的区别?
就像订单信息和具体的订单货物一样
HTTP报文是一个提供http头信息和主体的请求或响应,类似一个订单拥有订单的各种信息
而HTTP实体就像订单的具体货物一样,他本身就持有头部和主体的信息,他是传输中真正传输的数据,和订单中传输的是订单商品一样