分享好友 最新动态首页 最新动态分类 切换频道
http和https协议
2024-12-26 19:50
 

简介:

http和https协议

HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写。

HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统

HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。

 

它的发展是万维网协会(World Wide Web Consortium)和Internet工作小组IETF(Internet Engineering Task Force)合作的结果,

(他们)最终发布了一系列的RFC,RFC 1945定义了HTTP/1.0版本。其中最著名的就是RFC 2616。

RFC 2616定义了今天普遍使用的一个版本——HTTP 1.1。

 

HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。

它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,

以及哪部分内容首先显示(如文本先于图形)等

HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型HTTP是一个无状态的协议

 

http请求由三部分组成,分别是:请求行、消息报头、请求正文

 

 

在TCP/IP协议栈中的位置:

HTTP协议通常承载于TCP协议之上,有时也承载于TLS或SSL协议层之上,这个时候,就成了我们常说的HTTPS。

默认HTTP的端口号为80,HTTPS的端口号为443。

 

HTTP协议永远都是客户端发起请求,服务器回送响应。

 

这样就限制了使用HTTP协议,无法实现在客户端没有发起请求的时候,服务器将消息推送给客户端。

HTTP协议是一个无状态的协议,同一个客户端的这次请求和上次请求是没有对应关系

 

HTTP协议的主要特点可概括如下:
1.支持客户/服务器模式
2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
3.灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
4.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
5.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

 

 

 

一次HTTP操作称为一个事务,其工作过程可分为四步:

1.首先客户机与服务器需要建立连接。只要单击某个超级链接,HTTP的工作开始。

2.建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。

3.服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。

4.客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务器断开连接。

如果在以上过程中的某一步出现错误,那么产生错误的信息将返回到客户端,有显示屏输出。对于用户来说,这些过程是由HTTP自己完成的,用户只要用鼠标点击,等待信息显示就可以了。

 

 

 

请求行是由 请求方式、请求资源、请求协议组成;

 

1.1.1请求方式

 

    请求方式主要有GET和POST两种; 

除了表单提交,其他都是GET请求;

 

一共有八种请求方式:

 

 

 请求方式 作用   get  用于请求某个资源,理论上不修改服务器的状态  post  表单提交  head  只返回get请求后相应的头,而不用吧相应体(HTML)返回  trace  显示服务器端接收的信息,用于调试  put  将包含的信息放在URL中  delete  指明要删除某个URL对应的资源  options  列出HTTP方法列表  connect  建立隧道

 

 

 


幂等:一次请求和多次请求的结果是一样的;

在请求方式中,满足幂等的有:HEAD、GET、PUT;其余的都不是幂等;

 


 

1.1.2请求资源

 

    请求资源是要请求返回的web资源;

 

1.1.3请求协议

 

    请求协议现在一般使用HTTP/1.1,以前使用HTTP/1.0

注意:HTTP/1.1和HTTP/1.0的区别

HTTP是基于TCP/IP之上的,HTTP/1.0是指连接web服务器后只允许一次HTTP请求;HTTP/1.1是指连接web服务器后允许多次HTTP请求;

 

 

请求头是由很多Map组成;

Host 客户机向服务器发送请求的主机名 Accept 客户机支持的数据类型 Accept-Language

客户机支持的语言

Tips:在访问www.google.com 时服务器会解析出客户机支持的语言,然后发回此语言的网页;

Accept-Charset 客户机支持的编码 Accept-Encoding 客户机的压缩格式 Referer

客户机访问此资源的来源;比如从1.html中的超链接请求2.html,则请求2.html时会发送Referer: 1.html

用途:防盗链

  避免从未知网站链接此网站,盗用资源

User-Agent 客户机的软件环境 Connection 客户机发送此连接后的连接状态时继续连接还是断开 Date 客户机发送的时间

 

注意:请求头和实际内容中间需要加上空行;

 

 

 

 

 

2.2.1 状态码

 

 

