web1.0时代:所有的代码都是在浏览器端执行的静态脚本,用户请求的也都是服务器上事先已经存在的静态网页,用户和服务器之间不能进行任何的交互!(不需要数据库的支持)

web2.0时代:用户和服务器之间实现交互(对话),PHP脚本需要和数据库进行交互,能够处理用户的相关的复杂的业务逻辑,以后的网页将越来越“软件化”

web3.0时代:物联网、云计算和大数据的时代

PHP的发展史

PHP的原始含义:Personal Home Page  个人主页

最开始是加拿大的一哥们,开发了一个在线脚本工具,用来记录有多少人访问过他的在线简历,很受欢迎,于是他就开始开发自己的工具集!

PHP现在的含义:Hypetext Perprocessor 超文本预处理语言

说明了PHP是预先在服务器上执行的语言(工作在服务器端),然后再把执行的结果发送给浏览器

PHP的功能与特点

  • PHP主要是用来做web开发,但是PHP也可能开发桌面软件(应用软件),但是不常用
  • PHP是开源自由软件,能够在所有的操作平台上稳定的运行
  • PHP入门比较简单,语法类似于C语言(PHP本身就是C语言写的),同时支持面向过程和面向对象编程
  • PHP相对来说还很“年轻”,目前还在不断的完善和发展之中,比较有“生命力”
  • PHP工作在相应的平台解释器上面,相对来说消耗的系统资源很少
  • PHP支持多种主流的数据库,比如Mssql、Mysql、SQL Server、oracle等,只不过和Mysql是“黄金搭档”

web服务的发展历程

对等网模式

没有专门的客户端,也没有专门的服务器!

优点:简单快捷

缺点:不能提供可靠的服务

C/S模式

Client/Server,也就是客户端/服务器端模式,人为的分开了客户端(专门“享受”服务)和服务器(专门“提供”服务)!

主/从 服务器,其中从服务器也叫作镜像服务器!

特点:客户端和服务器端各自安装不同的软件,不同的服务有不同的客户端软件

优点:提供可靠的web服务

B/S模式

Browser/Server,也就是浏览器/服务器模式,由C/S模式发展而来,也可以说B/S模式其实就是一种特殊的C/S模式,相当于把C/S模式中所有的客户端都变成了浏览器而已!

比如:页游(网页游戏)

web开发的核心是B/S模式!

我们今天的主要任务就是搭建一个web服务器环境,但是浏览器端(B)不需要我们搭建,我们只需要搭建服务器软件就行了!

两个问题:

集成环境是什么?

集成环境,就是把搭建一个web服务器所需要的所有的组件(apache、mysql、php等)人为的组合到一起!常见的集成环境有:wamp(windows、apache、mysql、php)、Lamp、xamp、PHPStudy等等

为什么我们不建议采用集成环境?

  • 我们不知道apache、mysql、php等为什么要组合到一起以及如何组合到一起(对于专业人员很重要)
  • 在真实的开发中,不一定非要使用apache(比如还有IIS),也不一定非要使用mysql,所以,我们必须了解其中的原理!
  • 集成环境都属于第三方软件,不一定安全!

