ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

HTTP协议详解:从基础到HTTPS安全通信

HTTP协议详解:从基础到HTTPS安全通信 我们日常生活中熟悉的应用程序就是建立在应用层之上的。应用层协议( application- layer protocol)定义了运行在不同端系统上的应用程序进程如何相互传递报文。特别是应用层协议定义了:●交换的报文类型例如请求报文和响应报文。●各种报文类型的语法如报文中的各个字段及这些字段是如何描述的。●字段的语义即这些字段中包含的信息的含义。●一个进程何时以及如何发送报文对报文进行响应的规则。有些应用层协议是由RFC文档定义的因此它们位于公共域中。例如Web 的应用层协议HTTP (超文本传输协议[ RFC 2616])就作为一个RFC可供使用。如果浏览器开发者遵从HTTP RFC规则所开发出的浏览器就能访向任何遵从该文档标准的Web服务器并获取相应Web页面。还有很多别的应用层协议是专用的有意不为公共域使用。例如Skype使用了专用的应用层协议。区分网络应用和应用层协议是很重要的。应用层协议只是网络应用的一部分。比如Web是一种客户—服务器应用它允许客户按照需求从Web服务器获得文档。该Web应用有很多组成部分包括文档格式的标准(即HTML)、Web 浏览器( 如Firefox和Microsoft Internet Explorer) 、Web服务器(如Apache、Microsoft 服务器程序)以及一个应用层协议。Web 的应用层协议是HTTP,它定义了在浏览器和Web服务器之间传输的报文格式和序列。因此HTTP只是Web应用的一个部分。一、HTTPHTTP全称是HyperText Transfer Protocal即超文本传输协议从1990年开始就在WWW上广泛应用是现今在WWW上应用最多的协议HTTP是应用层协议当你上网浏览网页的时候浏览器和web服务器之间就会通过HTTP协议在Internet上进行数据的发送和接收。HTTP是一个基于请求/响应模式的、无状态的协议。即我们通常所说的Request/Response。每天都有数以亿万计的JPEG图片、HTML页面、文本文件、MPEG电影、WAV音频文件、Java小程序和其他资源在因特网上游弋。HTTP可以从遍布全世界的Web服务器上将这些信息块迅速、便捷、可靠地搬移到人们桌面上的Web浏览器上去。HTTP使用的是可靠的数据传输协议因此即使数据来自地球的另一端它也能够确保数据在传输的过程中不会被损坏或产生混乱。这样用户在访问信息时就不用担心其完整性了。而对因特网应用程序开发人员来说也同样如此因为这样就无需担心HTTP通信会在传输过程中被破坏、复制或产生畸变。开发人员可以专注于应用程序特有细节的编写而不用考虑因特网中存在的一些缺陷和问题。1.HTTP方法HTTP支持几种不同的请求命令这些命令被称为HTTP方法(HTTP method). 每条HTTP请求报文都包含一个方法。这个方法会告诉服务器要执行什么动作(获取一个 Web页面、运行一个 网关程序、删除-一个文件等)。 下表列出了五种常见的HTTP方法。2.状态码每条HTTP响应报文返回时都会携带一个状态码。状态码是一个三位数字的代码告知客户端请求是否成功或者是否需要采取其他动作。下表显示了几种常见的状态码。3.报文HTTP报文是由一行一行的简单字符串组成的。HTTP 报文都是纯文本不是二进制代码所以人们可以很方便地对其进行读写。从Web客户端发往Web服务器的HTTP报文称为请求报文(requestmessage)。从服务器发往客户端的报文称为响应报文(responsemessage),此外没有其他类型的HTTP报文。HTTP请求和响应报文的格式很类似。HTTP报文包括以下三个部分。●起始行报文的第一行就是起始行在请求报文中用来说明要做些什么在响应报文中说明出现了什么情况。●首部字段起始行后面有零个或多个首部字段。每个首部字段都包含一个名字和一个值为了便于解析两者之间用冒号( 来分隔。首部以一个空行结束。●主体空行之后就是可选的报文主体了其中包含了所有类型的数据。请求主体中包括了要发送给Web服务器的数据:响应主体中装载了要返回给客户端的数据。起始行和首部都是文本形式且都是结构化的而主体则不同主体中可以包含任意的二进制数据(比如图片、视频、音轨、软件程序)。当然主体中也可以包含文本。下图显示了一个简单事务所使用的HTTP报文。下图显示了某个简单事务的一部分的HTTP报文。浏览器发送了一条HTTP请求报文。这条请求的起始行中有一个GET命令且本地资源为/tools.html。这条请求说明它使用的是1.0 版的HTTP协议。请求报文没有主体因为从服务器上GET一个简单的文档不需要请求数据。服务器会回送一条HTTP响应报文。这条响应中包含了HTTP的版本号(HTTP/1.0).一个成功状态码(200)、 一个描述性的原因短语(OK) 以及一块响应首部字段在所有这些内容之后跟着包含了所请求文档的响应主体。Content -Length首部说明了响应主体的长度Content - Type首部说明了文档的MIME类型。4.连接IP地址与端口号HTTP是个应用层协议。HTTP无需操心网络通信的具体细节:它把联网的细节都交给了通用可靠的因特网传输协议TCP/IP。因特网自身就是基于TCP/IP的TCP/IP是全世界的计算机和网络设备常用的层次化分组交换网络协议集。TCP/IP 隐藏了各种网络和硬件的特点及弱点使各种类型的计算机和网络都能够进行可靠地通信。只要建立了TCP连接客户端和服务器之间的报文交换就不会丢失、不会被破坏也不会在接收时出现错序了。用网络术语来说HTTP协议位于TCP的上层。HtTP使用TCP来传输其报文数据。与之类似TCP则位于IP的上层。在HTTP客户端向服务器发送报文之前需要用网际协议(Internet Protocol, IP)地址和端口号在客户端和服务器之间建立一条TCP/IP连接。通过DNS可以查询到目标服务器的IP地址。有了IP地址和端口号客户端就可以很方便地通过TCP/IP进行通信了。下图显示了浏览器是怎样通过HTTP显示位于远端服务器中的某个简单HTML资源的。整个过程的步骤大致如下:(a)浏览器从URL中解析出服务器的主机名:(b)浏览器将服务器的主机名转换成服务器的IP地址:©浏览器将端口号(如果有的话)从URL中解析出来;(d)浏览器建立一条与Web服务器的TCP连接;(e)浏览器向服务器发送一条HTTP请求报文:(f)服务器向浏览器回送一条HTTP响应报文:(g)关闭连接浏览器显示文档。二、HTTP协议版本HTTP协议有几个版本如下所示。●HTTP/0.9HTTP的1991原型版本称为HTTP/0.9。这个协议有很多严重的设计缺陷只应该用于与老客户端的交互。HTTP/0.9 只支持GET方法不支持多媒体内容的MIME类型、各种HTTP首部或者版本号. HTTP/0.9定义的初衷是为了获取简单的HTML对象它很快就被HTTP/1.0取代了。●HTTP/1.01.0是第一个得到广泛使用的HTTP版本。HTTP/1.0 添加了版本号、各种HTTP首部、一些额外的方法以及对多媒体对象的处理。HTTP/1.0 使得包含生动图片的Web页面和交互式表格成为可能而这些页面和表格促使万维网为人们广泛地接受。这个规范从未得到良好地说明。在这个HTTP协议的商业演进和学术研究都在快速进行的时代它集合了一系列的最佳实践。●HTTP/1.0在20世纪90年代中叶很多流行的Web客户端和服务器都在飞快地向HTTP中舔加各种特性以满足快速扩张且在商业上十分成功的万维网的需要。其中很多特性包括持久的keep-alive连接、虚拟主机支持以及代理连接支持都被加入到HTTP之中并成为非官方的事实标准。这种非正式的HTTP扩展版本通常称为HTTP/1.0。●HTTP/1.1HTTP/1.1重点关注的是校正HTTP设计中的结构性缺陷明确语义引入重要的性能优化措施井删除一些不好的特性。HTTP/1.1 还包含了对20世纪90年代末正在发展中的更复杂的Web应用程序和部署方式的支持。HTTP/1.1是当前使用的HTTP版本。三、HTTPSHTTPS是超文本传输安全协议HTTPS常称为 HTTP over TLS/SSL是一种通过计算机网络进行安全通信的传输协议。HTTPS 经由 HTTP 进行通信但利用 SSL/TLS 来加密数据包。HTTPS 开发的主要目的是提供对网站服务器的身份认证保护交换数据的隐私与完整性。如何系统学习网络安全网络安全作为数字时代的核心技术基石已成为保障各行业安全稳定运行的坚实屏障。筑牢网络安全的防线掌握先进的防护策略和技能正上升为国家与企业发展的战略优先级。构建稳固的网络安全能力是一个体系的工程需要从夯实基础理论出发持续深化到攻防对抗与应急响应的实战层面。如果你是准备学习网络安全黑客或者正在学习我可以把我自用的360独家内部资料分享给你包含以下内容你应该能用得上①网络安全学习路线②20份渗透测试电子书③安全攻防357页笔记④50份安全攻防面试指南⑤安全红队渗透工具包⑥网络安全必备书籍⑦100个漏洞实战案例⑧安全大厂内部视频资源⑨历年CTF夺旗赛题解析一、网络安全黑客学习路线网络安全黑客学习路线形成网络安全领域所有的知识点汇总它的用处就在于你可以按照上面的知识点去找对应的学习资源保证自己学得较为全面。二、网络安全教程视频我们在看视频学习的时候不能光动眼动脑不动手比较科学的学习方法是在理解之后运用它们这时候练手项目就很适合了。三、网络安全CTF实战案例光学理论是没用的要学会跟着一起敲要动手实操才能将自己的所学运用到实际当中去这里带来的是CTFSRC资料HW资料毕竟实战是检验真理的唯一标准嘛~四、网络安全面试题最后我们所有的作为都是为就业服务的所以关键的临门一脚就是咱们的面试题内容所以面试题板块是咱们不可或缺的部分这里我给大家准备的就是我在面试期间准备的资料。网安其实不难难的是坚持和相信自己我的经验是既然已经选定网安你就要相信它相信它能成为你日后进阶的高效渠道这样自己才会更有信念去学习才能在碰到困难的时候坚持下去。机会属于有准备的人这是一个实力的时代。人和人之间的差距不在于智商而在于如何利用业余时间只要你想学习什么时候开始都不晚不要担心这担心那你只需努力剩下的交给时间这份完整版的网络安全学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
返回列表