100-199 服务器成功接收客户请求,不过需要让客户机继续发送请求完成整个请求过程 200-299 200 成功处理 300-399 302 : 找别人,在响应头中需要有location属性;    304、307:找缓存,即缓存中存在页面 400-499 403:存在页面,但是用户没有权限访问;    404:无此页面 500-599 500 : 服务器内部错误

 

 

 

Server 服务器信息 Content-Length 响应内容的长度 Content-Encoding 服务器内容的压缩格式 Content-Type 服务器内容的格式,比如text/html ; image/jpeg location

用于状态码为302,表示别人的地址

Content-disposition 下载返回的数据 Transfer-Encoding 以块传输还是以字节传输 Date 时间 refresh 定时刷新或重定向 Last-Modified 最后改变的时间 Expires -1或0 表示无缓存 ETag 每个web资源都有一个标示符,只要web资源内容改动,标示符就会改变;



这个没什么好说的,就是用户在浏览器里输入一个https网址,然后连接到server的443端口。

2、服务端的配置

采用HTTPS协议的服务器必须要有一套数字证书,可以自己制作,也可以向组织申请,区别就是自己颁发的证书需要客户端验证通过,才可以继续访问,而使用受信任的公司申请的证书则不会弹出提示页面(startssl就是个不错的选择,有1年的免费服务)。

这套证书其实就是一对公钥和私钥,如果对公钥和私钥不太理解,可以想象成一把钥匙和一个锁头,只是全世界只有你一个人有这把钥匙,你可以把锁头给别人,别人可以用这个锁把重要的东西锁起来,然后发给你,因为只有你一个人有这把钥匙,所以只有你才能看到被这把锁锁起来的东西。

3、传送证书

这个证书其实就是公钥,只是包含了很多信息,如证书的颁发机构,过期时间等等。

4、客户端解析证书

这部分工作是有客户端的TLS来完成的,首先会验证公钥是否有效,比如颁发机构,过期时间等等,如果发现异常,则会弹出一个警告框,提示证书存在问题。

如果证书没有问题,那么就生成一个随机值,然后用证书对该随机值进行加密,就好像上面说的,把随机值用锁头锁起来,这样除非有钥匙,不然看不到被锁住的内容。

5、传送加密信息

这部分传送的是用证书加密后的随机值,目的就是让服务端得到这个随机值,以后客户端和服务端的通信就可以通过这个随机值来进行加密解密了。

6、服务段解密信息

服务端用私钥解密后,得到了客户端传过来的随机值(私钥),然后把内容通过该值进行对称加密,所谓对称加密就是,将信息和私钥通过某种混合在一起,这样除非知道私钥,不然无法获取内容,而正好客户端和服务端都知道这个私钥,所以只要加密算法够彪悍,私钥够复杂,数据就够安全。

7、传输加密后的信息

这部分信息是服务段用私钥加密后的信息,可以在客户端被还原。

8、客户端解密信息

客户端用之前生成的私钥解密服务段传过来的信息,于是获取了解密后的内容,整个过程第三方即使监听到了数据,也束手无策。

   HTTPS的优点

正是由于HTTPS非常的安全,攻击者无法从中找到下手的地方,从站长的角度来说,HTTPS的优点有以下2点:

1、SEO方面

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

2、安全性

尽管HTTPS并非绝对安全,掌握根证书的机构、掌握加密算法的组织同样可以进行中间人形式的攻击,但HTTPS仍是现行下最安全的解决方案,主要有以下几个好处:

(1)、使用HTTPS协议可认证用户和服务器,确保数据发送到正确的客户机和服务器;

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

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

HTTPS的缺点

虽然说HTTPS有很大的优势,但其相对来说,还是有些不足之处的,具体来说,有以下2点:

1、SEO方面

据ACM CoNEXT数据显示,使用HTTPS协议会使页面的加载时间延长近50%,增加10%到20%的耗电,此外,HTTPS协议还会影响缓存,增加数据开销和功耗,甚至已有安全措施也会受到影响也会因此而受到影响。

