HTTP和HTTPS协议笔记

1.什么是协议

网络协议时计算机之间为了实现网络通信而达成的一种"约定"或者"规则",有了这种"约定",不同厂商生产设备,以及不同操作系统组成的计算机之间,就可以通信

2.HTTP协议是什么?

HTTP协议是超文本传输协议,英文是Hyper Text Transfer Protocol,他是从web服务器传输超文本标记语言(HTML)到本地浏览器的传送协议

设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法.
HTTP有多个版本,目前广泛使用HTTP/1.1版本

3.HTTP原理

HTTP是一个基于TCP/IP通信协议来传递数据的协议,传输的文件类型为HTML文件,图片文件,查询结果等.

HTTP协议一般用B/S架构.浏览器作为HTTP客户端通过URL向服务端即web服务器发送所有请求

访问百度为例 http://www.baidu.com
在这里插入图片描述
HTTP特点

1.http协议支持客户端/服务端模式(B/S),也是一种请求/响应的协议
2.简单快速:客户端服务器请求服务时,只需传送请求方法和路径,请求方法常用的有GET,POST
3.灵活:HTTP允许传输任意类型的数据对象,传输的类型由content-type加以标记
4.无连接:限制每次连接只处理一个请求.服务器处理完请求,收到客户端的应答后,即端口连接,但却不利于客户端与服务器保持会话连接,为弥补这种不足,产生两种记录http状态的技术,cookie和session

5.URI和URL的区别

HTTP使用统一资源标识符(URI)来传输数据和建立连接
URI 统一资源标识符
URL 统一资源定位符

URI是用来表示一个具体的资源的,我们可以通过URI知道一个资源是什么
URL是用来定位具体的资源,表示一个具体的资源位置,互联网上的每一个文件都有一个唯一的URL

6.HTTP报文组成

1.请求行: 包括请求方法,URL,协议/版本
2.请求头(Request Header)
3.请求正文
在这里插入图片描述
响应报头组成
1.状态行
2.响应头
3.响应正文
在这里插入图片描述

7.常见请求方法

GET:请求指定的页面信息并返回实体主体
POST:向指定资源提交数据进行处理(提交表单或者上传文件)
HEAD:类似get请求,只不过返回响应中没有具体的内容,用于获取报头
PUT:从客户端向服务器传送的数据取代指定的文档内容
DELETE:请求服务器删除指定的页面

8.get和post的区别

1.都包含请求头请求行,post多了请求body
2.get多用来查询,请求参数放在url中,不会对服务器的内容产生作用,post用来提交,如把账号密码放在body中
3.get是直接添加到url后面的,直接就可以在url中看到内容,而post是放在报文内,用户无法直接看到
4.get提交的数据长度是有限制的,因为url长度有限制,具体的长度视限制浏览器而定,post没有

9.响应状态码

访问一个网页是,浏览器会向web服务去发出请求,此网页所在的服务器会返回一个包含HTTP状态码的信息头用以响应浏览器的请求.

状态码分类:
1XX- 信息类 服务器收到请求,需要请求者继续操作
2XX-成功型 请求成功收到,理解并处理
3XX- 重定向 需要进一步操作以完成请求
4XX-客户端错误 请求包含语法错误或无法完成请求
5XX 服务器错误 服务器在处理请求的过程中发送错误

10.常见状态码

200 - ok 客户端请求成功
301 资源被永久转移到其他URL
302 临时跳转
400 Bad Request 客户端请求有语法错误,不能被父亲所理解
401 请求未经授权必须和WWW-Authenticate报头一起使用
404 请求资源不存在 可能是输入错误的URL
500 服务器内部发生了不预期的错误
503 server Unavailable 服务器当前不能处理客户端饿请求,一段时间受可能恢复正常

11.为什么使用HTTPS

http中存在的问题
1.请求信息明文传输,容易被窃听截取
2.数据的完整性未校验,容易被篡改
3.没有验证对方身份,存在冒充微信
HTTP不适用传输一些敏感信息,比如各种账号,密码等信息,使用http协议传输隐私信息非常不安全

12.什么是HTTPS

为解决HTTP存在的问题,就用HTTPS
HTTPS协议:一般理解为HTTP+SSL/TLS,通过SSL证书来验证服务器的身份,并为浏览器和服务器之间的通信进行加密.

13.SSL又是什么

SSL(安全套接字字层) ,SSL协议位于TCP/IP协议与各种应用层之间,为数据通信提供安全支持
TLS(传输层安全) 前身是SSL,目前使用最广泛的是TLS1.1,TLS1.2

14.浏览器在使用HTTPS传输的流程

1.首先客户端通过URL访问服务器建立SSL连接
2.服务器收到客户端请求后,会将网站支持的证书信息(证书中包含公钥)传送一份给客户端.
3.客户端的服务器开始写协商SSL连接的安全等级,也就是信息加密的等级
4.客户端的浏览器根据双方同意的安全等级,简历会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站
5.服务器利用自己的私钥解密出会话密钥
6.服务器利用会话密钥加密与客户端之间的通信

15.HTTPS的缺点

1.HTTPS协议多次握手,导致页面的加载时间延长近50%
2.HTTPS连接缓存不如HTTP高效,会增加数据开销和功耗
3.申请SSL证书需要钱,功能越强大的证书费用越高
4.SSL涉及到安全算法会消耗CPU资源,对服务器消耗较大

总结HTTPS和HTTP的区别

HTTPS是HTTP协议的安全版本,HTTP协议的数据传输
是明文的,不安全的,HTTPS使用了SSL/TSL协议进行加密处理
http和https使用连接方式不同,默认端口也不一样,http是80,https是443

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值