一、 *关于网站开发*
1.*静态与动态*
1) 静态网站
由HTML、CSS、javascript等静态代码组成的网站就是静态网站。其中HTML用来创建页面结构和存储网页内容;CSS常和DIV一起组合,以“DIV+CSS”的形式排版内容以及渲染显示样式;而Javascript则赋予页面更多的“动态效果”。
众所周知,页面交互行为多数由javascript来承担。我们也习惯的以“动态”这样的字眼来称呼它。但javascript并非决定“动态网站”的关键,关于动态更为重要的是“数据的交互”而非“行为的交互”。
n 关于这二者的区别,以一个简单的例子来说明
在javascript中,可以通过DOM节点的操作来删除一个用户信息,使其不在页面显示。但是,这并没有真正改变网站的****状态****。一个简单的道理 页面重载后 依然会呈现出该条记录。因为 我们仅仅是改变了客户端浏览器的显示,而并没有涉及真正存储在服务端的内容。一个不太好听的说法,这好似“掩耳盗铃”。
关于静态网站,它还有一个重要的特点:用户请求服务上已经存在的页面,无需进行业务逻辑的处理。当然,随着前端的发展,前后分离的思想逐步推进,业务层也正在向前端迁移。
2) 动态网站
由动态代码组成的网站即是动态网站,例如Java、PHP、Python等。如上所述,动态网站的操作中用户可以通过请求文件中嵌入的动态脚本实现数据的交互。这些动态语言有以下显著的特点:
① 可以处理网站业务,包含大量逻辑
② 可以连接数据库,访问其中的数据
③ 可以进行文件的增删改查操作
等等…这些都是静态网站所不具备的能力。在动态网站中,网页通过程序动态生成的 换句话说动态语言经过处理后返回静态的代码给客户端。
2.*PHP*
现在由javascript衍生出的NodeJS也具备服务端开发的能力,但为了更好的说明动态网站的组成结构,我们以更有典型和独立性的服务端脚本语言PHP来介绍服务器。
3) 语言简介
PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。
4) 发展历程
PHP/FI(form Interpreter)是 1995 年由 Rasmus Lerdorf 创建。脚本名寓意为“Personal Home Page”,用于显示Rasmus Lerdorf的个人履历以及统计网页流量。
PHP2可以连接数据库,可以处理表单数据。
PHP3与Apache服务器的结合更紧密,支持几乎所有主流数据库。
PHP4引擎得到优化,提高执行速度,并开始支持面向对象。
PHP5引擎持续更新,全面支持面向对象,逐步走向成熟,是较经典的一个版本。
PHP6预想版本,据说因为提前泄密而中止继续开发。
当前最新版本为7.1,执行效率大幅提升 语言的规范性和产品生态圈趋于稳定。
5) 功能特点
运行于web服务器端的开发语言,用来实现用户的请求。
① 开源软件,所有操作系统均能稳定运行。
② 入门简单,实现面向过程,面向对象。
③ 支持的主流数据库,MySQL,oracle等
二、 *关于服务器*
*服务器*
无论Web还是安装软件,都是由客户端和服务器两部分组成。服务器是安装了服务软件的计算机,一般称server。它包含两种形式:一般服务器(如QQ,迅雷)和web服务器(如Apache,Nginx,IIS)。
完整的服务器是一整套的环境支持,一个生态。它由操作系统、服务器软件、语言或脚本引擎以及数据库组成。例如在以PHP作为脚本引擎,部署在不同的操作系统以及使用不同的服务端软件对应的环境有:
WAMP: Windows + Apache + MySQL + PHP
LAMP: Linux + Apache + MySQL + PHP
LNMP: Linux + Nginx + MySQL + PHP
*软件架构*
① C/S架构:client/server
访问不同的服务器,需要各自安装不同的客户端软件。而且客户端完全不相同,QQ、迅雷、百度云等
② B/S架构:特殊的C/S模式
把所有的客户端都统一成浏览器。提供一个入口即可,未来软件的大趋势。
3.*IP地址*
形如“192.168.0.1”这样一串地址,它相当于每一个连入互联网的设备的身份证号。IP地址分为四段,每段数字的取值范围是0-255,共4个字节,32个比特位。
IP地址由两个部分组成:网络地址和主机地址。网络地址表示其属于互联网的哪一个网络,主机地址表示其属于该网络中的哪一台主机。
可以使用ping命令(通信协议)来查看一台服务器地址,例如百度web服务器的IP地址: