目录
1、什么是HTTP?
HTTP
(HyperText Transfer Protocol),即超文本运输协议,是实现网络通信的一种规范。
在实际应用中,
HTTP
常被用于在客户端(Web
浏览器)和服务端(网站服务器)之间传递信息,以明文方式发送内容,不提供任何方式的数据加密。
客户端和服务端进行网络通信时,客户端需要发送请求报文,服务端收到请求以后就会送响应报文,HTTP规定了请求报文和响应报文的格式。
请求报文:
请求行:请求<方法> + 请求<URL>(资源路径)+ HTTP的<版本>;
<请求首部>
首部结束
响应报文:
响应行:HTTP的<版本> + HTTP<状态码> + <原因短语>
<响应首部>
首部结束
主体:<响应报文>
最常见的响应首部是【Content-type】 表示内容类型。
HTTP支持传输任何类型的内容。有了Content-type首部,浏览器就能更清楚如何处理这些不同类型的数据。
2、HTTP的特点
① 支持客户/服务器模式
② 简单快速
客户向服务器请求服务时,只需传送请求方法和路径。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快
③ 灵活
HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记
④ 无连接
无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间
⑤ 无状态
服务器不会记录状态,因为每次请求都记录的话,服务器会崩溃。
所以,HTTP协议是无状态的,HTTP协议无法根据之前的状态进行本次的请求处理
但现在很多网站都是有用户登录的,为了保持这个状态,就有了Cookie这项技术,这项技术需要在首部字段加上cookie信息,这样就能实现保持登录的状态啦。
3、HTTPS
因为HTTP
传递信息是以明文的形式发送内容,这并不安全。
而 HTTPS
出现正是为了解决HTTP
不安全的特性 。
为了保证这些隐私数据能加密传输,让
HTTP
运行安全的SSL/TLS
协议上,即 HTTPS = HTTP + SSL/TLS通过
SSL
证书来验证服务器的身份,并为浏览器和服务器之间的通信进行加密。
SSL是TLS的前身, 都是加密安全协议。现在绝大部分浏览器都不支持SSL,而支持TLS。
4、HTTP和HTTPS的区别
① 安全性不同
HTTP协议的数据传输是明文的,是不安全的;
HTTPS使用了SSL/TLS协议进行了加密处理,相对更安全;
② 默认端口不同
HTTP和HTTPS使用的是完全不同的连接方式,用的端口也不一样。
HTTP是80,HTTPS是443
在网络模型中,HTTP工作于应用层,而HTTPS工作在传输层
③ 响应速度和资源消耗不同
HTTPS 由于需要设计加密以及多次握手,所以响应速度比HTTP慢,
且比HTTP更耗费服务器资源。
④ 网站申请流程不同
HTTPS需要SSL证书,SSL证书是保存在源服务器上的数据文件,含IP地址、日期、公钥和私钥;SSL 证书需要钱,需要向CA机构申请,申请功能越强大的证书费用越高
⑤ 对搜索排名的提升不同
百度和谷歌两大搜索引擎都已经明确表示,HTTPS网站将会作为搜索排名的一个重要权重指标。也就是说HTTPS网站比起HTTP网站在搜索排名中更有优势