而且HTTPS协议的加密范围也比较有限,在黑客攻击、拒绝服务攻击、服务器劫持等方面几乎起不到什么作用。

最关键的,SSL证书的信用链体系并不安全,特别是在某些国家可以控制CA根证书的情况下,中间人攻击一样可行。

2、经济方面

(1)、SSL证书需要钱,功能越强大的证书费用越高,个人网站、小网站没有必要一般不会用。

(2)、SSL证书通常需要绑定IP,不能在同一IP上绑定多个域名,IPv4资源不可能支撑这个消耗(SSL有扩展可以部分解决这个问题,但是比较麻烦,而且要求浏览器、支持,Windows XP就不支持这个扩展,考虑到XP的装机量,这个特性几乎没用)。

(3)、HTTPS连接缓存不如HTTP高效,大流量网站如非必要也不会采用,流量成本太高。

(4)、HTTPS连接服务器端资源占用高很多,支持访客稍多的网站需要投入更大的成本,如果全部采用HTTPS,基于大部分计算资源闲置的假设的VPS的平均成本会上去。

(5)、HTTPS协议握手阶段比较费时,对网站的相应速度有负面影响,如非必要,没有理由牺牲用户体验。

1、SSL的作用

(1)、认证用户和服务器,确保数据发送到正确的客户机和服务器;

(2)、加密数据以防止数据中途被窃取;

(3)、维护数据的完整性,确保数据在传输过程中不被改变。

而SSL证书指的是在SSL通信中验证通信双方身份的数字文件,一般分为服务器证书和客户端证书,我们通常说的SSL证书主要指服务器证书,SSL证书由受信任的数字证书颁发机构CA(如VeriSign,GlobalSign,WoSign等),在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能,分为扩展验证型(EV)SSL证书、组织验证型(OV)SSL证书、和域名验证型(DV)SSL证书。

2、SSL证书申请的3个主要步骤

对于SSL证书的申请,主要有以下3个步骤:

(1)、制作CSR文件

所谓CSR就是由申请人制作的Certificate Secure Request证书请求文件,制作过程中,系统会产生2个密钥,一个是公钥就是这个CSR文件;另外一个是私钥,存放在服务器上。

要制作CSR文件,申请人可以参考WEB SERVER的文档,一般APACHE等,使用OPENSSL命令行来生成KEY+CSR2个文件,Tomcat,JBoss,Resin等使用KEYTOOL来生成JKS和CSR文件,IIS通过向导建立一个挂起的请求和一个CSR文件。

(2)、CA认证

将CSR提交给CA,CA一般有2种认证方式:

①、域名认证:一般通过对管理员邮箱认证的方式,这种方式认证速度快,但是签发的证书中没有企业的名称。

②、企业文档认证:需要提供企业的营业执照,一般需要3-5个工作日。

也有需要同时认证以上2种方式的证书,叫EV证书,这种证书可以使IE7以上的浏览器地址栏变成绿色,所以认证也最严格。

(3)、证书的安装

在收到CA的证书后,可以将证书部署上服务器,一般APACHE文件直接将KEY+CER复制到文件上,然后修改HTTPD.CONF文件;TOMCAT等,需要将CA签发的证书CER文件导入JKS文件后,复制上服务器,然后修改SERVER.XML;IIS需要处理挂起的请求,将CER文件导入。

HTTP与HTTPS有什么区别?

HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。

 

简单来说,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。

HTTPS和HTTP的区别主要如下:

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

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

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

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

 

