http协议,https协议归纳总结

http协议: http(超文本传输协议)协议是一种通讯协议,是指计算机网络中两台计算机之间进行通信所必须遵守的规定或规则,它允许将超文本标记语言文档从Web服务器传送到客户端,是互联网上应用最为广泛的一种网络协议。

HTTP协议是不保存状态的协议,即HTTP是无状态协议。HTTP协议自身不对请求和响应之间的通信状态进行保存。也就是说,HTTP协议对于发送过来的请求或响应都不做持久化处理。
无状态优点:
1.更快的处理大量事务,确保协议的可伸缩性。2.由于不必保存状态,这就可以减少服务器的CPU及其内存资源的损耗。

HTTP请求方法

请求方法含义
GET申请获取资源,而不对服务器产生任何其他影响
HEAD和GET方法类似,不过仅要求服务器返回头部信息,而不需要传输任何实际内容
POST客户端向服务器提交数据的方法,这种方法会影响服务器,服务器可能根据受到的数据动态创建新的资源,也可能跟新原有的资源
PUT上传某个资源
DELETE删除某个资源
TRACE要求目标服务器返回原始HTTP请求的内容,它可查看中间服务器对HTTP请求的影响
OPTIONS查看服务器对某个特定URL都支持哪些请求方法,也可以把RUL设置为*,从而获得服务器支持的所有请求方法
CONNECT用于某些代理服务器,它们能把请求的连接转化为一个安全隧道
PATCH对某个资源做部分修改

这些方法中,HEAD、GET、OPTIONS和TRACE被视为安全的方法,因为它们只是从服务器获得资源或信息,而不对服务器进行任何修改。而POST、PUT、DELETE、PATCH则影响服务器上的资源。

HTTP持久化连接
HTTP协议的初始版本中,每进行一次HTTP通信就要断开一次TCP连接,增加了通信量的开销。为了解决这个问题,HTTP/1.1推出了持久连接的方法。
持久连接的特点是,只要任意一端没有明确提出断开连接,则保持TCP连接状态。
优点:减少了TCP连接的重复建立和断开所造成的额外开销,减轻了服务器端的负载。减少了开销的那部分时间,使HTTP请求和响应能够更早地结束,这样Web页面的显示速度就相应提高了。
在HTTP/1.1中,所有连接默认都是持久连接。

HTTP结果的状态码
http状态码的职责是当客户端向服务器端发送请求时,描述返回的请求结果。用户通过状态码可以知道服务器是正常处理了请求,还是出现了错误。

类别原因短语
1xx(信息状态码)接收的请求正在处理
2xx(成功状态码)请求正常处理完毕
3xx(重定向状态码)需要进行附加操作以完成请求
4xx(客户端错误状态码)服务器无法处理请求
5xx(服务器错误状态码)服务器处理请求出错

常见的状态码:
200 OK:表示从客户端发来的请求在服务器端被正常处理了。
204 No Content :表示服务器接收的请求已成功处理,但在返回的响应报文中不含实体的主体部分,也不允许返回任何实体的主体。
301 Moved Permanently:永久性重定向。表示请求的资源已被分配了新的URI,以后应使用资源现在所指的URI。也就是说,如果已经把资源对应的URI保存为标签了,这时应该按Location首部字段提示的URI重新保存。
302 Found:临时性重定向。表示请求的资源已经被分配了新的URI,希望用户(本次)能使用新的URI访问。
304 Not Modified:表示客户端发送附带条件的请求时,服务器端允许请求访问资源,但未满足条件的情况。
400 Bad Request :表示报文中存在语法错误。当错误发生时,需要修改请求的内容后在发送请求。
401 Unauthorized:表示发送的请求需要通过HTTP认证。若之前已经进行过一次请求,则表示用户认证失败。
404 Not Found :表示服务器上无法找到请求的资源。除此之外,也可以在服务器端拒绝请求且不想说明理由时使用。
500 Internal Server Error :表示服务器端在执行请求时发生了错误。也有可能时Web应用存在的BUG或某些临时的故障。
503 Service Unavailable。表示服务器暂时处于超负载或正在进行停机维护,现在无法处理请求。如果事先得知解除以上状况所需要的时间,最好写入Retry-After首部字段在返回给客户端。

URI、URL、URN的区别
URI:统一资源标识符
URL:统一资源定位符
URN:统一资源名称

HTTPS协议
(1)为什么要使用HTTP协议,虽然HTTP协议用的很普便,但是它也有些不足。例如:
通信使用明文,内容可能会被窃听
不验证通信方的身份,因此有可能遭遇伪装
无法验证报文的完整性,所以又可能已遭篡改
为了统一解决上述问题,需要在HTTP上加入加密处理和认证等机制。我们把添加了加密及认证机制的HTTP称为HTTPS。
简单的说,其实HTTPS = HTTP + 加密 + 认证 + 完整性保护。
我们经常会在Web的登录界面和购物结算界面使用HTTPS通信。当浏览器访问HTTPS通信有效的Web网站时,浏览器的地址会出现一个带锁的标记。
(2)为什么不都使用HTTPS
1.与纯文本通信相比,加密通信会消耗更多的CPU及内存资源,这会让能处理的请求数量随之减少。
所以,如果是非敏感信息还是用HTTP通信,只有在包含个人敏感数据时,才利用HTTPS加密通信。
2.节约购买证书的开销
要进行HTTPS通信,证书是必不可少的。而使用的证书必须向认证机构(CA)购买。
3.HTTPS使用SSL时,它的处理速度会变慢。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值