一、HTTP概述
说明:无状态协议,即:服务器不需要知道客户端是谁,只认请求(一次请求request,一次相应response),例如,客户端请求淘宝网,会在浏览器上得到一个响应(即网页),此时,不管服务器挂了还是怎么了,客户端都可以浏览网页内容,除非你再次请求才会报错;之所以,大家认为每一次登录,好像客户端都能找到自己账号的相关信息(如:已下的订单),其实是cookie和session的作用,和http协议本身无关了
浏览器发送给服务器的内容就这个格式的,如果不是这个格式服务器将无法解读。在HTTP协议中,请求的方式有很多的,其中最常用的即GET和POST。
补充:发送一个请求后,浏览器-检查-network下查看请求头、响应头信息
二、GET 请求
请求头、响应头信息,就是一堆键值对(关键字:值)
请求体:发送请求时,发送的数据内容;例如:登录网站时,就需要有请求体(用户名、密码……);访问百度一下,就没有;
这里提一下,
例如,你在京东登录页面,输入用户名、密码,点击登录按钮,如果是POST方式,就直接访问了;但,如果是GET请求方式,它会给你将用户名、密码显示在URL上(例如:https://passport.jd.com/new/login?username=zhangsan&pwd=123456);
这里就告诉我们一个知识点,url后面用?加参数,参数与参数之间用&符合隔开,可以正常访问,只是不安全;
App就默认是get请求;
三、POST请求
响应头的介绍:
四、http协议与https协议对比
4.1 定义与基本特性
-
HTTP协议:
- 定义:HTTP(HyperText Transfer Protocol,超文本传输协议)是一种用于传输超文本(如HTML)的应用层协议。
- 基本特性:无连接(不需要建立持久的连接,减少网络开销)、无状态(对事务的处理没有记忆能力,每次请求都需要提供完整的请求信息)、面向对象(可以传输任何类型的数据对象)、无阻塞(不会限制客户端的请求数量和大小,服务器可以处理大量的请求)、可缓存(允许客户端缓存服务器响应的内容,以提高响应速度和减少网络流量)。
-
HTTPS协议:
- 定义:HTTPS(HyperText Transfer Protocol Secure,安全超文本传输协议)是在HTTP的基础上,通过添加SSL/TLS(Secure Sockets Layer/Transport Layer Security,安全套接层/传输层安全协议)层来实现数据加密和身份验证的网络协议。
- 基本特性:具备HTTP协议的所有特性,并增加了数据加密和身份验证功能,从而提高了通信的安全性。
4.2 安全性比较
-
HTTP协议:
- 数据传输:采用明文传输,数据在传输过程中容易被第三方截取和查看。
- 安全性:由于缺乏加密和验证机制,安全性较差,容易受到中间人攻击等安全威胁。
-
HTTPS协议:
- 数据传输:通过SSL/TLS加密,建立了一条安全的数据传输通道,有效防止数据在传输过程中被截获和篡改。
- 安全性:提供了身份验证与加密通讯功能,能够验证服务器和客户端的身份,防止中间人攻击和数据篡改。
4.3 连接方式与端口
-
HTTP协议:
- 连接方式:无状态的连接,每次请求都是独立的。
- 端口:默认使用80端口。
-
HTTPS协议:
- 连接方式:在HTTP的基础上,通过SSL/TLS进行加密传输和身份验证。
- 端口:默认使用443端口。
4.4 证书申请与管理
-
HTTP协议:
- 证书申请:无需申请证书。
-
HTTPS协议:
- 证书申请:需要到CA(Certification Authority,认证机构)申请证书,证书的价格根据类型、验证程度和认证机构的不同而不同。
- 证书管理:证书管理工作也是网站运维工作的一部分,包括证书的更新、续期等。不妥善管理可能会导致网站出现证书过期等问题。
4.5 性能消耗与SEO影响
-
性能消耗:
- HTTP协议:由于无需加密和解密,性能消耗相对较低。
- HTTPS协议:由于加密和解密过程中需要进行额外的计算,性能消耗相对较高。尤其是在进行SSL握手时,服务器和客户端都需要更多的CPU和内存资源。
-
SEO影响:
- HTTP协议:在搜索引擎优化方面,使用HTTP协议可能会受到一定的负面影响,因为搜索引擎越来越倾向于将HTTPS网站排名较高。
- HTTPS协议:使用HTTPS协议可以带来一些额外的好处,如提高网站的可信度和用户体验,从而在搜索引擎中获得更高的排名。
综上所述,HTTP协议与HTTPS协议在安全性、连接方式与端口、证书申请与管理以及性能消耗与SEO影响等方面存在显著差异。鉴于数据安全和隐私保护的重要性以及搜索引擎优化的趋势,迁移到HTTPS已经成为互联网网站建设的普遍做法。