BS架构和CS架构
B:Browser:浏览器
S:Server:服务器
C:Client:客户端
- BS
浏览器和服务器的关系,通过浏览器来访问服务器,比如:百度、新浪...
优点:只要有浏览器就能访问服务器,方便
缺点:大部分的逻辑都在服务器上
- CS
客户端和服务器的关系,通过客户端软件来访问服务器,比如:QQ、微信
优点:部分逻辑在客户端运行,减轻了服务器的负担
缺点:要安装客户端软件,麻烦
静态网站与动态网站
- 静态网站
没有数据交互的网站,不支持数据传输(页面的后缀为.html)
- 动态网站
支持数据交互的网站(页面的后缀为.php与.jsp)
客户端与服务端
客户端向服务器发送请求,必须从一个端口出去,从那个端口出去由客户端操作系统决定
服务器上的请求端口必须是确定的
Web服务器的端口号默认为80端口
MySQL服务器的端口号默认为3306端口
FTP的端口号默认为21端口
前台和后台
- 前台
浏览者看到的页面(显示数据)
- 后台
管理员看的页面(操作数据)
PHP的优点
跨平台:可以在window上运行,也可以在Linux上运行
开源:源码开放(没有版权)
语法简单,上手快
运行在服务器端(客户端只需要浏览器就可以访问网站)
非常快速的开发网站
PHP是解释性语言还是编译型语言?
一门语言到底是解释型还是编译型取决于是否保存了可执行代码
- 解释性语言
读取源码--词法分析--语法分析--编译成机器语言--执行
- 编译型语言
将可执行的代码放在文件中(可见)
读取源码--词法分析--语法分析--编译成机器语言--保存可执行的代码--执行
第一次执行,解释型语言速度快,第二次执行编译型语言速度快(第二次编译型语言直接执行保存的代码)
- PHP语言
PHP将opcode缓存在内存中(不可见)
读取源码--词法分析--语法分析--编译生成opcode缓存--由zend engine执行