Http
- 应用层
- 网络层
- 传输层
- 链路层
Http属于超文本传输协议,客户端给服务器发送请求,服务器响应。是一个基于请求与响应模式简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。http请求由三部分组成,分别是:请求行、消息报头、请求正文域名解析 --> 发起TCP的3次握手 --> 建立TCP连接后发起http请求 --> 服务器响应http请求,浏览器得到html代码 --> 浏览器解析html代码,并请求html代码中的资源(如js、css、图片等) --> 浏览器对页面进行渲染呈现给用户
Https
- 服务器必须要有一套数字证书,传输过程中随机加密,可解密
- 简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL
- https协议需要到ca申请证书,一般免费证书很少,需要交费。
- http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。
- http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
- http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全,https属于对称加密。
- 对称加密:加密解密用的是同样的“钥匙”
- 非对称加密:加密解密用的是不同的“钥匙”
请求方式
- GET用于向服务器请求数据,POST用于提交数据
- GET请求,请求参数拼接形式暴露在地址栏,而POST请求参数则放在请求体里面,因此GET请求不适合用于验证密码等操作
- GET请求的URL有长度限制,POST请求不会有长度限制