最新文章
爱思助手 3.6.6
uses-permission:'com.hihonor.push.permission.READ_PUSH_NOTIFICATION_INFO'uses-permission:'android.permission.POST_NOTIFICATIONS'uses-permission:'android.permission.INTERNET',允许程序访问网络连接,可能产生GPRS流量uses-permi
网店推广练习题.pdfVIP
网店推广练习题一、单选题(共40题,每题1分,共40分)1、在SEM推广中,以下说法正确的是?()A、广告投放一周后即使曝光量、点击率表现都很好,广告创意也必须更新一次B、新建广告计划时应该设定较低的出价,避免上线后消费太多C、广告的质量
飞扬PDF转换工具
是新出的一款免费的器软件,支持PDF与Word、PPT、Excel、图片等格式之间互转,只需点击几下即可转换、合并、分割、压缩、旋转、添加水印和保护 PDF,兼容win11/win10/等操作系统。并且在这个办公软件基本上以功能付费的年代,宣称“永久免
超逼真美女写真生成有妙招,试试这款AI工具!
在这个数字化的时代,AI技术不断改变和提升我们的生活体验。你是否曾想过,只需轻轻点击几下,就可以产生一张超逼真的美女写真?如今,借助AI绘画工具,这一想法已经成为现实。今天,我就带大家走进这个神奇的世界,看看如何利用AI生成出令
谷歌2024年度热搜揭晓:川普夺冠,奥运性别争议选手卡利夫名列第4
谷歌最近公布了2024年度的热搜榜单,其中全球人物排名前十的名单涵盖了政治领袖、运动员以及娱乐界明星。美国政治领域尤为引人注目,榜单中包括了即将卸任的总统拜登和新当选的总统川普两个重要人物。此外,因癌症而公开发声的英国凯特王妃
肺炎最新韩国情况分析,韩国肺炎最新情况分析报告
韩国最新肺炎情况分析显示,近期韩国疫情呈现上升趋势,新增病例数量增加,但仍保持稳定可控的态势。政府采取了一系列措施,包括加强疫苗接种和扩大检测范围,以遏制疫情扩散。韩国医疗系统应对疫情的能力依然强大,但仍需保持警惕,公众也
颂春茶是什么茶种,「颂春茶」是什么茶种?带你熟悉它的特点与功效
云峰茶是一种中国茶叶,也是湖南的叶特产之一。云峰颂春茶是云峰茶的薏苡一种,它是经过特殊工艺精制而成的芡实,在市场上备受欢迎。四春茶则是另一种常见的腾云茶叶品种。1. 云峰颂春茶的等等功效云峰颂春茶具有多种功效,包含:抗氧化作
遗书、公开漫画
感谢您对我方的信任,我们将按照法律法规要求,采取严格的安全保护措施,保护您的个人隐私信息。在此,我们郑重的提醒您:1.在您使用我方提供的服务时,建议您详细阅读本用户隐私政策,详细了解我方收集,存储,使用,披露和保护您的个人信
黄仁勋:下一波AI的浪潮是物理AI
快手视频生成大模型“可灵”开放邀测,效果对标 Sora 在OpenAl文生视频大模型Sora发布后,国内企业争相入局,快手视频生成大模型可灵大模型官网目前已正式上线。相较此前各家放出的视频大模型以展示视频为主,本次
SEO优化:如何去挖掘网站的长尾关键词
今天,我们来谈谈SEO优化的知识点:如何挖掘网站的长尾关键词。如果你优化了网站关键词,发现流行关键词很难排名,我们可以做一些长尾关键词。虽然流量不多,但积累也不错,那么什么是“长尾关键词”呢?长尾关键词的特点是相对较长,通常
相关文章
推荐文章
实际案例说明AI时代大语言模型三种微调技术的区别——Prompt-Tuning、Instruction-Tuning和Chain-of-Thought
【讲座】2022年“研究生科研素养提升”系列公益讲座在线测评
【Z3 Play(全网通)360清理大师下载】Moto Z3 Play 全网通360清理大师8.4.2免费下载
上海港报关代理(进口报关公司/代理海关申报)
1680个海内外项目角逐国际创业大赛特等奖获百万奖金等奖励
如何通过博客和论坛等站外渠道推广独立站的SEO?提升网站流量与排名的
打造SEO优化个人博客HTML模板,轻松提升网站排名!
小红书AI写作助手:免费使用,全面解决内容创作与优化需求
SEO优化时,可以先从泛用关键词(Generic keywords)开始吗?
Ai换字生成:智能字体创作工具,一键生成独特艺术字体
发表评论
0评