Appearance
1、http 和 https基本概念
http:是一个客户端和服务器端请求和应答的标准(TCP),用于从 WWW 服务器传输超文本到本地浏览器的超文本传输协议。
https:是以安全为目标的 HTTP 通道,即 HTTP 下 加入 SSL 层进行加密。其作用是:建立一个信息安全通道,来确保数据的传输,确保网站的真实性。
2、http 和 https 的区别
端口 https 的端口是 443,而 http 的端口是 80,当然两者的连接方式也是不太一样的。
传输数据 http 超文本传输协议,传输是明文的,而 https 是用 ssl 进行加密的。https 具有安全性。
申请证书 https 传输一般是需要申请 ca 证书,申请证书可能会需要一定的费用,功能越强大的证书费用越高。
性能 http 的连接很简单,是无状态的。 https 握手阶段比较费时,会使页面加载时间延长 50%,增加 10%~20% 的耗电。
缓存 https 缓存不如 http 高效,会增加数据开销。
3、http 的主要特点
简单快捷: 当客户端向服务器端发送请求时,只是简单的填写请求路径即可,然后就可以通过浏览器或其他方式将该请求发送就行了。 比较常用的请求方法有三种,分别是:GET、HEAD、POST。不同的请求方法使得客户端和服务器端联系的方式各不相同。 因为HTTP 协议比较简单,所以HTTP服务器的程序规模相对比较小,从而使得通信的速度非常快。
灵活 : Http 协议允许客户端和服务器端传输任意类型任意格式的数据对象。这些不同的类型由 Content-Type 标记。
无连接: 每次建立的连接只处理一个客户端请求,当服务器处理完客户端的请求之后,服务器端立即断开连接。
无状态: 无状态是指协议对于请求的处理没有记忆功能。
User-Agent 请求报头域 允许客户端将它的操作系统、浏览器和其它属性告诉服务器。不过,这个报头域不是必需的,如果我们自己编写一个浏览器,不使用User-Agent请求报头域,那么服务器端就无法得知我们的信息了。
4、HTTP 协议
http 协议是一个应用层协议,其报文分为请求报文和响应报文。
请求报文: 请求行 请求头 空行 请求数据
响应报文: 状态行 响应头 空行 响应数据/正文
当客户端请求一个网页时,会先通过 http 协议将请求的内容封装在 http 请求报文之中,服务器收到该请求报文后根据协议规范进行报文解析,然后向客户端返回响应报文。
本章节来自 LeetBook - 力扣(LeetCode)