Web原理与应用开发
WWW(万维网)介绍
WWW是到目前为止最著名的分布式应用,中文名字为“万维网”,常简称为Web。WWW是目前世界上最具影响力的互联网服务,起源于1990年底,最早由欧洲核物理研究中心的Tim-Berners Lee提出的超文本传输协议HTTP,其目的是为研究中心分布在世界各地的科学家提供一个共享信息的平台。
- 应用功能 从应用功能看,WWW是一种交互式图形界面的Internet服务,具有强大的信息连接功能,它使得成千上万的用户通过简单的图形界面就可以访问各个大学、组织、公司等的最新信息和各种服务。
- 技术 从技术上看,WWW是一个基于HTTP的客户-服务器应用系统,即属于客户-服务器范型的分布式计算应用。
WWW核心技术
超文本标记语言 HTML:
HTML语言是WWW服务的信息组织形式,用于定义在WWW服务器中存储的信息格式。
超文本传输协议HTTP:
HTTP是WWW服务使用的应用层协议,用于实现WWW客户机与WWW服务器之间的通信
TCP/IP协议
HTTP协议是TCP/IP 协议栈中的应用层协议,而TCP/IP是Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议和Internet国际互联网络的基础。TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。
HTTP协议
HTTP是HyperText Transport Protocol(超文本传输协议)的缩写,它用于传送WWW方式的数据,是互联网上应用最为广泛的一种网络协议,下图为HTTP协议传输的网页。
HTTP请求消息
请求消息的结构:
由一个请求行、若干消息头、以及实体内容3个部分组成,其中的一些消息头和实体内容都是可选的,消息头和实体内容之间要用空行隔开。
HTTP响应消息:
由一个状态行、若干消息头、以及实体内容 3个部分组成,其中的一些消息头和实体内容都是可选的,消息头和实体内容之间要用空行隔开。
WEB开发技术
-
HTML 超文本标记语言或超文本链接标示语言,是一种制作万维网页面的标准语言,是万维网浏览器使用的一种语言,它消除了不同计算机之间信息交流的障碍。它是目前网络上应用最为广泛的语言,也是构成网页文档的主要语言。
-
JavaScript是一种基于对象(Object)和事件驱动(EventDriven)并具有安全性能的脚本语言。使用它的目的是与HTML超文本标记语言、Java脚本语言(Java小程序)一起实现在一个Web页面中链接多个对象,与Web客户交互作用。从而可以开发客户端的应用程序等。它是通过嵌入或调入在标准的HTML语言中实现的。它的出现弥补了HTML语言的缺陷,它是Java与HTML折衷的选择。
-
CSS 级联样式表,通常又称为“风格样式表(Style Sheet)”,它是用来进行网页风格设计的。比如,如果想让链接字未点击时是蓝色的,当鼠标移上去后字变成红色的且有下划线,这就是一种风格。通过设立样式表,可以统一地控制HTML中各标志的显示属性。级联样式表可以使人更能有效地控制网页外观。使用级联样式表,可以扩充精确指定网页元素位置,外观以及创建特殊效果的能力。
-
XML 即可扩展标记语言,它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言,它是一种很类似于HTML的标记语言,它被设计用来传输和存储结构化数据。
-
CGI 公共网关接口CGI(Common Gateway Interface) 是WWW技术中最重要的技术之一,有着不可替代的重要地位。CGI是外部应用程序(CGI程序)与Web服务器之间的接口标准,是在CGI程序和Web服务器之间传递信息的规程。 CGI(The Common Gateway Interface)是一个标准化的协议,能够使应用程序(通常称为CGI程序或CGI脚本)同web服务器和客户端进行交互。CGI程序能够用Python, PERL, Shell, C or C++等语言来实现。
- WEB会话 WEB会话是指web客户端与服务器的一次连接、中间多次交互到最后断开的过程。由于HTTP协议是无状态的,因此需要会话跟踪技术管理客户端的多次请求的状态信息。会话(Session) 跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。
Cookie 是服务器发送给客户的片段信息,存储在客户端浏览器的内存中或硬盘上,之后在对服务器的请求中将其发回
- Applet和Servlet Applet小应用程序是JAVA编写的客户端小程序,可通过因特网下载并在接收计算机上运行的一小段程序。运行在浏览器软件中,Applet典型用于为万维网网页页面定制或添加交互格式元素。
servlet是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。Servlet运行于支持Java的应用服务器中。从实现上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。
Applet特点:
Applet必须运行于某个特定的“容器”,这个容器可以是浏览器本身,也可以是通过各种插件,或者包括支持Applet的移动设备在内的其他各种程序来运行。与一般的Java应用程序不同,Applet不是通过main方法来运行的。在运行时Applet通常会与用户进行互动,显示动态的画面,并且还会遵循严格的安全检查,阻止潜在的不安全因素(例如根据安全策略,限制Applet对客户端文件系统的访问)。
- SSH框架 SSH(struts+spring+hibernate)是目前较流行的一种Web应用程序开源集成框架,用于构建灵活、易于扩展的多层Web应用。集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层(实体层)。
表示层:通过JSP页面实现交互界面,负责传送请求(Request)和接收响应(Response),然后Struts根据配置文件(struts-config.xml)将ActionServlet接收到的Request委派给相应的Action处理。
业务层:管理服务组件的Spring IoC容器负责向Action提供业务模型(Model)组件和该组件的协作对象数据处理(DAO)组件完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完整性。
持久层:依赖于Hibernate的对象化映射和数据库交互,处理DAO组件请求的数据,并返回处理结果。