《细说PHP》第一章 LAMP网站的构建---读书笔记

1. 网站软件的简介


1.1 网站软件的体系结构

1) C/S --- Client/Server

具体的例子: QQ, MSN


2) B/S --- Browser/Server

a. 特点:

    • 分布性
    • 业务扩展简单方便
    • 开发简单,共享性强

b. 简单的工作原理:(一句话) B/S结构中的客户端,是通过在浏览器的地址栏中输入URI访问web服务器,然后Web服务器会根据用户的请求,将获得的结果再以HTML等形式返回给客户端浏览器。



1.2 动态网站介绍

1).动态与静态网站的区别:是否采用了数据库的开发模式

2) 什么是静态网站?

指不通过脚本语言及数据库开发,而直接或间接制作成HTML的网页组成。

3) 什么是动态网站?

通过网页脚本语言(比如PHP,JSP, ASP等)将网站内容中的数据动态存储到服务器端的数据库里,用户访问网站是通过读取数据库来动态生成网页的方法。


2. 动态网站开发所需的web构件

网站开发所需的web构件

  • 客户端浏览器
  • XHTML
  • CSS
  • XML 和 XLS
  • 客户端脚本编程语言
  • Web服务器
  • 服务器端脚本编程语言
  • 数据库管理系统

2.1 客户端浏览器

1) 常用的浏览器:IE, Firefox,Chrome,Opera,Safri

2) web标准: 各个客户端浏览器,要遵循同一个web标准。


2.2 扩展超文本标记语言XHTML

1) HTML标签:所有的网页都含有供浏览器解析的指令,浏览器通过读取这些指令来显示页面。

2) HTML 标准:XHTML1.0,HML标准

3) HTML文档:放置tags的ASCII文本文件,以.html或.htm作为文件的扩展名。

4) 生成HTML文档的三种途径:

  • 手工直接编写
  • 格式转换工具转换
  • web服务器,在用户访问的时候动态的生成


2.3层叠样式表CSS

1)CSS是干什么的?

美化和布局HTML标签所表示的内容。

2)CSS是什么?

一种标记语言,不需要编译,直接有浏览器解释执行。

3)CSS如何用?

CSS包含了一些CSS标记,可以直接在HTML文件中使用,也可以写到后缀名是.css的文本文件中,只要对相应的代码做~些简单的修改,就可以改变同一员面的 不同部分,或者改变网页的整体表现形式,或者改变多个不同贞面的外观和布局,使用CSS可以减少开发人员的工作量。


2.4 XML和XSLT

1) XML是干什么的?

xml主要用来存储数据而且可以描述数据的存储结构

2)XSLT是干什么的?

  • XSLT是一种将XML数据转换为不同格式新的W3C标准,可以把XML文件转为浏览器可以设别的格式。
  • XSLT还可以添加元素,并对元素进行删除,重新排列和排序,测试并确定显示哪些元素


2.5 客户端脚本编程语言

1) 客户端脚本编程语言种类

Javascript,VBScript,Jscript,Applet

2) 客户端脚本语言的作用?

一种有关英特网浏览器行为的编程,能偶实现用户和浏览器之间的互动性。


2.6 Web服务器

1) Web服务器是什么?

Web服务器主要功能是提供网上信息浏览服务。

2) Web服务器的工作原理?

Web服务器就是在web站点上运行的程序,用于管理Web页面的一个软件,并使这些页面通过本地网络或Internet供客户端浏览器使用。

它负责处理浏览器的请求,当用户使用浏览器并通过URL地址请求读取web站点内容时,web服务器将收到一个http清求,并且返回给用户一个http响应。


2.7 服务器端脚本编程语言 1) 服务器端脚本语言主要作用?

  • 可以动态地编辑、修改或添加网页内容
  • 可以对用户从HTML提交的查询或数据进行响应,访问数据或数据库,并把结果返回到浏览器。
  • 可以访问文件或XML数据,井把结果返回到浏览器,把XML转换为HTML,井把结果返回到浏览器。
  • 可以为不同的用户定制页面,提高页面的可用性
  • 不同的网页提供安全和访问控制,为不同类型的浏览器设计不同的输出

2) 服务器端脚本语言的类型? ASP,JSP,PHP 2.8 数据库管理系统 MySQL

3. 网站软件开发平台及工作流程

3.1 动态玩站开发平台

  • ASP.NET: Windows+IIS+SQL Server+ASP
  • J2EE: UINX+Tomcat(Weblogic)+ Oracle+JSP
  • LAMP: Linux + Apache + MySQL + PHP


