HTTP和HTTPS

1、什么是HTTP?

1、超文本传输协议(Hyper Text Transfer Protocol)是从WEB服务器传输超文本标记语言(HTML)到本地浏览器的传送协议。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。HTPP有多个版本,目前广泛使用的是HTTP/1.1版本。
2、HTTP是一个基于TCP/IP通信协议来传递数据的协议,传输的数据类型为HTML 文件,、图片文件, 查询结果等。
3、HTTP协议一般用于B/S架构。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。

2、HTTP的特点

1、http协议支持客户端/服务端模式,也是一种请求/响应模式的协议。
2、简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。
3、灵活:HTTP允许传输任意类型的数据对象。传输的类型由Content-Type加以标记。
4、无连接:限制每次连接只处理一个请求。服务器处理完请求,并收到客户的应答后,即断开连接,但是却不利于客户端与服务器保持会话连接,为了弥补这种不足,产生了两项记录http状态的技术,一个叫做Cookie,一个叫做Session。
5、无状态:无状态是指协议对于事务处理没有记忆,后续处理需要前面的信息,则必须重传。

3、HTTP发展历史

HTTP发展史

HTTP2的最大改变是多路复用,这对一最初单一请求响应的模式是极大的改变,从而对HTTP的性能得到了极大的提升。

4、HTTP报文格式

Request

HTTP Request

Response

HTTP Response

\r代表回车,\n代表换行,也就是 CRLF。

5、什么是HTTPS

HTTPS(Hypertext Transfer Protocol Secure:超文本传输安全协议)是一种透过计算机网络进行安全通信的传输协议。HTTPS 经由 HTTP 进行通信,但利用 SSL/TLS 来加密数据包。HTTPS 开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。

HTTPS 默认工作在 TCP 协议443端口,它的工作流程一般如以下方式:

1、TCP 三次同步握手
2、客户端验证服务器数字证书
3、DH 算法协商对称加密算法的密钥、hash 算法的密钥
4、SSL 安全加密隧道协商完成
5、网页以加密的方式传输,用协商的对称加密算法和密钥加密,保证数据机密性;用协商的hash算法进行数据完整性保护,保证数据不被篡改。

SSL加密过程如下:

HTTPS加密过程

6、两者对比

1、HTTP基于明文传输,数据未加密,HTTPS数据传输过程是加密的,安全性好
2、使用HTTPS需要到CA申请证书,一般免费证书较少,因此需要一定费用。
3、HTTP比HTTPS快,是因为他没有SSL加密过程,完全基于TCP的三次握手就可以建立连接。前者三个包后者十二个包,多了九个包。
4、HTTP的默认端口是80,HTTPS是443
5、HTTPS更加耗费资源,因为它通过SSL进行包装

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容