HTTP HTTPS

作者: Sue1024 | 来源:发表于2023-02-25 23:40 被阅读0次

HTTP

超文本传输协议 Hyper Text
Transfer Protocol,是符合TCP标准的应用层,以明文方式发送内容,不提供任何方式的数据加密。

请求方法

GET POST PUT HEAD OPTIONS DELETE TRACE CONNECT

请求头

通用头 请求头 响应头 实体头

连接
  1. 短连接: 1.0默认使用短连接,即每次请求都要重新发起连接,数据交换结束即关闭连接
  2. 长连接:1.1起默认使用长连接,连接建立后不断开。
各版本
1.0
  1. 默认使用短连接
  2. 使用if-modified-since expires来做缓存判断标准
  3. 存在带宽浪费现象,比如客户端仅需要对象的一部分,服务端将整个对象送来
1.1
  1. 默认使用长连接
  2. 引入更多缓存判断标准Etag if-None-Match
  3. 允许请求资源的某个部分
  4. 新增了24个状态码
2.0
  1. 允许多路复用,做到同一个连接并发处理多个请求
  2. 支持二进制编码
  3. 将相同的首部进行压缩,不重复传输
  4. 流量控制
  5. 支持服务器推送(CSS和JS一起发送),不仅只是客户端发起请求,服务端可以自己发送一些数据。
3.0

1、QUIC (Quick UDP Internet Connections)是基于UDP协议的。
2、解决了 TCP 的队头阻塞问题(某一个流的数据有丢包,则同样会阻塞在它之后传输的流数据传输)。而 http3.0 中不同的流之间真正的实现相互独立传输,互不干扰。
3、在切换网络时的依旧保持连接。

状态码
状态码 解释
100 服务器收到了请求,请客户端继续发送 1XX是1.1版本新定义的,可以优化某些场景,比如:客户端有一个较大的文件需要上传并保存,但是客户端并不知道服务端是否愿意接受这个文件,所以希望在消耗网络资源进行传输之前,先询问服务器的意愿,实际操作为,请求头加上Expect: 100-coninue, 若服务器接受,返回100,否则417
200 请求成功
201 成功请求并创建了新资源
202 已接受请求,但未处理完成
203 非授权信息
204 服务器成功处理,但未返回内容
301 请求的资源已被永久的移动到新URL,返回信息会包括新的URL
302 资源临时被移动,客户端应继续使用原有URL
303 使用GET和POST请求查看其他地址
304 请求已被允许,但文档的内容并没有改变(缓存)
305 所请求的资源必须通过代理访问
307 使用GET请求重定向
400 请求无效,前端数据与后端数据不一致,请求格式不对
401 当前请求需要用户验证
403 服务器已经得到请求,但是拒绝执行,比如身份验证不通过
404 服务器无法根据客户端的请求找到资源
405 客户端请求中的方法被禁止
408 服务器等待客户端发送的请求时间过长,请求超时
410 客户端请求的资源已经不存在
413 由于请求的实体过大,服务器无法处理,因此拒绝
414 请求的URL过长
415 服务器无法处理请求附带的媒体格式
416 客户端请求的范围无效
500 服务器内部错误,无法完成请求
501 这个状态码不常见,意思是未实现,这个解释会给人误导,并不是意味着我们访问了一个未实现的api,而是服务器目前不具备满足您对该内容请求的功能, 比如服务器脱机了
503 由于超载或系统维护,服务器暂时无法处理客户端的请求
505 服务器不支持请求的http协议的版本

HTTPS

HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并未浏览器和服务器之间的通信加密。简单来说是HTTP的安全版。
SSL(Secure Sockets Layer)最初由网景公司设计(1994),用来加密HTTP协议传输的数据.

主要区别

  1. HTTPS需要到CA申请证书,一般需要一定费用
  2. HTTPS安全性更高
  3. HTTP的默认端口是80,HTTPS是443
  4. HTTP本身是无状态的,非常简单的协议;HTTPS是由SSL+HTTP构建的可进行加密传输、身份认证的网络协议,它是有状态的。
  5. https更消耗时间和资源(ssl部分需额外花费三倍时间)
  6. https在SEO方面,谷歌搜索引擎算法中给了https加密的网站更高的排名。

HTTPS的工作原理

  1. 用户在浏览器输入一个https网址,连接到对应server的443端口
  2. 采用HTTPS协议的服务器必须要有一套数字证书,可以自己制作,也可以向组织申请,自己制作的证书需要客户端验证通过才可以继续访问。
    这个证书就是一对公钥和私钥。私钥相当于钥匙,公钥相当于锁,
  3. 服务端传送证书给客户端(公钥,相当于把锁给别人,别人可以用这把锁把重要的东西锁起来,然后发给你,因为只有你一个人有钥匙,所以只有你才能看到)
  4. 客户端解析证书,由客户端的TLS来完成。
    TLS/SSL 安全传输层协议,用于在两个通信应用程序之间提供保密性和数据完整性。TLS是SSL的升级版,二者经常混用,小编也说不清楚,总之是先有了SSL1.0 2.0,但各种bug,后来直接推出了TLS1.0,又有了SSL3.0。
    那么TLS确认保证公钥不是被篡改的。TLS会确认证书中的颁发机构和过期时间,只要证书是可信的,那么公钥就是可信的。
    如果证书没有问题,就会生成一个随机值,然后用公钥对该随机值进行加密。
  5. 客户端传送随机值给服务端
  6. 客户端用私钥解密公钥(锁)之后,得到随机值,然后之后的传输都用该随机值所谓私钥进行对称加密传递信息。
对称加密和非对称加密方法列举
  1. 非对称加密: RSA DSA
  2. 对称加密: AES RC4
  3. HASH加密: MD5 SHA1
HTTPS的优缺点
优点
  1. 安全
缺点
  1. 握手阶段费时
  2. https 缓存不如 http 高效,增加数据开销。
  3. SSL 证书消耗成本,功能越强大的证书费用越高。

相关文章

  • HTTP/HTTPS

    说明 HTTP协议即超文本传送协议(Hypertext Transfer Protocol ),是Web联网的基础...

  • HTTP/HTTPS

    HTTP http协议属于明文传输协议,交互过程以及数据传输都没有进行加密,通信双方也没有进行任何认证,通信过程非...

  • HTTP、HTTPS

    WWW: WWW是一个基于HTTP的客户-服务器应用系统,即属于客户-服务器范型的分布式计算应用 HTTP协议: ...

  • http/https

    HTTP 超文本传输协议,用于在Web浏览器和网站服务器之间传递信息。 明文方式发送,不提供任何方式的数据加密,如...

  • http https

    一个网络请求可以简单分为连接服务器 -> 获取数据两个部分。其中连接服务器前还包括 DNS 解析的过程;获取数据后...

  • HTTP AND HTTPS

    HTTP和HTTPS HTTP 大家都知道它是超文本传输协议,也就是提供一种发布和接受HTML页面的方法。 HTT...

  • HTTP and HTTPS

    HTTP HTTP://host:80/ host:主机地址 1.采用IPV4格式 ...

  • http https

    HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,...

  • HTTP/HTTPS

    页面升级兼容https;1)需要将页面中的所有关于点击事件跳转改成:href="https://badu.com"...

  • http/https

    链接地址:http://www.guokr.com/post/114121/ HTTP就是我们平时浏览网页时候使用...

网友评论

    本文标题:HTTP HTTPS

    本文链接:https://www.haomeiwen.com/subject/dprqldtx.html