3.2 三种平台的技术比较


4.客户端与服务器端交互的工作原理

Web的工作方式非常简单,他实际处于OSI模型的应用层,.只是一种网终协议的高尽应用。


4.1工作原理图

1. 用户在浏览器中输入网站的地址,如www.baidu.com,这个地址称为URL(Uniform Resource Locator,统一资源定位符),就如一个门牌号码,URL,确定了要浏览的服务器的地址。

  • URL的组成

  • 域名,先连接到域名服务器DNS,解析成真实的IP地址返回回来,再去连接web服务器。
  • web服务器和浏览器通过http在Internet上发送和接收消息
    • 客户机与服务器建立连接,发送一个请求给服务器
      • 客户机发送请求的格式为:请求方式的格式为:统·资源标识符(URL )、协议版本号(HTTP/1.1),后边是MIME信息
        包括请求修饰符、客户机信息和可能的内容。
    • 服务器接到请求后,给予响应的信息
      • 响应信息的格式为:一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体
        信息和可能的内容。

2. Web服务器收到客户端请求后,有三种情况:

1)客户端访问服务器端的HTML文件

a. 在本机硬盘上,在他管理的文档根目录下寻找相应的目录,并把用户请求的文件打开,并将文件的内容响应给客户端浏览器。

b. 浏览器收到Web服务器的响应,接收服务器端下载的文件,同时时逐条进行解释,显示出美妙的页面给用户欣赏。

2)客户端访问服务器端的PHP文件

a. 用HTTP协议去连接Apache网页服务器,但请求的是服务器某个目录下的一个index.php动态语言脚本文件

b. Apache网页服务器收到客户端请求的PHP文件,自己不能处理,就寻找PHP应用服务器并委托它来处理,并在本机硬盘下Apache管理的文档根目录下寻找该文件,并把用户请求的index.php文件交给PHP应用服务器。 c. PHP应用服务器接到Apace服务器的委托,打开index.php文件,根据PHP程序的动态代码的要求逐条解释并翻译成THML静态代码,再交还给Apache服务器输出给客户端浏览器。

d. 浏览器收到Web服务器的响应,接收服务器端下载的HTML静态代码,同时逐条进行解释,显示出用户需要的页面提供给用户操作。

3)客户端访问服务器端的MYSOL数据库

a. 用HTTP协议去连接Apache网页服务器,但请求的是服务器某个目录下的一个index.php动态语言脚本文件

b. Apache网页服务器收到客户端请求的PHP文件,自己不能处理,就寻找PHP应用服务器并委托它来处理,并在本机硬盘下Apache管理的文档根目录下寻找该文件,并把用户请求的index.php文件交给PHP应用服务器。 c. PHP应用服务器接到Apace服务器的委托,打开index.php文件,在PHP文件中通过对数据库连接的程序代码,连接本机或者网络其他机器上的MySQL数据库,在PHP中,执行SQL语句,获取数据库中的数据。 根据PHP程序的动态代码的要求逐条解释并翻译成THML静态代码,再交还给Apache服务器输出给客户端浏览器。

d. 浏览器收到Web服务器的响应,接收服务器端下载的HTML静态代码,同时逐条进行解释,显示出用户需要的页面提供给用户操作。

更多相关文章

  1. 使用ajax在服务器端恢复json时出错
  2. 使用jQuery和ajax更改浏览器地址栏URL,无需重载页面[重复]
  3. php清理当前目录下的指定文件和空目录(源码),建议服务器端执行
  4. Codeigniter在localhost中的url上没有index.php但在服务器中没有
  5. 自动同步vps服务器或本地文件的数据到百度网盘
  6. SQL调优案例,MYSQL服务器CPU100%问题解决
  7. 阿里云服务器远程连接mysql
  8. Ubuntu+Django+Nginx+uWSGI+Mysql搭建Python Web服务器
  9. phpMyAdmin 尝试连接到 MySQL 服务器,但服务器拒绝连接--解决方法

随机推荐

  1. android插件开发,使用360加固自动多渠道
  2. Android的Broadcast Receicer解析
  3. Android Studio--EditText属性
  4. android keystore的使用
  5. 判断力应用程序安装位置
  6. Android内存泄露利器(RSS内存统计篇)
  7. Android 面试题(二)Android基础篇
  8. android 面试3:如何将一个Activity设置成
  9. Android 语音输入API使用
  10. android:versionCode和android:versionNa