网站封装单个exe_网站中:https和http的主要区别

news/2024/5/9 16:32:49/文章来源:https://blog.csdn.net/weixin_39611389/article/details/110857605

https和http的主要区别

1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。

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

3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

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

HTTP和HTTPS的基本概念

HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。

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

HTTPS协议的主要作用可以分为两种

一种是建立一个信息安全通道,来保证数据传输的安全;

另一种就是确认网站的真实性。

http的无状态以及建立连接方式

1、无状态:

http协议为了保证服务器的内存,不会维持客户端发过来的请求,即同一个客户端的这次请求和上次请求是没有对应关系,对http服务器来说,它并不知道这两个请求来自同一个客户端。例如:一个浏览器在短短几秒之内两次访问同一对象时,服务器进程不会因为已经给它发过应答报文而不接受第二次服务请求。

为了解决这个问题, Web程序引入了Cookie机制来维护状态。

2、建立连接方式

HTTP中支持两种连接方式:非持久连接和持久连接(HTTP1.1默认的连接方式为持久连接)。

1、非持久连接方式

让我们查看一下非持久连接情况下从服务器到客户传送一个Web页面的步骤。

假设该贝面由1个基本HTML文件和10个JPEG图像构成,而且所有这些对象都存放在同一台服务器主机中。再假设该基本HTML文件的URL为:

http://www.baidu.com/cnblogs.com/xxxx-6/index.html。

下面是具体步骡:

1. HTTP客户初始化一个与服务器主机baidu.com中的HTTP服务器的TCP连接。HTTP服务器使用默认端口号80监听来自HTTP客户的连接建立请求。

2. HTTP客户经由与TCP连接相关联的本地套接字发出—个HTTP请求消息。这个消息中包含路径名/xxxx-6/index.html

3. HTTP服务器经由与TCP连接相关联的本地套接字接收这个请求消息,再从服务器主机的内存或硬盘中取出对象/xxxx-6/index.html,经由同一个套接字发出包含该对象的响应消息。

4. HTTP服务器告知TCP关闭这个TCP连接(不过TCP要到客户收到刚才这个响应消息之后才会真正终止这个连接)。

5. HTTP客户经由同一个套接字接收这个响应消息。TCP连接随后终止。该消息标明所封装的对象是一个HTML文件。客户从中取出这个文件,加以分析后发现其中有10个JPEG对象的引用。

6.给每一个引用到的JPEG对象重复步骡1-4。

上述步骤之所以称为使用非持久连接,原因是每次服务器发出一个对象后,相应的TCP连接就被关闭,也就是说每个连接都没有持续到可用于传送其他对象。每个TCP连接只用于传输一个请求消息和一个响应消息。就上述例子而言,用户每请求一次那个web页面,就产生11个TCP连接。

2、持久连接

非持久连接有一个很大的缺点就是,每一个http请求都需要建立一个TCP连接,就上面的例子而言,get一个html页面就要建立十一次TCP连接,这是严重浪费资源行为!

首先,客户得为每个待请求的对象建立并维护一个新的连接。对于每个这样的连接,TCP得在客户端和服务器端分配TCP缓冲区,并维持TCP变量。对于有可能同时为来自数百个不同客户的请求提供服务的web服务器来说,这会严重增加其负担。

其次,如前所述,每个对象都有2个RTT的响应延长——一个RTT用于建立TCP连接另—个RTT用于请求和接收对象。最后,每个对象都遭受TCP缓启动,因为每个TCP连接都起始于缓启动阶段。不过并行TCP连接的使用能够部分减轻RTT延迟和缓启动延迟的影响。

【RTT(Round-Trip Time): 往返时延。在计算机网络中它是一个重要的性能指标,表示从发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后便立即发送确认),总共经历的时延。】

