首页 > 其他分享 >HTTP连环问

HTTP连环问

时间:2022-08-25 00:26:50浏览次数:44  
标签:HTTP 发送 连环 服务器 连接 服务端 客户端

HTTP连环问

什么是HTTP?

  • HTTP协议是Hyper TextTransfer Protocol(超文本传输协议)的缩写,是用于从万维网服务器传输超文本到本地浏览器的传送协议。

HTTP特点?

  • HTTP允许传输任意类型的数据。传输的类型由Content-Type加以标记。
  • 无状态。对于客户端每次发送的请求,服务器都认为是一个新的请求,上一次会话和下一次会话之间没有联系。
  • 支持客户端/服务器模式。

HTTP长连接?

  • HTTP长连接,指的是复用TCP连接。多个HTTP请求可以复用同一个TCP连接,这就节省了TCP连接建立和断开的消耗。
  • HTTP1.0默认使用的是短连接。浏览器和服务器每进行一次HTTP操作,就建立一次连接,任务结束就中断连接。
  • HTTP1.1起,默认使用长连接。要使用长连接,客户端和服务器的HTTP首部的Connection都要设置为keep-alive,才能支持长连接。

HTTP1.1和HTTP2.0的区别?

  • 新的二进制格式:HTTP1.1基于文本格式传输数据;HTTP2.0采用二进制格式传输数据,解析更高效。
  • 多路复用:在一个连接里,允许同时发送多个请求或响应,并且这些请求或响应能够并行的传输而不被阻塞。
  • 头部压缩,HTTP1.1的header带有大量信息,而且每次都要重复发送;HTTP2.0把header从数据中分离,并封装成头帧和数据帧,使用特定算法压缩头帧,有效减少头信息大小。并且HTTP2.0在客户端和服务器端记录了之前发送的键值对,对于相同的数据,不会重复发送。比如请求a发送了所有的头信息字段,请求b则只需要发送差异数据,这样可以减少冗余数据,降低开销。
  • 服务端推送:HTTP2.0允许服务器向客户端推送资源,无需客户端发送请求到服务器获取。

HTTP安全吗?

  • HTTP是明文传输,容易被黑客窃听或篡改,不安全。
  • 可以使用HTTPS来解决HTTP明文协议的缺陷,在HTTP的基础上加入SSL/TLS协议,依靠SSL证书来验证服务器的身份,为客户端和服务器端之间建立SSL通道,确保数据传输安全。

HTTPS原理?

  • 首先是TCP三次握手,然后客户端发起一个HTTPS连接建立请求,客户端先发一个ClientHello的包,然后服务端响应Server Hello,接着再给客户端发送它的证书,然后双方经过密钥交换,最后使用交换的密钥加解密数据。
    • 首先是协商加密算法。在ClientHello里面客户端会告知服务端自己当前的一些信息,包括客户端要使用的TLS版本,支持的加密算法,要访问的域名,给服务端生成的一个随机数(Nonce)等。需要提前告知服务器想要访问的域名以便服务器发送相应的域名的证书过来。
    • 服务端响应Server Hello,告诉客户端服务端选中的加密算法。
    • 接着服务端给客户端发来了证书。
    • 客户端使用证书的认证机构CA公开发布的RSA公钥对该证书进行验证。
    • 验证通过之后,浏览器和服务器通过密钥交换算法产生共享的对称密钥。
    • 开始传输数据,使用同一个对称密钥来加解密。

标签:HTTP,发送,连环,服务器,连接,服务端,客户端
From: https://www.cnblogs.com/faetbwac/p/16622785.html

相关文章

  • MySQL索引连环问
    MySQL索引连环问什么是索引?索引类似于书本的目录,是存储引擎用于提高数据库表的访问速度的一种数据结构。数据是存储在磁盘上的,查询数据时,如果没有索引,会加载所有的数据......
  • List连环问
    List连环问List?List是一个接口,常见的实现类有ArrayList和LinkedListArrayList和LinkedList的区别?ArrayList的底层数据结构是数组,支持下标访问,查询数据快。默认初始......
  • JVM基础连环问
    JVM基础连环问什么是堆吗?堆用于存放对象实例,是垃圾收集器管理的主要区域,因此也被称作GC堆。堆可以细分为:新生代(Eden空间、FromSurvivor、ToSurvivor空间)和老年代。堆......
  • Redis连环问
    Redis连环问Redis为什么这么快呢?基于内存:Redis是使用内存存储,没有磁盘IO上的开销。数据存在内存中,读写速度快。单线程实现(Redis6.0以前):Redis使用单个线程处理请求,避......
  • http与https 相关知识
    ###http基础知识http超文本传输协议明文无状态的==无状态==没有记忆的,每一个请求发生时都不需要去回忆过去的请求产生了什么样的记忆,也没办法创造新的记忆去影响......
  • HTTP权威指南 pdf
    高清文字版,中文版下载链接:https://pan.baidu.com/s/1bf66AbWnlRlbNSkSsC24BQ点击这里获取提取码。HTTP(HyperTextTransferProtocol,超文本传输协议)是Web客户端与服务器......
  • HTTP 中的常用状态码及使用场景
    其HTTP状态码则代表了当前请求的状态,比如客户端还是服务端错误之类的1xx消息这类状态码,代表请求已被服务端接受,但服务端还要继续进行处理。100Continue继续。服务端......
  • HttpServiceDispatcher
    packagewm.http;importio.netty.buffer.ByteBuf;importio.netty.buffer.Unpooled;importio.netty.channel.*;importio.netty.handler.codec.http.*;importio.netty.h......
  • 解决办法:git错误 error: failed to push some refs to 'https://github.com/...
    今天提新分支代码发现这个错误,在网上尝试了很多未果。最后发现是项目没有分配开发权限,只是浏览者的权限。分下权限重新gitpush就好了。下面是有权限的时候解决方法:问题......
  • pod资源的健康检查-readiness探针的httpGet使用
    livenessProbe:健康状态检查,周期性检查服务是否存活,检查结果失败,将重启容器readinessProbe:可用性检查,周期性检查服务是否可用,不可用将从service的endpoints中移除同一个容......