1、什么是软件
用来执行特定功能的计算机指令集合
2、软件的分类
按照软件的功能来分:
|-- 系统软件
window Android Linux Unix MacOS …
|-- 应用软件
QQ、微信、浏览器、记事本、录屏工具、网络连接
...
|-- 网络软件
QQ、微信、陌陌、探探、看看
今日头条、抖音、快手、火山、西瓜视频
|-- B/S(browser/server)浏览器服务器架构
百度 qq.com sina.com.cn ...
|-- 缺点:友好度低,风格统一、样式单调,用户体验的不高
|-- 优点:开发成本低
|-- java web
b/s结构的软件开发
|-- C/S(client/server)客户端服务器端架构
QQ、微信、支付宝
|-- 优点:友好度高、用户体验度好
|-- 开发成本高、版本更新需要重新下载
|-- 单机软件
单机游戏、EditPlus、eclipse。。。
|-- 中间件软件
负载均衡软件(F7)
3、什么是web软件
基于web协议而开发的软件,web软件,一般而言,web都是基于b/s架构
4、什么是协议,什么是web协议?
协议:协议是约定、规范
web:网络 www(wide world web)万维网
HTTP协议:
HTTPS协议:
5、HTTP网络协议
TCP/IP协议簇
http、https、ftp、ssh、telnet、DHCP、rp、arp …
http: HyperText Transfer Protocal
传输HTML标签的协议
GET / http/1.1
http缺陷:数据是在明文传输 端口 80
https:加密的http协议 端口是443
Hypertext Transfer Protocol Secure
非对称加密算法实现
|-- 可逆加密
|-- 对称加密
加密和解密使用同一个秘钥
ADS
|-- 非对称加密
加密和解密使用不同秘钥(一对秘钥)
|-- 不可逆加密(散列加密|hash(哈希)加密)
MD5
MD5
sha256
特点:
单向的 明文 --> 暗文
唯一性