持久连接就能够很好解决这一缺点,在持久连接情况下,服务器在发出响应后让TCP连接继续打开着。同一对客户/服务器之间的后续请求和响应可以通过这个连接发送。整个Web页面(上例中为包含一个基本HTML文件和10个图像的页面)自不用说可以通过单个持久TCP连接发送:甚至存放在同一个服务器中的多个web页面也可以通过单个持久TCP连接发送。

通常,HTTP服务器在某个连接闲置一段特定时间后关闭它,而这段时间通常是可以配置的。

持久连接分为不带流水线(without pipelining)和带流水线(with pipelining)两个版本。

不带流水线的版本:

客户只在收到前一个请求的响应后才发出新的请求。这种情况下,web页面所引用的每个对象(上例中的10个图像)都经历1个RTT的延迟,用于请求和接收该对象。与非持久连接2个RTT的延迟相比,不带流水线的持久连接已有所改善,不过带流水线的持久连接还能进一步降低响应延迟。不带流水线版本的另一个缺点是,服务器送出一个对象后开始等待下一个请求,而这个新请求却不能马上到达。这段时间服务器资源便闲置了。

带流水线的持久连接:

HTTP/1.1的默认模式使用带流水线的持久连接。这种情况下,HTTP客户每碰到一个引用就立即发出一个请求,因而HTTP客户可以一个接一个紧挨着发出各个引用对象的请求。服务器收到这些请求后,也可以一个接一个紧挨着发出各个对象。如果所有的请求和响应都是紧挨着发送的,那么所有引用到的对象一共只经历1个RTT的延迟(而不是像不带流水线的版本那样,每个引用到的对象都各有1个RTT的延迟)。另外,带流水线的持久连接中服务器空等请求的时间比较少。与非持久连接相比,持久连接(不论是否带流水线)除降低了1个RTT的响应延迟外,缓启动延迟也比较小。其原因在于既然各个对象使用同一个TCP连接,服务器发出第一个对象后就不必再以一开始的缓慢速率发送后续对象。相反,服务器可以按照第一个对象发送完毕时的速率开始发送下一个对象。

HTTP和HTTPS的主要特点和工作流程

HTTP特点

1.支持客户/服务器模式。(C/S模式)

2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。

3.灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。

4.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

5.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快

HTTP工作流程

第一步:建立TCP/IP连接,客户端与服务器通过Socket三次握手进行连接

第二步:客户端向服务端发起HTTP请求(例如:POST/login.html http/1.1)

第三步:客户端发送请求头信息,请求内容,最后会发送一空白行,标示客户端请求完毕

第四步:服务器做出应答,表示对于客户端请求的应答,例如:HTTP/1.1 200 OK

第五步:服务器向客户端发送应答头信息

第六步:服务器向客户端发送请求头信息后,也会发送一空白行,标示应答头信息发送完毕,接着就以Content-type要求的数据格式发送数据给客户端

第七步:服务端关闭TCP连接,如果服务器或者客户端增Connection:keep-alive就表示客户端与服务器端继续保存连接,在下次请求时可以继续使用这次的连接

HTTPS特点

HTTPS是HTTP协议的修改,它加密数据并确保其机密性。其配置可保护用户在与网站交互时免于窃取个人信息和计费数据。

1、优点

相比于http,https可以提供更加优质保密的信息,保证了用户数据的安全性,此外https同时也一定程度上保护了服务端,使用恶意攻击和伪装数据的成本大大提高。

2、缺点

缺点也同样很明显,

第一https的技术门槛较高,多数个人或者私人网站难以支撑,CA机构颁发的证书都是需要年费的,此外对接Https协议也需要额外的技术支持;

其二,目前来说大多数网站并不关心数据的安全性和保密性,其https最大的优点对它来说并不适用;

其三,https加重了服务端的负担,相比于http其需要更多的资源来支撑,同时也降低了用户的访问速度;

第四,目前来说Http网站仍然大规模使用,在浏览器侧也没有特别大的差别,很多用户不关心的话根本不感知。

HTTPS工作流程

