第一节 Web客户端工作原理

1.浏览器工作原理

(1)Web客户端工作原理

Web客户端,在本课程中,显然就是指浏览器(Browser)端。任何应用系统都必须有一个供用户操作的界面,即用户界面。浏览器的工作,从整个B/S程序来看,是用户与整个B/S程序打交道的一个界面(接口),即人机界面(接口)、用户界面,它的任务是:

Ÿ    收集用户输入的数据(如用户数据:http://211.64.32.2/dsks/index.php)

Ÿ    将用户数据发送到服务器(向服务器请求该用户对服务器的请求)

Ÿ    接收服务器返回的响应(用浏览器能认识和执行的代码即客户端代码表示,如HTML代码,JavaScript代码等)

Ÿ    解释,执行这些代码,将结果显示在浏览器窗口中

可见,浏览器扮演的,是(多数情况下是远程的)服务器在用户那里的一个代理(Agent)的角色。这个代理,具有收集消息,请求响应和解释其领导(服务器)发回的指示的作用。

(2)Web客户端代码

无论是组织用于收集用户数据的界面,还是解释来自服务器的指示形成结果界面,都是用Web客户端代码表示的。常用的Web客户端代码使用HTML语言或JavaScript语言编写的,分别称为HTML代码或JavaScript代码。另外还有CSS、XML等语言。本课程仅介绍HTML语言或JavaScript语言。

2.HTML工作原理

(1)HTML简介

HTML:Hyper Text Markup Language,超文本标记语言。

20世纪80年代末,在欧洲粒子物理实验室(CERN:the European Laboratory for Particle Physics)工作的Tim Berners-Lee(人称WWW之父)通过研究发现:人们的视觉处理是以页为基础的。于是他得出了一个结论:电子资料应以页的方式呈现。以此为出发点,他使用超文本为中心的管理方式来组织网络上的资料,并提出了建立、存取与浏览网页的方法;建立了超文本标记语言;设计了超文本传输协议(HTTP:Hypertext Transport Protocol),用于获取超链接文件;使用统一资源定位器(URL:Uniform Resource Locator)来定位网络文件、站点或服务器。

(2)HTML工作原理

(1)HTML本质

HTML不是程序语言,而是一种标记语言。所谓标记,在有的书上也叫标签,从面向对象的角度而言,就是对浏览器对象的标识的意思。它用来控制文字、图片等浏览器的子对象在浏览器中的表现,以及如何建立文件之间链接的标记,这些标记均放在文本格式的文件中。而程序与之最大的不同,就是可用来控制操作系统或应用程序执行并完成某项作业。超文本标记语言的文档应该尽量做到,从形式上看,无论在任何操作系统的任何浏览器上打开都具有相同的效果。

(2)HTML的基本结构

其基本结构分为三部分:

Ÿ    版本声明,即序(Prologue)

Ÿ    头部(Head)

Ÿ    主体(Body)

其中,主要部分是头部和主体。

【例2-1】Web文档基本HTML结构标记

2-1.htm源代码:

<!--

代码内容:Web文档基本HTML结构标记

作    者:孙寿龙

日    期:20050907

-->

<HTML>

    <HEAD>

        <TITLE>这里写网页的标题</TITLE>

    </HEAD>

    <BODY>

        这里是网页的主体(显示在浏览器窗口中的部分)

    </BODY>

</HTML>

说明:

①标记一般成对出现:<开始标记></结束标记>,为了防止忘记写结束标记符,可采用成对书写,然后在中间插入的写法。

②放在HEAD标记内的信息一般不显示在浏览器的窗口中,通常这里面用来定义JavaScript函数,包含JavaScript代码文件,包含层叠样式表(CSS:Cascading Style Sheets)文件等一些预处理工作。

③BODY标记内通常放上需要表示或展示内容的标记格式。

④HTML中的注释:

       第一种格式:<!注释内容>。其中,注释内容中不可出现“>”,常用于说明标记里的内容;

       第二种格式:<!--注释内容-->。其中,注释内容中可包括“>”在内的任何符号,常用于注释大段的内容。

⑤HTML编辑软件:只要是文本编辑器或自带HTML编辑器的软件,就可以用来编写HTML文件,也可以使用HTML专用编辑器如Dreamweaver等来编辑HTML。可通过使用HTML专用编辑器快速生成一个HTML的基本结构;快速学习并掌握HTML语言。

⑥标记符中的字母,如<HTML>中的HTML,大小写不敏感,建议统一大些或小写使用。

⑦文件的扩展名:若仅含有HTML代码,一般以.htm为扩展名;若仅含有JavaScript代码,这种文件常作为.htm文件的包含文件(引用文件,类似于C程序文件中的头文件)一般以.js为扩展名;若含HTML代码和JavaScript代码,一般以.htm为扩展名。

(3)HTML标记简介

1)基本标记(Basic Tags)

Ÿ    <HTML></HTML>  定义整个超文本文档(网页)对象,描述Web页面的起始与终止。

Ÿ    <HEAD></HEAD>  设置页面的头部分,用来包含当前文档的一些相关信息。如定义样式、网页的标题、网页中使用的脚本语言以及对搜索引擎有帮助的关键字。

Ÿ    <TITLE></TITLE>  用来指明文件的标题,其内容将显示在浏览器的标题栏内,设置它的好处:可为下载时提供默认的文件名;可为搜索引擎提供搜索关键字。

Ÿ    <BODY></BODY>  放置Web页面的正文内容,包含文件内的文字、超链接文字的颜色、背景色彩、图片、动画、影像、音效等几乎所有对网页的展示功能。

Ÿ    <META>  用来介绍与文件内容相关的信息。每一个<META>标记用于指明一个名称或数值对,常常放在头部标记中。

