学习要点

  • 什么是web?
  • 开发动态网站所需的web构件?
  • 几种主流web应用程序平台?
  • HTTP协议与web的关系?
  • Web的工作原理?
  • LAMP网站开发组合概述?
  • 如何学习PHP?

什么是Web?

1      网页构成网站,网站即Web软件,属于B/S架构软件。

  • Web架构系统特点

图形化:文本、图片、多媒体

与平台无关

分布式:信息存储分布式

动态的:信息提供者确保信息动态即使更新

交互的:通过超链接和表单与用户进行交互

  • Web应用系统优势

基于浏览器,具有统一平台和UI体验

无需安装,只要有浏览器,随时随地可以使用

总是保持最新版本,无需升级

数据存储在云端,基本无需担心丢失

新一代web技术提供了更好的用户体验

2      web进化简史

  • web 1.0  信息广播。
  • web 2.0  信息交互。典型产品:博客,QQ空间等。
  • web 5.0  移动互联网,手机和pad移动设备访问互联网成为主流。

3       web开发标准

web1.0和web2.0时代,ie+adobe flash player,html,xhtml1.0,xhtml2.0

移动互联网时代(Apple、Mozila,Opera),HTML5标准

动态网站开发所需的Web构件

  • 动态网站开发是多种技术综合应用,每种技术功能各自独立又相互配合,所以我们需要掌握以下web构件技术:

客户端浏览器:IE,FireFox,Safari

超文本标记语言:HTML

层叠样式表:CSS

客户端脚本编程语言:JavaScript

Web服务器:Apache,Nginx,TomCat,IIS

服务器端编程语言:PHP,JSP,ASP

数据库管理系统:MySQL,Oracle,SQL Server

几种主流的web应用程序平台

性能比较

LAMP

JavaEE

ASP.NET

运行速度

较快

一般

开发速度

非常快

一般

运行损耗

一般

较小

较大

难易程度

简单

简单

运行平台

Linux/Unix/Windows

绝大多数平台

仅Windows平台

HTTP协议与web的关系

1  HTTP协议

HTTP规范1.0和1.1定义了HTTP消息格式。HTTP报文由从客户机到服务器的请求和从服务器到客户机的相应构成,所以HTTP消息分为请求消息和响应消息两类。

2      浏览器查看HTTP请求消息和响应消息

3      URL概述

Uniform  resource Locator,统一资源定位符

格式:

http://<IP地址>/[端口号]/路径/[?<查询信息>]

例如:

http://www.etcxm.com/book/index.html

http:超文本传输协议。FTP,telnet

www:代表一台web服务器

etcxm.com:服务器域名

book:站点上的目录

index.html:book文件夹中的一个HTML文件,即网页。

Web的工作原理

1   服务器不带应用程序服务器和数据库

2  带应用程序服务器的web服务器

3  带应用程序服务器以及数据库的web服务器

LAMP网站开发组合概述

1      Linux操作系统

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。

严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。

2      Apache服务器和Nginx服务器

Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:京东、新浪、网易、腾讯、淘宝等。

3      MySQL数据库管理系统

关系型数据库管理系统。

https://www.mysql.com/downloads/

企业版:MySQL Enterprise Edition (commercial)

集群版:MySQL Cluster CGE (commercial)

社区版(免费开源):MySQL Community Edition (GPL)

4      PHP服务器脚本编程语言

PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

如何学习PHP

  • 学习线路
  • 坚持动手
  • 解决问题为先原则,避免钻牛角尖
  • Bug。Bug有助于提升个人经验值,不要担心,不要烦躁。学会考虑问题出在哪个环节,学会定位问题。
  • 如何成为优秀的Web程序员:克服惯性,扎实的技术功底(计算机科学基础知识不要抛弃:数据结构、离散数学、编译原理、计算机网络等等),编码规范,不要逃避问题,扩展自己的想象力,对新技术的渴求,注重设计模式,多与高手交流,韧性和毅力,写博客,考虑接单。

PHP01 LAMP网站构建的更多相关文章

  1. LAMP网站架构分析

    转自:http://www.williamlong.info/archives/1908.html LAMP(Linux-Apache-MySQL-PHP)网站架构是目前国际流行的Web框架,该框架包 ...

  2. LAMP网站架构方案分析

    本文引自:http://www.williamlong.info/archives/1908.html LAMP(Linux-Apache-MySQL-PHP)网站架构是目前国际流行的Web框架,该框 ...

  3. 腾讯云服务器安装宝塔面板快速配置LNMP/LAMP网站系统

    我们在选择购买腾讯云服务器之后,有部分用户肯定是用来建站用途的.毕竟云服务器的性能和功能比虚拟主机优秀很多.腾讯云服务器拥有香港.北京.广州.上海.美国等多个机房,可以安装Linux和Windows系 ...

  4. 【转】LAMP网站架构方案分析【精辟】

    [转]LAMP网站架构方案分析[精辟] http://www.cnblogs.com/mo-beifeng/archive/2011/09/13/2175197.html Xubuntu下LAMP环境 ...

  5. LAMP网站架构方案解剖

    LAMP网站架构方案解剖 2011-03-18 10:46 月光 网络转载 字号:T | T 网站架构是比较考研技术的一件事,所以要对一种好用的工具,那么网站架构就会事半功倍,LAMP具有通用.跨平台 ...

  6. 建站手册-网站构建:万维网联盟(World Wide Web Consortium)

    ylbtech-建站手册-网站构建:万维网联盟(World Wide Web Consortium) 1.返回顶部 1. http://www.w3school.com.cn/site/site_w3 ...

  7. lamp平台构建

    目录 lamp平台构建 安装httpd 安装mysql 安装php 配置apache 启用代理模块 配置虚拟主机 启用代理模块 验证 lamp平台构建 环境说明: 系统平台 IP 需要安装的服务 ce ...

  8. 开源解决方案一:快速搭建单机版 LAMP 网站

    LAMP 通常表示 Linux + Apache + MySQL/MariaDB + Perl/PHP/Python,LAMP 的各个组件不是一成不变的,并不局限于它最初的选择.作为一个解决方案套件, ...

  9. 架构篇 | 带你轻松玩转 LAMP 网站架构平台(一)

    作者 | JackTian 微信公众号 | 杰哥的IT之旅(ID:Jake_Internet) 转载请联系授权(微信ID:Hc220066)备注:来自博客园 1.什么是 LAMP 架构? LAMP 架 ...

随机推荐

  1. Java的四大基础特性

    Java的四大基础特性 一.抽象 父类为子类提供一些属性和行为,子类根据业务需求实现具体的行为. 抽象类使用abstract进行修饰,子类要实现所有的父类抽象方法否则子类也是抽象类. 二.封装 把对象 ...

  2. k8s关键性概念

    1.service每个service对应一个cluster IP,cluster IP对应的服务网段最初是在配置kube-apiserver.kube-controller-manager和kube- ...

  3. E20170429-hm

    fold   n/v 折叠 ribbon n 色带 hover  n. 盘旋; 徘徊; vi犹豫 Roll over 打滚; 折:翻滚   pinch ピンチ 捏,掐; finger フィンガー sc ...

  4. Codeforces702C【二分】

    题意: 给你几个城市,蜂窝塔量: 给出城市和塔的坐标可以重叠,非递减的方式给出: 输出最小的r,以至于所有的城市能被覆盖到: 思路: 目的就是要使每个城市覆盖到,那我对每个城市找离最近塔的距离,然后在 ...

  5. combobox级联检索下拉选择框

    1.效果图 2.前端 @{ ViewBag.Title = "Index"; Layout = null; @*自动筛选下拉框*@ <script src="~/S ...

  6. rpm -e ** error :No such file or directory 解决

    参考文章:http://www.redhat.com/archives/rpm-list/2006-June/msg00025.html 我遇到的情况是这样的: 1 先安装包 rpm -ivh tes ...

  7. 揭开Python科学计算的面纱

    春牛春杖.无限春风来海上.便与春工.染得桃红似肉红. 春幡春胜.一阵春风吹酒醒.不似天涯.卷起杨花似雪花. 标准的Python中用列表保存一组值,可以当做数组使用,但是由于其值类型任意,所以列表中保存 ...

  8. sql server 获取数据字段(表的字段和类型信息)

    获取数据字段(表的字段和类型信息) SELECT 表名= then d.name else '' end, 表说明= then isnull(f.value,'') else '' end, 字段序号 ...

  9. AtCoder Grand Contest 016 F - Games on DAG

    题目传送门:https://agc016.contest.atcoder.jp/tasks/agc016_f 题目大意: 给定一个\(N\)点\(M\)边的DAG,\(x_i\)有边连向\(y_i\) ...

  10. normal曲线绘制

      <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&q ...