442c213f20b37cf48102ec8bc33dff39.png

第一步:客户使用https的URL访问Web服务器,要求与Web服务器建立SSL连接。

第二步:Web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端。

第三步:客户端的浏览器与Web服务器开始协商SSL连接的安全等级,也就是信息加密的等级。

第四步:客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站。

第五步:Web服务器利用自己的私钥解密出会话密钥。

第六步:Web服务器利用会话密钥加密与客户端之间的通信。

本文转自网络。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_770946.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《Python数据分析与挖掘实战》第12章——电子商务网站用户行为分析及服务推荐(协同推荐)数据探索分析篇①

文章目录1 背景与目标分析2.数据探索分析2.1 网页类型分析2.1.1 统计各个网页类型所占的比例2.1.2 网页107类型中的内部统计2.1.3 统计带"?"问号网址类型统计2.1.4 统计199类型中的具体类型占比2.1.5 统计瞎逛用户中各个类型占比2.2 点击次数分析2.2.1 统计点击次数…

《Python数据分析与挖掘实战》第12章——电子商务网站用户行为分析及服务推荐(协同推荐)数据预处理篇②

文章目录1 数据清洗1.1 查看各个需要删除的规则包含的信息1 数据清洗 1.1 查看各个需要删除的规则包含的信息 类型网页 import pandas as pd from sqlalchemy import create_engine# 读取数据库数据 engine create_engine(mysqlpymysql://root:localhost/wangye?charsetut…

提升 10 倍网站访问速度,全局负载均衡与CDN内容分发

CDN简介 CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,…

一款开源免费的网站监控系统

做过前端的开发的小伙伴想必经常被线上的各种问题弄的焦头烂额,不是出现适配问题,就是出现功能异常。 虽然,公司一般也有各种监控系统来帮助我们分析和发现问题,但是,我们每次解决问题都需要辗转于各种监控系统之间&a…

基于Python电影网站系统的日志

文章目录使用技术:模块10.1810.1910.2610.2711.1611.1712.2512.269-1上映预告-标签筛选-电影分页9-2 电影搜索-电影详情5-4 会员-收藏-评论管理页面搭建6-8 修改密码6-9 日志管理1.1遇到的问题1. 当验证在Flask中失败时,如何覆盖html默认的“请填写此字段…

Flask搭建新闻网站①

跟之前flask做的ihome租房网站类似,配置信息几乎完全一样,这里只记录下重点内容 git忽略log日志可在logs文件夹下加 .gitkeep文件 文章目录项目预览文章列表页文章详情页个人中心Day108_表结构分析数据库迁移显示网站logo文件Day2使用请求钩子自定义过滤…

Flask搭建新闻网站②

文章目录Day5404创建管理员管理员登录用户统计防止用户进入admin页面gunicorn运行项目nginxDocker部署服务器建立docker镜像Day5 404 # 统一返回404页面 index_bp.route(/404) user_login_data def page_not_found():data {"user_info": g.user.to_dict() if g.use…

Django+xadmin实现教育网站系统

文章目录环境配置与项目介绍Django升级2.0 注意的点app管理数据库设计注册model注册app目录5 xadmin搭建后台管理系统5-3 users app 的model注册5-5 xadmin全局配置app.py 定义app后台名称第6章 用户注册功能实现6.1 登录表单验证6-6 session和cookie自动登录机制用户注册发送邮…

Django+xadmin实现教育网站系统②

文章目录第10章 个人中心和全局搜索功能实现全局搜索修改头像第11章 首页、全局功能细节和404以及500页面配置第12章 常见web攻击及防范sql注入12-2 xss攻击原理及防范12-3 csrf攻击与防范第13章 xadmin的进阶开发13-1 userprofile注册以及django的权限管理13-3 model_icon, 只…

视频网站解决带宽问题(总结)

