学习要点

  • 什么是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. 【205】C#实现远程桌面访问

    参考:Remote Desktop using C#.NET 参考文件:TscForm.zip 本博客主要是讲述怎样用 .NET 平台中 Microsoft Terminal Services Cli ...

  2. oracle 查看表是否存在、包含某字段的表、表是否包含字段

    表是否存在: select count(*) from user_tables where table_name = #{tablename} 包含某个字段的表 select * from user_ ...

  3. In-App Purchase Programming Guide----(五) ----Delivering Products

    Delivering Products In the final part of the purchase process, your app waits for the App Store to p ...

  4. JAVA基础-面向对象05

    一.面向对象的引入 解决问题的时候,首先要会分析思路,这个思路就是我们生活中解决一个问题的方法步骤: 有了思路之后,再把思路使用java代码来解决: 但是 计算总分的需求变了 分析:原来在一个程序中, ...

  5. hdoj2571【DP基础】

    题意:中文题/ 思路:DP的思想要理解,就是从上一个最优状态使被传到的状态也是最优状态.因为很久没有打DP,所以连简单地这样的都wa了6次:(QAQ废话不多说). 题目要求是从(x,y)到(x,y+1 ...

  6. (六)SpringBoot整合Swagger2框架

    一:什么是Swagger Swagger是一款通过我们添加的注解来对方法进行说明,来自动生成项目的在线api接口文档的web服务. 二:添加Swagger2依赖 <dependency> ...

  7. 有哪些值得学习的spring boot开源项目?

    1. awesome-spring-boot 首先给大家介绍的就是Spring Boot 中文索引,这是一个专门收集 Spring Boot 相关资料的开源项目,也有对应的导航页面. 产品主页 htt ...

  8. django接受表单

    from django.shortcuts import render from django.shortcuts import HttpResponse import os # Create you ...

  9. Android逆向分析工具表

    逆向分析工具表 工具 描述 网址 androidterm Android Terminal Emulator http://code.google.com/p/androidterm/ droidbo ...

  10. Appium + Python自动化 - 元素定位uiautomatorviewer

    元素定位主要介绍如何使用uiautiomatorviewer,通过定位到页面上的元素,然后进行相应的点击等操作.uiautiomatorviewer是android-sdk自带的一个元素定位工具,非常 ...