2)文本、字符格式(Text & Char Format)

Ÿ    <Hn></Hn>  标题文字(n=1~6)

Ÿ    <BR>  换行标记

Ÿ    <P></P>  段落标记

Ÿ    <HR>  水平线标记

Ÿ    <FONT FACE=”字体名称”  SIZE=”大小”  COLOR=”颜色名或颜色值”>字符串</FONT>  设置字符串的字体、大小、颜色

 颜色名:red,green,blue,yellow,black,white等。

 颜色值:格式为#rrggbb,其中,r,g,b分别用十六进制数表示的红、绿、蓝三种颜色,如#FF0000表示红色,而#6CB0A6表示一种青色。

Ÿ    字符格式标记

<B></B>  粗体

<I></I>  斜体

<U></U>  加下划线

<STRONG></STRONG>  着重强调

<SUP></SUP>  定义上标

<SUB></SUB>  定义下标

3)超链接(Hyperlink)

标记<A href=”URL” … ></A>表示一个超链接元素。超链接的属性主要有超链接地址、超链接文件打开的窗口位置,都在其开始标记中定义。

【例2-2】超链接标记

2-2.htm源代码:

<A  href="http://nc.dzu.edu.cn/article/show.php?id=139" target="_blank" >ASP,PHP,JSP之比较</A>

其中,

href即超链接地址,其值为http://211.64.32.2/dsks/index.php

target即窗口位置,对其值_blank而言,浏览器接收到服务器211.64.32.2发来的文件ndex.php,将在一个新浏览器的窗口中显示。

超链接一般简称链接。

4)表格(Table)

常用表格来精确定义页面文本或图片等的排版格式、排版布局,以使整齐美观。

<TABLE></TABLE>  定义一个表格

<TR></TR>  定义表格内的一行

<TD></TD>  定义一行内的一个单元格

5)表单(Form)

表单的概念同VB、VF、VC等程序设计语言,它是浏览器收集、发送用户所填数据的一种浏览器对象(控件),就像一部货车,一艘轮船,它本身不承载数据,而是通过包含表单对象(就像轮船上的集装箱)这些可以盛放数据的数据容器来承载数据,传送数据,从这个角度来看,它实际上是一个盛放数据容器的容器。

表单是B/S程序中人机交互界面的主要形式。从服务器的角度来看,或者说从服务器程序编写人员来看,表单及表单对象的名称(即其NAME属性名)被服务器看作变量来接收,称作表单变量;表单变量的值即用户在客户端表单对象中填写的数据。

表单的一般标记有:

Ÿ    表单本身:<FORM  NAME=”form1”  ACTION=”chuli.php”  METHOD=”POST” ></FORM>  定义表单,其中:

属性ACTION的值起指明将表单中数据提交(发送的意思)的方向,即服务器上的某个处理程序。

属性METHOD指明提交数据的方法,常用POST和GET。

Ÿ    <INPUT>  输入型表单对象

  ①文本字段,类似于VB、VF、VC里的文本框控件,基本标记形式如下:

  <input name="textfield" type="text" value="这里是文本字段的值">

  ②隐藏域,设计时可见,运行时不可见的文本字段,程序员常用它向FORM的ACTION指向的文件传送变量。

<input type="hidden" name="hiddenField">

  ③文本区域,类似于VB、VF、VC里的文本框控件,基本标记形式如下:

<textarea name="textarea" cols="25" rows="5">这里是文本区域的值</textarea>

  ④单选按钮,类似于VB、VF、VC里的单选按钮控件(有人也称之为无线按钮),作用是在同名的多个单选按钮中提供单项选择。

  ⑤复选框,作用是在同名的多个复选框中提供多项选择。

  ⑥列表/菜单域,概念等同于VB、VF、VC里的下拉列表框。<SELECT></SELECT>

⑦提交表单型表单按钮,标记形式:

<INPUT  TYPE=”submit”  VALUE=”提交”>  作用是将表单中的数据提交到表单属性ACTION的值所指向的服务器端程序,由服务器端程序处理

⑧重置型表单按钮,标记形式:

<INPUT  TYPE=”reset”  VALUE=”重新填写”>  作用是清空表单中每个输入域中的数据,等待用户重新输入。

⑨定制型表单按钮,标记形式:

<INPUT TYPE=”button” VALUE=”转到教学网站” ONCLICK=”window.location=’ http://211.64.32.2/dsks’ ”>  作用是执行用户指定的函数、过程。这里,用户通过指定该按钮的单击事件处理过程为:将当前页面跳转到教学网站主页。

【例2-3】FORM标签示例

2-3.htm源代码:

<form name="form1" method="post" action="2-3.php">

  姓名:<input name="xm" type="text"><br>

  简介:<textarea name="jj" cols="25" rows="5"></textarea><br>

  性别:

  <input type="radio" name="xb" value="1">男

  <input type="radio" name="xb" value="0">女

  <br>

  爱好:

  <input type="checkbox" name="ah" value="1">运动

  <input type="checkbox" name="ah" value="2">音乐

  <input type="checkbox" name="ah" value="3">旅游<br>

  今天要去哪里逛一逛:

  <select name="where">

    <option value="你未选择任何地方!" selected>请选择</option>

    <option value="http://211.64.32.2/dsks">孙寿龙教学网站</option>

    <option value="http://www.dzu.edu.cn">德州学院网站</option>

    <option value="http://www.163.com">网易</option>

  </select>

  <br>

  <input type="hidden" name="hiddenField">

  <br>

  <input type="submit" name="Submit" value="提交">

  <input type="reset" name="Submit2" value="重置">

  <input type="button" name="Submit3" value="定制">

</form>

向服务器请求2-3.htm的结果见图10。