分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

一些常见的协议的解释http和HTTPS,session和cookie

发布时间:2023-09-06 02:33责任编辑:白小东关键词:http

### HTTP与HTTPS
HTTP协议传输的数据都是未加密的,HTTPS协议是由HTTP+SSL协议构建的可进行加密传输、身份认证的网络协议,要比HTTP协议安全。
**HTTPS和HTTP的区别**
- HTTPS协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
- HTTP是超文本传输协议,信息是明文传输,HTTPS则是具有安全性的SSL加密传输协议。
- HTTP和HTTPS使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
- HTTP的连接很简单,是无状态的;HTTPS协议是由HTTP+SSL协议构建的可进行加密传输、身份认证的网络协议,比HTTP协议安全。
### Cookie和Session
- **Cookie/Cookies: **是指某些网站为了*辨别用户身份*、*进行session跟踪*而*储存在用户本地*终端上的数据(通常经过加密)。
- **Session:**服务端为客户端访问所建立和维持的会话,通常会生成一个唯一的id,会话有一定的有效期。
由于HTTP是无状态的,即服务器不知道用户上一次做了什么,默认也无法识别用户身份。
比较流行的做法是:
- 用户访问时服务端建立会话(Session)
- 将会话id(Session ID)随响应返回,并保存在客户端的Cookies里
- 后续的访问中,服务器通过辨识,客户端请求时携带的Cookies内容来识别用户
![用户首次访问服务器向客户端设置Cookie](https://upload-images.jianshu.io/upload_images/7575721-ecc0f69142c1f0c2.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![后续访问时携带Cookie](https://upload-images.jianshu.io/upload_images/7575721-80561012c8f03f2c.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

**Cookie和Session的区别**
- cookie是存在客户端(浏览器)的进程内存中和客户端所在的机器硬盘上
- cookie只能能够存储少量文本,大概4K大小
- cookie是不能在不同浏览器之间共享
- Session存在服务器端,存在网站进程的内存中
- Session在初次设置session的时候,会在session池中实例化一个session对象,以sessionid 的值作为key,同时会将key以cookie的形式保存到客户端的内存中
- Session的作用域只存在当前浏览器的会话中,当浏览器关闭以后就会将sessionid丢失,但是服务器的Session对象要20分钟以后才会回收
### 授权与加密
常见的接口安全策略:
1. ?Session/Cookie机制: 即需要登录,登录后可访问各个接口,最常用的一种策略,适用于内部接口。
2. ?固定appid模式: 用户注册时会生成一个唯一的appid,用户调用接口时需要携带appid,适用于公开接口,安全性较差。
3. ?动态token模式: token即身份令牌,用户访问接口需要使用个人appid临时申请一个token,token有一定有效期,适用于公开接口,安全性较appid模式好。
4. 开放协议: Basic Auth/ Oauth1.0 / Oauth2.0: 适用于开放接口。
5. 数字签名: 将所有请求参数及参数值进行排列拼接,加上用户私钥,再进行Md5或其他加密生成一个请求的签名(sign),请求是需要携带签名,服务器收到请求后,

会对请求重新计算签名并核实与请求所携带签名是否一致。安全性较高,可以有效防止请求被篡改。适用于内部接口及微服务接口。
**常见的加密算法**
在接口数据传输过程中常对一些敏感数据(如密码)进行Base64编码或MD5加密,以增加安全性。
加密算法分为对称式加密算法和非对称式加密算法,对称式加解密使用同一个秘钥,非对称式使用不同的秘钥。
- 对称式加密
???- DES: 数据加密标准,速度较快,适用于加密大量数据的场合
???- AES: 高级加密标准,速度快,安全级别高
- 非对称式加密
???- RSA: 是一个支持变长密钥的公共密钥算法, 分公钥和私钥,SSH协议使用该算法
???- MD5: 最常用的一种加密方法,是一种摘要算法。

### 缓存
HTTP 缓存机制作是 web 性能优化的重要手段,当用户第一次请求服务器资源时,服务器将资源缓存到客户端本地,在一定时间内(缓存有效期内)当用户再次向服务器请求同样的资源时,

可以直接从缓存中读取,而不用从服务器下载。

一些常见的协议的解释http和HTTPS,session和cookie

原文地址:https://www.cnblogs.com/python-django-spid/p/10436540.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved