《细说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 stackView
  2. Android Hello World on IDEA
  3. Android TabHost风格
  4. Sending and receiving broadcast messag
  5. android 让自己的app成为launcher
  6. Android短信发送和监控
  7. Android的简单的广播的例子
  8. Android 101 for iOS Developers
  9. Android 各种机型兼容问题
  10. Android: Runtime.exec()的陷阱