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执行

PHP介绍(PHP入门1)的更多相关文章

  1. .NET平台开源项目速览(6)FluentValidation验证组件介绍与入门(一)

    在文章:这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧!(第二辑)中,给大家初步介绍了一下FluentValidation验证组件.那里只是概述了一下,并没有对其使用和强大功能做深入研究 ...

  2. freemarker语法介绍及其入门教程实例

    # freemarker语法介绍及其入门教程实例 # ## FreeMarker标签使用 #####一.FreeMarker模板文件主要有4个部分组成</br>####  1.文本,直接输 ...

  3. (转)私有代码存放仓库 BitBucket介绍及入门操作

    转自:http://blog.csdn.net/lhb_0531/article/details/8602139 私有代码存放仓库 BitBucket介绍及入门操作 分类: 研发管理2013-02-2 ...

  4. NET平台开源项目速览(6)FluentValidation验证组件介绍与入门(转载)

    原文地址:http://www.cnblogs.com/asxinyu/p/dotnet_Opensource_project_FluentValidation_1.html 阅读目录 1.基本介绍 ...

  5. 读写Word的组件DocX介绍与入门

    本文为转载内容: 文章原地址:http://www.cnblogs.com/asxinyu/archive/2013/02/22/2921861.html 开源Word读写组件DocX介绍与入门 阅读 ...

  6. [转帖]Druid介绍及入门

    Druid介绍及入门 2018-09-19 19:38:36 拿着核武器的程序员 阅读数 22552更多 分类专栏: Druid   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议 ...

  7. Redis介绍及入门安装及使用

    Redis介绍及入门安装及使用 什么是Redis Redis is an open source (BSD licensed), in-memory data structure store, use ...

  8. Mysql数据库的简单介绍与入门

    Mysql数据库的简单介绍与入门 前言 一.下载与安装 1.下载 官网下载MYSQL5.7.21版本,链接地址https://www.mysql.com/downloads/.下载流程图如下: 找到M ...

  9. Nodejs学习笔记(十四)— Mongoose介绍和入门

    目录 简介 mongoose安装 连接字符串 Schema Model 常用数据库操作 插入 更新 删除 条件查询 数量查询 根据_id查询 模糊查询 分页查询 其它操作 写在之后... 简介 Mon ...

  10. 【python自动化第一篇:python介绍与入门】

    一.python介绍以及发展史  1.1 python的介绍: 简单点来说吧,python这玩意儿是一个叫做Guido van Rossum的程序猿在1989年的圣诞打发时间而决心去开发的一个脚本编程 ...

随机推荐

  1. java线程的常用方法

    java线程的常用方法 编号 方法 说明 1 public void start() 使该线程开始执行:Java 虚拟机调用该线程的 run 方法. 2 public void run() 如果该线程 ...

  2. ionic--分模块

    1. app.js var app=angular.module("myApp",["ionic","myController"," ...

  3. Angular入门教程四

    4.8依赖注入DI 通过依赖注入,ng想要推崇一种声明式的开发方式,即当我们需要使用某一模块或服务时,不需要关心此模块内部如何实现,只需声明一下就可以使用了.在多处使用只需进行多次声明,大大提高可复用 ...

  4. Android解析ClassLoader(一)Java中的ClassLoader

    Android解析ClassLoader(一)Java中的ClassLoader

  5. Week1——JavaEE

    本科目标 首先,对我来说自己想走的方向是JavaWeb后台开发,因此JavaEE对我来说也是比较重要的,想学好这门课.进一步巩固自己现有的基础知识,完善自己的项目经验,更加熟悉开发流程.在框架方面我还 ...

  6. java.lang.IllegalArgumentException: XML fragments parsed from previous mappers does not contain value for

    使用mybatis做一个简单的查询的时候,报了这个问题.代码如下: <mapper namespace="cn.gaiay.business.zm.live.living.dao.Li ...

  7. JAVA后台框架优化之微服spring boot

    1.为什么要微服? 首先我们目前后台系统业务链目前还是相对不是那么复杂,但随着项目的拆分,业务的快速推进,各项目模块的接口也随之增加,开发的复杂度不断增加,为以后扩展埋下隐患,而规划新的框架目前主要解 ...

  8. 【Python学习】Python中的数据类型精度问题

    Python真的很神奇...神奇到没有直接的数据类型概念,并且精度可以是任意精度.想当初,第一次接触OI算法时,写得第一个算法就是高精度加法,捣鼓了半天.一切在Python看来,仅仅三行代码即可完成. ...

  9. 新增检查sql脚本是否符合ANSI编码格式

    '******************************************************************* '作用:transfer转换文件编码格式 '参数含义:inco ...

  10. Python 处理脚本的命令行参数(二):使用click

    安装click pip install click 使用步骤 使用@click.command() 装饰一个函数,使之成为命令行接口 使用@click.option() 等装饰函数,为其添加命令行选项 ...