自己搜来的一些方案,汇总下供自己学习吧 1.大带宽是重中之重 所有了解视频类应用的人都知道,视频网站的带宽才是重中之重。在线视频播放网站每天都会产生巨额的流量,每个客户都会占据非常大的带宽。如果带宽不够就会出现用户播放卡顿&#…

php投票网站教程,PHP之投票联系

1.建立数据库表1:DiaoYanTiMu表2:DiaoYanXuanXiang2.页面页面1:投票首页无标题文档#fanhui{ display:none}$db new MySQLi("localhost","root","123","mydb");$sql "select * from diaoyanti…

网站页面左右_建设一个普通的网站需要多少钱?就是一个展示型的公司网站。...

这个问题在行业内是没有准确定义的,每一个建站公司在面对不同的客户需求,都会有不同的报价模式,而影响价格的因素有很多,但无疑建站成员所拥有的“宝贵经验”往往是最贵的,这也是建站公司相互报价差距巨大的原因。要想…

java页面加速_为你的网站加速

我的博客刚成立也是不久,所以现在我关注了很多中小博客站点,发现很多站点打开速度很慢,甚至有一些网站出现打不开的情况。网站运行不稳定,可能和使用的服务器有关系,因为很多人都图方便,为了不备案直接使用…

linux 重启命令nginxed,Nginx转发,部署网站相关linux命令

进入目录cd /etc/nginx/sites-available进入文件defaultsudo vim default;编辑a鼠标右键粘贴退出编辑Esc保存:wq重启Nginx服务sudo service nginx restart清空default里面的内容sudo sh -c encho "" >default创建manage-front文件,并复制cib-front到ma…

电子病历模板编辑器_这几个邮件模板网站,帮助提升工作效率

AUTOKLOSE: 一些免费的邮件正文模板。Autopilot Templates:ree customer journey templates for marketing automationBEE TEMPLATES for GMAIL: 可编辑Gmail邮件模板。COLD EMAIL TEMPLATE: 一系列营销邮件模板。Contactually: 不知道邮件内容怎么写?参考下这些邮件…

关于ssm框架的外文文献及译文_使用彩云小译,翻译外文网站实现双语对照

彩云小译扩展,实现外语网页的翻译功能,一段原文一段译文,让查阅外文资料可以随心所欲。整理&排版 | idea君 ,预计阅读时间 | 3分钟 文章意在学习交流分享,如有侵权请联系删除 封面:http://www.pexels.c…

网站index.php怎么关联其余,thinkphp隐藏index.php/home并允许访问其他模块的实现方法...

想要达成的效果很简单,我有两个模块,Home、Wechat。http://localhost/index.php/home/index/index 缩短为: http://localhost/index/indexhttp://localhost/index.php/wechat/index/index 缩短为: http://localhost/wechat/index/…

php5.2.8升级,UWA2.X通用建站升级程序

UWA2.X通用建站升级程序是一款基于PHP和MySQL开发的通用建站系统,程序简洁、灵活而具备强大的扩展性,将是您轻松建站的首选利器。采用XML名字空间风格核心模板:模板全 部使用文件形式保存,对用户设计模板、网站升级转移均提供很大…

google android开发者网站,谷歌上线 Fuchsia OS 开发者网站

原标题:谷歌上线 Fuchsia OS 开发者网站谷歌自研的操作系统 Fuchsia OS 又有新动作了。据了解,谷歌近日悄悄地上线了 Fuchsia OS 的开发者网站 https://fuchsia.dev/。谷歌表示,上线 fuchsia.dev 是为了让开发者更好地参与 Fuchsia OS 的开发…

如何自制网页服务器,如何自己制作网站?如何制作自己的网页?

如何自己制作网站?如何制作自己的网页?首先,你是非开发者,你需要知道做一个网页要采取哪些步骤。下面一起来看看吧!简单来说,网页制作需要的内容如下:页面设计、前端开发、后端开发(如果只是简单的介绍页面或者是不经常更改的页面)&#xf…