软件定义: 程序、文档、数据的一个集合
常见的软件形式
- APP
- WEB(静态网站和动态网站)
软件的组成
- 前端/客户端:提供了一个可视化的操作页面,提供了对数据的展示效果
- 后端/服务端:对用户发送的消息进行处理,并且返回对应的结果。后端运行在服务器中,服务器就是一台电脑主机。
服务器是电脑的一种服务器是计算机的一种,它比普通计算机运行更快、负载更高、价格更贵。服务器在网络中为其它客户机(如PC机、智能手机、ATM等终端甚至是火车系统等大型设备)提供计算或者应用服务。服务器具有高速的CPU运算能力、长时间的可靠运行、强大的I/O外部数据吞吐能力以及更好的扩展性。根据服务器所提供的服务,一般来说服务器都具备承担响应服务请求、承担服务、保障服务的能力。
- 后端的程序需要什么环境,是取决于开发使用的什么编程语言。
- 服务器软件提供网络访问的端口。使用什么服务器软件也是取决于编程语言的特性。
- 数据库
- 后端程序
软件的结构的类型
- C/S
定义:client(客户机)/server(服务器)
服务器负责数据的管理,客户机负责完成与用户的交互任务。
特点:需要单独的下载安装;需要更新才能使用最新版本;使用起来比较稳定,比网站好用;对于网络依赖不是特别强,即使没有网络,也能使用部分功能;需要对应的运行环境的支持 - B/S
定义:browser(浏览器)/server(服务器)
是C/S架构的一种改进,可以说属于三层C/S架构。主要是利用了不断成熟的WWW浏览器技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。
特点:不需要下载安装,打开就能用;每次打开就是最新版本;必须依赖网络打开;易用性不如APP;只需要浏览器,不需要其他的东西的支持
如小程序和快应用就属于B/S
网络知识
- IP
IP地址在网络层将不同的物理网络地址统一到了全球唯一的IP地址上(屏蔽物理网络差异),是唯一标识互联网上计算机的逻辑地址(相当于手机号码,可以通过唯一的手机号码找到手机),所以IP地址也被称为互联网地址.
- 公网IP只能连上公网才能用,如百度IP
- 局域网IP只能在局域网里面用.所有的局域网IP都是192.168开头.
命令指示符输入ipconfig - 本机IP只能在自己的电脑上用.
- 自己的本机IP为127.0.0.1或localhost,想查找自己的公网ip可以通过百度ip获取到,局域网ip可以通过ipconfig
- 域名
通过DNS解析服务转换成对应的服务器的IP
我们访问网站,输入的网址就是域名,ip地址相当于我们的现实生活中地址,例如发送请求时需要通过ip地址才能找到服务器的位置。就像我们访问www.qq.com,就相当于输入ip地址,只不过ip地址不好记忆,所以才有域名,运营商中有一个DNS服务器,记录着域名所对应的ip地址,只要我们输入域名就能够访问与之对应的ip地址。
- 端口
端口是计算机自带的功能.一个计算机一般有65535个端口.每个端口可以对应不同的内容.
服务器中不只有一个服务软件,当客户端想访问自己想要的项目,输入ip地址只能够访问到该服务器,但是具体哪个服务还需要再输入端口号来查找。 - HTTPS
内容加密:采用混合加密技术,中间者无法直接查看明文内容
验证身份:通过证书认证客户端访问的是自己的服务器
保护数据完整性:防止传输的内容被中间人冒充或者篡改 - HTTP
无状态:协议对客户端没有状态存储,对事物处理没有“记忆”能力,比如访问一个网站需要反复进行登录操作
无连接:HTTP/1.1之前,由于无状态特点,每次请求需要通过TCP三次握手四次挥手,和服务器重新建立连接。比如某个客户机在短时间多次请求同一个资源,服务器并不能区别是否已经响应过用户的请求,所以每次需要重新响应请求,需要耗费不必要的时间和流量。
基于请求和响应:基本的特性,由客户端发起请求,服务端响应
简单快速、灵活
通信使用明文、请求和响应不会对通信方进行确认、无法保护数据的完整性
服务器软件
tomcat(常用)(是java代码做的软件,所以电脑上就必须要有java的运行环境)
是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选
nginx(常用)是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务
iis
apache
gunicorn