深度解析HTTPS软件的发展历程及其技术特点
一、引言
随着互联网技术的飞速发展,网络安全问题日益受到关注。
为了保护用户数据安全和隐私,HTTPS协议逐渐普及并成为现代网络安全的重要基石。
本文将深度解析HTTPS软件的发展历程及其技术特点,带领读者了解HTTPS的发展历程、技术原理及其在现代互联网安全中的应用。
二、HTTPS的发展历程
1. HTTPS的起源
HTTPS协议是在HTTP协议基础上,通过SSL(Secure Sockets Layer)或TLS(Transport Layer Security)加密技术实现的安全通信协议。
其起源可追溯到上世纪90年代,当时互联网面临着日益严重的安全问题,如数据泄露、身份伪造等。
为了解决这个问题,Netscape公司开发了一种基于SSL的安全通信协议,开启了HTTPS的发展历程。
2. HTTPS的发展阶段
(1)SSL 1.0时代:SSL协议诞生之初,主要解决了网络通信中的加密问题,但由于安全性较低,并未得到广泛应用。
(2)SSL 2.0时代:随着SSL协议的不断发展,其安全性逐渐提高。但此时仍存在一些安全漏洞,导致应用受到限制。
(3)SSL 3.0及TLS时代:SSL 3.0版本的出现标志着HTTPS协议进入成熟阶段。此后,TLS协议的推广和应用使得HTTPS协议得到广泛应用。同时,随着技术的进步,HTTPS的应用场景不断扩大,不仅用于网页浏览,还广泛应用于支付、数据传输等领域。
三、HTTPS的技术特点
1. 加密技术
HTTPS采用SSL/TLS加密技术,对传输的数据进行加密处理。
加密技术使得数据在传输过程中无法被窃取或篡改,从而保护用户数据安全和隐私。
2. 身份验证
HTTPS协议可以实现服务器身份验证和客户端身份验证。
通过数字证书和公钥基础设施(PKI),确保通信双方的身份真实性。
服务器身份验证可以确保用户访问的网站是合法的,而客户端身份验证则可以保护网站免受恶意攻击。
3. 完整性保护
HTTPS协议还可以确保数据的完整性。
通过哈希函数等技术手段,检测数据在传输过程中是否被篡改。
如果数据被篡改,HTTPS协议将拒绝接收不完整的数据包,从而避免潜在的安全风险。
四、HTTPS在现代互联网安全中的应用
1. 网页浏览安全
HTTPS协议广泛应用于网页浏览领域,保护用户与网站之间的数据传输安全。
现代浏览器普遍支持HTTPS协议,用户在访问网站时,浏览器会检查网站是否使用HTTPS协议,以确保用户数据安全。
2. 网络安全通信
除了网页浏览外,HTTPS还广泛应用于其他网络安全通信领域。
例如,在线支付、文件传输、即时通讯等场景都需要保护数据的传输安全。
HTTPS协议在这些场景中的应用,有效提高了网络通信的安全性。
五、总结与展望
随着互联网技术的不断发展,网络安全问题日益突出。
HTTPS协议作为现代网络安全的重要基石,已经成为互联网通信的标配。
本文深度解析了HTTPS软件的发展历程及其技术特点,从HTTPS的起源、发展阶段、技术特点以及在现代互联网安全中的应用等方面进行了详细介绍。
展望未来,随着量子加密等新技术的不断发展,HTTPS协议将会有更大的发展空间和更广泛的应用场景。
我们将继续关注网络安全领域的发展动态,为互联网用户提供更加安全、便捷的通信体验。
计算机网络发展史及关键技术
网络技术是从1990年代中期发展起来的新技术,它把互联网上分散的资源融为有机整体,实现资源的全面共享和有机协作,使人们能够透明地使用资源的整体能力并按需获取信息。
资源包括高性能计算机、存储资源、数据资源、信息资源、知识资源、专家资源、大型数据库、网络、传感器等。
当前的互联网只限于信息共享,网络则被认为是互联网发展的第三阶段。
网络可以构造地区性的网络、企事业内部网络、局域网网络,甚至家庭网络和个人网络。
网络的根本特征并不一定是它的规模,而是资源共享,消除资源孤岛。
网络技术具有很大的应用潜力,能同时调动数百万台计算机完成某一个计算任务,能汇集数千科学家之力共同完成同一项科学试验,还可以让分布在各地的人们在虚拟环境中实现面对面交流。
网络技术的发展历程网络研究起源于过去十年美国政府资助的高性能计算科研项目。
这项研究的目标是将跨地域的多台高性能计算机、大型数据库、大型的科研设备、通信设备、可视化设备和各种传感器等整合成一个巨大的超级计算机系统,以支持科学计算和科学研究。
微软公司把开发力量集中在数据网络上,关注使用网络共享信息,而不是网络的计算能力,这反映了学术和研究领域内的分歧。
事实上,很多用于学术领域的网络技术都能够成为商业应用。
Globus是美国阿贡(Argonne)国家实验室的网络技术研发项目,全美12所大学和研究机构参与了该项目。
Globus对资源管理、安全、信息服务及数据管理等网络计算的关键理论进行研究,开发能在各种平台上运行的网络计算工具软件,帮助规划和组建大型的网络试验平台,开发适合大型网络系统运行的大型应用程序。
目前,Globus技术已在美国航天局网络、欧洲数据网络、美国国家技术网络等8个项目中得到应用。
2005年8月,美国国际商用机器公司(IBM)宣布投入数十亿美元研发网络计算,与Globus合作开发开放的网络计算标准,并宣称网络的价值不仅仅限于科学计算,商业应用也有很好的前景。
网络计算和Globus从开始幕后走到前台,受到前所未有的关注。
中国非常重视发展网络技术,由863计划“高性能计算机及其核心软件”重大专项支持建设的中国国家网络项目在高性能计算机、网络软件、网络环境和应用等方面取得了创新性成果。
具有18万亿次聚合计算能力、支持网络研究和网络应用的网络试验床——中国国家网络,已于2005年12月21日正式开通运行。
这意味着通过网络技术,中国已能有效整合全国范围内大型计算机的计算资源,形成一个强大的计算平台,帮助科研单位和科技工作者等实现计算资源共享、数据共享和协同合作。
网络的关键技术网络的关键技术有网络结点、宽带网络系统、资源管理和任务调度工具、应用层的可视化工具。
网络结点是网络计算资源的提供者,包括高端服务器、集群系统、MPP系统大型存储设备、数据库等。
宽带网络系统是在网络计算环境中,提供高性能通信的必要手段。
资源管理和任务调度工具用来解决资源的描述、组织和管理等关键问题。
任务调度工具根据当前系统的负载情况,对系统内的任务进行动态调度,提高系统的运行效率。
网络计算主要是科学计算,它往往伴随着海量数据。
如果把计算结果转换成直观的图形信息,就能帮助研究人员摆脱理解数据的困难。
这需要开发能在网络计算中传输和读取,并提供友好用户界面的可视化工具。
网络技术的研究现状网络计算通常着眼于大型应用项目,按照Globus技术,大型应用项目应由许多组织协同完成,它们形成一个“虚拟组织”,各组织拥有的计算资源在虚拟组织里共享,协同完成项目。
对于共享而言,有价值的不是设备本身而是实体的接口或界面。
从技术角度看,共享是资源或实体间的互操作。
Globus技术设定,网络环境下的互操作意味着需要开发一套通用协议,用于描述消息的格式和消息交换的规则。
在协议之上则需要开发一系列服务,这与建立在TCP/IP(传输控制协议/网际协议)上的万维网服务原理相同。
在服务中先定义应用编程接口,基于这些接口再构建软件开发工具。
Globus网络计算协议建立在网际协议之上,以网际协议中的通信、路由、名字解析等功能为基础。
Globus协议分为构造层、连接层、资源层、汇集层和应用层五层。
每层都有各自的服务、应用编程接口和软件开发工具、上层协议调用下层协议的服务。
网络内的全局应用都需通过协议提供的服务调用操作系统。
构造层功能是向上提供网络中可供共享的资源,是物理或逻辑实体。
常用的共享资源包括处理能力、存储系统、目录、网络资源、分布式文件系统、分布式计算机池、计算机集群等。
连接层是网络中网络事务处理通信与授权控制的核心协议。
构造层提交的各资源间的数据交换都在这一层控制下实现的。
各资源间的授权验证、安全控制也在此实现。
资源层的作用是对单个资源实施控制,与可用资源进行安全握手、对资源做初始化、监测资源运行状况、统计与付费有关的资源使用数据。
汇集层的作用是将资源层提交的受控资源汇集在一起,供虚拟组织的应用程序共享、调用。
为了对来自应用的共享进行管理和控制,汇集层提供目录服务、资源分配、日程安排、资源代理、资源监测诊断、网络启动、负荷控制、账户管理等多种功能。
应用层是网络上用户的应用程序,它先通过各层的应用编程接口调用相应的服务,再通过服务调用网络上的资源来完成任务。
应用程序的开发涉及大量库函数。
为便于网络应用程序的开发,需要构建支持网络计算的库函数。
目前,Globus体系结构已为一些大型网络所采用。
研究人员已经在天气预报、高能物理实验、航空器研究等领域开发了一些基于Globus网络计算的应用程序。
虽然这些应用仍属试验性质,但它证明了网络计算可以完成不少超级计算机难以胜任的大型应用任务。
可以预见,网络技术将很快掀起下一波互联网浪潮。
面对即将到来的第三代互联网应用,很多发达国家都投入了大量研究资金,希望能抓住机遇,掌握未来的命运。
中国也加强了网络方面的投入。
中科院计算所为自己的网络起名为“织女星网络”(Vega Grid),目标是具有大规模数据处理、高性能计算、资源共享和提高资源利用率的能力。
与国内外其他网络研究项目相比,织女星网络的最大特点是“服务网络”。
中国许多行业,如能源、交通、气象、水利、农林、教育、环保等对高性能计算网络即信息网络的需求非常巨大。
预计在最近两三年内,就能看到更多的网络技术应用实例。
网络技术的应用领域网络技术的应用领域很广,主要有以下几方面。
分布式超级计算 分布式超级计算将分布在不同地点的超级计算机用高速网络连接起来,并用网络中间件软件“粘合”起来,形成比单台超级计算机强大得多的计算平台。
分布式仪器系统 分布式仪器系统使用网络管理分布在各地的贵重仪器系统,提供远程访问仪器设备的手段,提高仪器的利用率,方便用户的使用。
数据密集型计算 并行计算技术往往是由一些计算密集型应用推动的,特别是一些带有巨大挑战性质的应用,大大促进了对高性能并行体系结构、编程环境、大规模可视化等领域的研究。
数据密集型计算的应用比计算密集型的应用多得多,它对应的数据网络更侧重于数据的存储、传输和处理,计算网络则更侧重于计算能力的提高。
在这个领域独占鳌头的项目是欧洲核子中心开展的数据网络(DataGrid)项目,其目标是处理2005年建成的大型强子对撞机源源不断产生的PB/s量级实验数据。
远程沉浸 这是一种特殊的网络化虚拟现实环境。
它是对现实或历史的逼真反映,对高性能计算结果或数据库可视化。
“沉浸”是指人可以完全融入其中:各地的参与者通过网络聚集在同一个虚拟空间里,既可以随意漫游,又可以相互沟通,还可以与虚拟环境交互,使之发生改变。
目前,已经开发出几十个远程沉浸应用,包括虚拟历史博物馆、协同学习环境等。
远程沉浸可以广泛应用于交互式科学可视化、教育、训练、艺术、娱乐、工业设计、信息可视化等许多领域。
信息集成 网络最初是以集成异构计算平台的身份出现,接着进入分布式海量数据处理领域。
信息网络通过统一的信息交换架构和大量的中间件,向用户提供“信息随手可得”式的服务。
网络信息集成将更多应用在商业上,分布在世界各地的应用程序和各种信息通过网络能进行无缝融合和沟通,从而形成崭新的商业机会。
信息集成如信息网络、服务网络、知识网络等,是近几年网络流行起来的应用方向。
2002年,Globus联盟和IBM在全球网络论坛上发布了开放性网络服务架构及其详细规范,把Globus标准与支持商用的万维网服务标准结合起来。
2004年,Globus联盟、IBM和惠普(HP)等又联合发布了新的网络标准草案,把开放性网络服务架构详细规范I转换成6个用于扩展万维网服务的规范,网络服务已与万维网服务彻底融为一体,标志着网络商用化时代的来临。
网络技术的发展,标准是关键。
就像TCP/IP协议是因特网的核心一样,构建网络计算也需要对核心——标准协议和服务进行定义。
目前,一些标准化团体正在积极行动。
迄今为止,网络计算虽还没有正式的标准,但在核心技术上,相关机构与企业已达成一致,由美国阿贡国家实验室与南加州大学信息科学学院合作开发的Globus 计算工具软件已成为网络计算实际的标准,已有12家著名计算机和软件厂商宣布将采用Globus 计算工具软件。
作为一种开放架构和开放标准基础设施,Globus 计算工具软件提供了构建网络应用所需的很多基本服务,如安全、资源发现、资源管理、数据访问等。
目前所有重大的网络项目都是基于Globus 计算工具软件提供的协议与服务的。
除了标准以外,安全和可管理性、人才的缺乏也是网络计算亟待解决的一个问题,否则它将无法成为企业的商业架构。
在真正实现商业应用之前,还需要解决许多问题。
即便如此,构建全球网络的前景仍是无法抗拒的。
91手机助手为什么老打不开
朋友,这是你下载的“软件”和电脑的“内存”有冲突,(答案原创,引用请说明作者:力王历史)我给你8种方法调试:1.用360安全卫士里的“清理插件”,扫描“恶性插件”,再“立即清理”!2.电脑里有木马或病毒干扰,用“360安全卫士”+“360杀毒双引擎版”,使用“木马云查杀”+“360杀毒”,“全盘扫描”和“自定义扫描”,查杀恶性软件! 查杀结束,删除病毒和木马,重启电脑,开机点开“隔离|恢复”,彻底删除木马和恶意软件!3.如果上边方法不行,下载个“360系统急救箱”!先“全盘查杀”,查杀完毕,删除“可疑自启动项”和木马,再重启电脑!然后点开“隔离|恢复”区,找到“可疑自启动项”和木马,点“彻底删除”!再点开“修复”,“全选”,再点“修复”!4.你下载的播放器,或聊天软件,或IE浏览器,或驱动,或输入法,等等的程序不稳定!(建议卸掉,下载新的,或者将其升级至:“最新版本”)注意:测试版的软件,可以不升级。5.或者就是你安装了两款或两款以上的同类软件(如:两款播放器,多款聊天软件,或多款浏览器,多款杀毒软件,多款网络游戏等等)!它们在一起不兼容,卸掉多余的一款!尽量保持软件:“单一性”!(如:播放器:1款,下载:1款,输入法1款,浏览器1款,音乐1款,网游1款,聊天1款等等)6.卸载方法:你在电脑左下角“开始”菜单里找到“强力卸载电脑上的软件”,找到多余的那款卸掉! 卸完了再“强力清扫”!或者“360安全卫士”,“软件管家”,点开,第4项:“软件卸载”,点开,找到“多余”和“类似”的软件卸载!如:“播放器”,点开,留下“暴风”,卸载“快播”!如:“下载”:点开,留下“迅雷”,卸载“快车”!(看准了再卸,别把有用的卸了)7.再不行,下载“金山急救箱”,扩展扫描,急救系统!或者“金山网盾”,一键修复!8.实在不行,就“一键还原”系统或“重装系统”!
以亲身经历解读敏捷软件开发(一)什么是敏捷软件开发
敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。
在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。
换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
价值观敏捷建模(Agile Modeling,AM)的价值观包括了XP(Extreme Programming:极限编程)的四个价值观:沟通、简单、反馈、勇气,此外,还扩展了第五个价值观:谦逊。
互联网是个神奇的大网,软件框架也是一种模式,如果你真的想做,可以来这里,这个手技的开始数字是一八七中间的是三儿零最后的是一四二五零,按照顺序组合起来就可以找到,我想说的是,除非你想做或者了解这方面的内容,如果只是凑热闹的话,就不要来了。
敏捷开发是针对传统的瀑布开发模式的弊端而产生的一种新的开发模式,目标是提高开发效率和响应能力。
除了原则和实践,模式也是很重要的,多研究模式及其应用可以使你更深层次的理解敏捷开发。
沟通建模不但能够促进你团队内部的开发人员之间沟通、还能够促进你的团队和你的project stakeholder之间的沟通。
简单画一两张图表来代替几十甚至几百行的代码,通过这种方法,建模成为简化软件和软件(开发)过程的关键。
这一点对开发人员而言非常重要-它简单,容易发现出新的想法,随着你(对软件)的理解的加深,也能够很容易的改进636f7079e79fa5e。
反馈Kent Beck在Extreme Programming Explained中有句话讲得非常好:“过度自信是编程的职业病,反馈则是其处方。
”通过图表来交流你的想法,你可以快速获得反馈,并能够按照建议行事。
谦逊最优秀的开发人员都拥有谦逊的美德,他们总能认识到自己并不是无所不知的。
事实上,无论是开发人员还是客户,甚至所有的 project stakeholder,都有他们自己的专业领域,都能够为项目做出贡献。
一个有效的做法是假设参与项目的每一个人都有相同的价值,都应该被尊重。
原则敏捷建模(AM)定义了一系列的核心原则和辅助原则,它们为软件开发项目中的建模实践奠定了基石。
其中一些原则是从XP中借鉴而来,在Extreme Programming Explained中有它们的详细描述。
而XP中的一些原则又是源于众所周知的软件工程学。
复用的思想随处可见!基本上,本文中对这些原则的阐述主要侧重于它们是如何影响着建模工作;这样,对于这些借鉴于XP的原则,我们可以从另一个角度来看待。
核心原则◆主张简单当从事开发工作时,你应当主张最简单的解决方案就是最好的解决方案。
不要过分构建敏捷开发(overbuild)你的软件。
用AM的说法就是,如果你现在并不需要这项额外功能,那就不要在模型中增加它。
要有这样的勇气:你现在不必要对这个系统进行过分的建模(over-model),只要基于现有的需求进行建模,日后需求有变更时,再来重构这个系统。
尽可能的保持模型的简单。
◆拥抱变化需求时刻在变,人们对于需求的理解也时刻在变。
项目进行中,Project stakeholder可能变化,会有新人加入,也会有旧人离开。
Project stakeholder的观点也可能变化,你努力的目标和成功标准也有可能发生变化。
这就意味着随着项目的进行,项目环境也在不停的变化,因此你的开发方法必须要能够反映这种现实。
◆你的第二个目标是可持续性即便你的团队已经把一个能够运转的系统交付给用户,你的项目也还可能是失败的--实现项目投资者的需求,其中就包括你的系统应该要有足够的鲁棒性(robust ),能够适应日后的扩展。
就像Alistair Cockburn常说的,当你在进行软件开发的竞赛时,你的第二个目标就是准备下一场比赛。
可持续性可能指的是系统的下一个主要发布版,或是你正在构建的系统的运转和支持。
要做到这一点,你不仅仅要构建高质量的软件,还要创建足够的文档和支持材料,保证下一场比赛能有效的进行。
你要考虑很多的因素,包括你现有的团队是不是还能够参加下一场的比赛,下一场比赛的环境,下一场比赛对你的组织的重要程度。
简单的说,你在开发的时候,你要能想象到未来。
◆递增的变化和建模相关的一个重要概念是你不用在一开始就准备好一切。
实际上,你就算想这么做也不太可能。
而且,你不用在模型中包容所有的细节,你只要足够的细节就够了。
没有必要试图在一开始就建立一个囊括一切的模型,你只要开发一个小的模型,或是概要模型,打下一个基础,然后慢慢的改进模型,或是在不在需要的时候丢弃这个模型。
这就是递增的思想。
◆令投资最大化你的项目投资者为了开发出满足自己需要的软件,需要投入时间、金钱、设备等各种资源。
投资者应该可以选取最好的方式投资,也可以要求你的团队不浪费资源。
并且,他们还有最后的发言权,决定要投入多少的资源。
如果是这些资源是你自己的,你希望你的资源被误用吗。
◆有目的的建模对于自己的产出,例如模型、源代码、文档,很多开发人员不是担心它们是否够详细,就是担心它们是否太过详细,或担心它们是否足够正确。
你不应该毫无意义的建模,应该先问问,为什么要建立这个产出,为谁建立它。
和建模有关,也许你应该更多的了解软件的某个方面,也许为了保证项目的顺利进行,你需要和高级经理交流你的方法,也许你需要创建描述系统的文档,使其他人能够操作、维护、改进系统。
如果你连为什么建模,为谁建模都不清楚,你又何必继续烦恼下去呢?首先,你要确定建模的目的以及模型的受众,在此基础上,再保证模型足够正确和足够详细。
一旦一个模型实现了目标,你就可以结束工作,把精力转移到其它的工作上去,例如编写代码以检验模型的运作。
该项原则也可适用于改变现有模型:如果你要做一些改变,也许是一个熟知的模式,你应该有做出变化的正确理由(可能是为了支持一项新的需求,或是为了重构以保证简洁)。
关于该项原则的一个重要暗示是你应该要了解你的受众,即便受众是你自己也一样。
例如,如果你是为维护人员建立模型,他们到底需要些什么?是厚达500页的详细文档才够呢,还是10页的工作总览就够了?你不清楚?去和他们谈谈,找出你想要的。
◆多种模型开发软件需要使用多种模型,因为每种模型只能描述软件的单个方面,“要开发现今的商业应敏捷开发用,我们该需要什么样的模型?”考虑到现今的软件的复杂性,你的建模工具箱应该要包容大量有用的技术(关于产出的清单,可以参阅AM的建模工件)。
有一点很重要,你没有必要为一个系统开发所有的模型,而应该针对系统的具体情况,挑选一部分的模型。
不同的系统使用不同部分的模型。
比如,和家里的修理工作一样,每种工作不是要求你用遍工具箱里的每一个工具,而是一次使用某一件工具。
又比如,你可能会比较喜欢某些工具,同样,你可会偏爱某一种模型。
有多少的建模工件可供使用呢,如果你想要了解这方面的更多细节,我在Be Realistic About the UML中列出了UML的相关部分,如果你希望做进一步的了解,可以参阅白皮书The Object Primer — An Introduction to Techniques for Agile Modeling。
成功随机应变要达到敏捷的成功—交付支撑业务的最佳软件—软件专家也可以引用这些规则。
自主权专注于工作,交付正确的软件,而不是被他人的愤怒情绪所影响。
分享经验构建完美软件开发流程,并没有统一的模式。
但是在这个领域,敏捷技术,加上持续的应用和改进,都能够达到敏捷的成功。

