1.3 网页的浏览原理
前面介绍了B/S模型的优越性,这种模式就是在Web开发中,通过浏览器和服务器的交互来实现系统的业务逻辑。这种模式组成的应用程序一般称为Web应用程序。本节就对Web的一些基础知识进行描述。
1.3.1 Web是什么
Web出现于1989年3月,由欧洲粒子物理研究所(CERN)的科学家Tim Berners-Lee发明。1990年11月,第一个Web服务器正式运行,这时通过Web浏览器看到了最早的Web页面。1991年Web技术标准正式发布。1993年,第一个图形界面的浏览器Mosaic开发成功,1995年著名的Netscape Navigator浏览器问世。随后,微软公司推出了著名的IE浏览器(Windows操作系统默认安装IE浏览器)。目前,与Web相关的各种技术标注都由著名的W3C组织(World Wide Web Consortium)管理和维护。
Web是一个分布式的超媒体信息系统,它将大量的信息分布在网上。目的就是为人们提供更多的多媒体网络信息服务。从技术层面上看,Web技术的核心有3点:
●超文本传输协议(HTTP)协议,实现网络的信息传输。
●统一资源定位符(URL),实现互联网信息的定位的统一标识(如http://www.sohu.com中的“www.sohu.com”)。
●超文本标记语言(HTML),实现信息的表示与存储。
1.3.2 HTTP超文本传输协议是什么
超文本传输协议HTTP(HyperText Transfer Protocol)是专门为Web设计的一种应用层协议。常用的Web服务器软件有Apache、IIS等,Web浏览器软件包括IE、Netscape、Mozilla Firefox等。
当用户在浏览器地址栏中输入网址或通过超链接访问目的网站时,都向目标主机(Web服务器)发送一个HTTP请求。HTTP定义的信息交互处理由以下4步组成:
●浏览器与Web服务器建立连接。
●浏览器向服务器提出请求。
●如果请求被接受,则服务器送回响应,在响应中包括状态码和所需要的文件。
●浏览器和Web服务器断开连接。
HTTP向服务器发出一段请求也就是一段报文,是由以下4个部分组成的文本。
(1)请求行。请求行有3个标记组成,即请求方法、请求URL和HTTP版本,它们用空格分隔。例如,GET /Index.html HTTP 1.0的意思就是检索当前文件夹下的Index.html文件,使用的HTTP版本是HTTP1.1。其中HTTP1.1规范定义了8种请求的方法。
●Get:检索URL中标识资源的一个简单请求。
●Head:与Get方法相同,服务器只返回状态行和头标,并不返回请求文档。
●Post:服务器接收被写入客户端输出流中的数据请求。
●Put:服务器保存请求数据作为指定URL新内容的请求。
●Delete:服务器删除URL中命名的资源的请求。
●Options:关于服务器支持的请求方法信息的请求。
●Trace:Web服务器反馈HTTP请求和头标的请求。
●Connect:已文档化但当前未实现的一个方法,预留做隧道处理。
在Web应用中,通常只使用Get和Post方法。
(2)请求头标。由关键字和值对组成,每行一对,关键字和值用冒号(:)分隔。请求头标通知服务器关于客户端的功能和识别,典型的请求头标有:
●User-Agent:客户端厂家和版本。
●Accept:客户端可识别的内容类型列表。
●Content-Length:附加到请求的数据字节。
(3)空行。最后一个请求头标之后是一个空行,发送回车符和退行,通知服务器不再有头标。
(4)请求数据。使用Post发送数据。
服务器接到请求后,解析请求,如果请求的是静态资源,如文档、图片等,则将请求的资源返回给浏览器;如果请求的动态的服务器程序,如:Servlet、JSP、ASP、CGI等,则在服务器端运行程序后返回运行的结果,通常的运行结果是生成的一个HTML文档。一个响应由4个部分组成,这些部分与请求报文的部分基本相同,本节只介绍状态行部分。
状态行由3个部分组成:HTTP版本、响应代码和响应描述。
●HTTP版本:向客户端指明其可以理解的最高版本。
●响应代码:三位的数字代码,指出请求的成功或失败,如果失败则指明原因。
●响应描述:为相应代码的可读性解释。例如:
HTTP/1.1 200 OK
HTTP响应代码的说明如下:
●1xx:信息请求收到,继续处理。
●2xx:成功,行为被成功的接收、理解和采纳。
●3xx:重定向,为了完成请求,必须进一步执行动作。
●4xx:客户端错误。