PHP的发展史,功能与特点的更多相关文章

  1. 【PHP发展史】PHP5.2 到 PHP5.6 中新增的功能详解

    截至目前(2014.2), PHP 的最新稳定版本是 PHP5.5, 但有差不多一半的用户仍在使用已经不在维护的 PHP5.2, 其余的一半用户在使用 PHP5.3. 因为 PHP 那“集百家之长”的 ...

  2. Python学习笔记—Python基础1 介绍、发展史、安装、基本语法

    第一周学习笔记: 一.Python介绍      1.Python的创始人为吉多·范罗苏姆.1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言 ...

  3. CSS3_概述、发展史、模块介绍、与浏览器之间的关系

    一.CSS3概述和CSS3的发展史: 1.css3概述: CSS3是CSS2的升级版本,3只是版本号,它在CSS2.1的基础上增加了很多强大的新功能.    目前主流浏览器chrome.safari. ...

  4. IOS中调用系统的电话、短信、邮件、浏览功能

    iOS开发系列--通讯录.蓝牙.内购.GameCenter.iCloud.Passbook系统服务开发汇总 2015-01-13 09:16 by KenshinCui, 26990 阅读, 35 评 ...

  5. 一. JVM发展史,运行时数据区域,四大引用

    一.JVM的出现 JVM将字节码解释成不同os下的机器指令,有了jvm,java语言在不同平台上运行时不需要重新编译 虚拟机发展史 (1)Sun Classic classic jvm要么采用纯解释器 ...

  6. 安卓发展史以及安卓和苹果对比PPT

    此PPT由我们小组协力完成,介绍了Android的发展史以及android与苹果的一些比较.概述了android发展至今的一系列版本,功能的日益完善,它的强大性,灵活性,公开性使其拥有吸引客服的绝大魅 ...

  7. 苹果iOS手机系统诊断功能是后门吗?

    7月20日,美国知名苹果iOS手机系统侦破专家扎德尔斯基在2014年世界黑客大会(HOPE/X)用幻灯片讲演揭露了苹果手机存在系统级"后门". 为此,7月23日.苹果公司马上做出回 ...

  8. jQuery的发展史

    jQuery的发展史,你知道吗? 每天多学一点知识,就少写一行代码2006年1月,jQuery的第一个版本面世,至今已经有6年多了(注:这个时间点是截止至出书时间).虽然过了这么久,但它依然以其简洁. ...

  9. Day2 - Linux发展史

    第1章 Linux发展史 1.1 什么是操作系统 操作系统是人与计算机硬件的一个中介. 1.2 操作系统组成 操作系统类似与鸡蛋 蛋壳--------->系统中各种各样的软件 蛋清------- ...

随机推荐

  1. python3.6 配置COCO API出错解决方案

    使用Anaconda Prompt进行安装 问题出现的背景:在尝试使用mask-rcnn时,遇到了这个问题,最终解决掉了

  2. 用python Image读图

    https://www.cnblogs.com/kongzhagen/p/6295925.html import os name = [] with open('/media/hdc/xing/Dee ...

  3. python_90_hashlib模块

    #用于加密相关的操作,3.x里代替了2.x中的md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法 import hashlib ...

  4. React组件间通信

    众所周知,ReactJS组件与组件之间的通信是一个难点.在React实际开发中,父子组件之间的传值是比较常见的,刚入门的小伙伴很容易被组件之间的通信绕懵. 今天花了点时间总结了一下React父子组件之 ...

  5. python之函数名的应用

    1. 函数名是一个特殊的变量 例题 例题1: a = 1 b = 2 c = a + b print(c) # 输出结果 3 # 总结 # 变量是否可以进行相加或者拼接操作是又后面指向的值来决定的,指 ...

  6. Python——函数的高级应用

    一.函数赋值给变量 函数也是对象,也可以赋值给变量,当把函数赋值给变量后,可以通过变量调用函数. 例: def test(x,y): return x * y # 把函数赋值给变量 a = test ...

  7. 数据结构C语言实现系列——线性表(单向链表)

    #include <stdio.h> #include <stdlib.h> #define NN 12 #define MM 20 typedef int elemType ...

  8. iOS开发-动画总结

    一.简介 IOS 动画主要是指Core Animation框架.官方使用文档地址为:Core Animation Guide.Core Animation是IOS和OS X平台上负责图形渲染与动画的基 ...

  9. iOS应用架构谈part3 网络层设计方案

    前言 网络层在一个App中也是一个不可缺少的部分,工程师们在网络层能够发挥的空间也比较大.另外,苹果对网络请求部分已经做了很好的封装,业界的AFNetworking也被广泛使用.其它的ASIHttpR ...

  10. 直接用bcdedit创建bootmgr数据库和修复启动菜单

    直接用bcdedit创建bootmgr数据库和修复启动菜单 使用下面方法之前需要bcdedit和bootsect两条命令,这两条命令可以到vista或者windows 7安装光盘上获得.bootsec ...