首页 > 其他分享 >http、https、浏览器介绍

http、https、浏览器介绍

时间:2023-02-03 18:00:27浏览次数:47  
标签:协议 HTTP 浏览器 SSL 传输 https http

http是一个超文本传输协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从web服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,减少络传输。 https是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL, https协议的主要作用是:是在传输层建立一个信息安全通道,来确保数组的传输,确保网站的真实性

http是一个超文本传输协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从web服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,减少络传输。

https是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL,

https协议的主要作用是:是在传输层建立一个信息安全通道,来确保数组的传输,确保网站的真实性。

http和https的区别
1.Https协议需要ca证书,费用比较高。

2.http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。

3.端口不同,一般而言,http协议的端口为80,https的端口为443 。

4.http的连接很简单,是无状态的;https协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

HTTP2.0 的特性
http2.0是基于1999年发布的http1.0之后的首次更新。

提升访问速度(相比http1.0,请求资源所需时间更少,访问速度更快)

内容安全,因为http2.0是基于https的,天然具有安全特性,通过http2.0的特性可以避免单纯使用https的性能下降

二进制格式,http1.X的解析是基于文本的,http2.0将所有的传输信息分割为更小的消息和帧,并对他们采用二进制格式编码,基于二进制可以让协议有更多的扩展性,比如引入了帧来传输数据和指令

多路复用,这个功能相当于是长连接的增强,每个request请求可以随机的混杂在一起,接收方可以根据request的id将request再归属到各自不同的服务端请求里面,另外多路复用中也支持了流的优先级,允许客户端告诉服务器那些内容是更优先级的资源,可以优先传输。

https协议的工作原理
客户使用https url访问服务器,则要求web 服务器建立ssl链接。

web服务器接收到客户端的请求之后,会将网站的证书(证书中包含了公钥),返回或者说传输给客户端。

客户端和web服务器端开始协商SSL链接的安全等级,也就是加密等级。

客户端浏览器通过双方协商一致的安全等级,建立会话密钥,然后通过网站的公钥来加密会话密钥,并传送给网站。

web服务器通过自己的私钥解密出会话密钥。

web服务器通过会话密钥加密与客户端之间的通信。

https协议的优缺点
优:

HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全,可防止数据在传输过程中不被窃取、改变,确保数据的完整性。

HTTPS是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻击的成本。

谷歌曾在2014年8月份调整搜索引擎算法,并称“比起同等HTTP网站,采用HTTPS加密的网站在搜索结果中的排名将会更高”。

缺:

https握手阶段比较费时,会使页面加载时间延长50%,增加10%~20%的耗电。

https缓存不如http高效,会增加数据开销。

SSL证书也需要钱,功能越强大的证书费用越高。

SSL证书需要绑定IP,不能再同一个ip上绑定多个域名,ipv4资源支持不了这种消耗

标签:协议,HTTP,浏览器,SSL,传输,https,http
From: https://www.cnblogs.com/fightmonster/p/17090110.html

相关文章

  • js浏览器录音功能
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><metahttp-......
  • JupyterHub(TLJH)安装卸载, 以及配置GitLab的OAuth登录和开启HTTPS
    介绍JupyterHub是可供多用户使用的JupyterNotebook安装JupyterHub分两个版本,ZerotoJupyterHubwithK8s和TheLittlestJupyterHub前者可以使用K8s集群进行部署,......
  • 浏览器密码框自动弹出账号密码的解决方法
    input的type用text类型<inputtype="text">此方法,兼容Google和firefox@font-face{font-family:"text-security-disc";src:url("https://ra......
  • 前端怎么去取消一个http请求
    问题描述:就是前端发起请求后,后端还未全部返回请求数据时,终止请求,不再返回数据。问题案例:【附件上传】:前端上传一个1G大小的压缩文件时,耗时大概一两分钟,在上传到50%的时......
  • chrome 浏览器插件右键打开窗口并获取tabid
     chrome.contextMenus.create({title:"Openframeinnewtab",onclick:function(info,tab){chrome.tabs.create({url:info.frame......
  • go 基于http库撸一个简易架子
    http库实现一个最简单的httpserver需要几行代码?对于python可能只需一行,对于node可能也要不了几行,那对于golang要几行?同样也要不了几行,这几乎是所有现代化高级语言......
  • http响应码
    http的状态响应码2.3.2.11:请求收到,继续处理**100——客户必须继续发出请求101——客户要求服务器根据请求转换HTTP协议版本2.3.2.22:操作成功收到,分析、接受**200——交......
  • Nginx的HTTP服务器
    Nginx的HTTP服务器一、前言有一个想法:将一些资料文件共享出去,怎么才能实现?或许可以利用Nginx搭建文件服务器。二、基于HTTP的文件服务器(Windows环境)......
  • Fiddler抓包https
    1、fiddler下载:​​https://www.telerik.com/fiddler​​2、打开fiddler,找到tools-options3、选择https:勾选图示项4、Actions中导出证书5、在浏览器中导入证书......
  • kubernetes-dashboard 实现 http 访问以及免 token 登录
    目录下载官方yaml文件修改yaml文件修改service端口修改clusterrolebinding修改deployment内容修改探针检测修改镜像拉取策略修改容器端口关闭token登录增加ing......