Web应用程序基于HTTP等网络应用层协议,采用请求-响应的工作模式,其流程一般为:
1、客户端把请求发送到服务器的Web应用程序,Web应用程序接受请求后进行相关处理,并把客户端请求的资源以文本、图片、网页等形式返回到客户端。
2、由于解析HTML文件一般为浏览器,所以将这种架构称为B/S架构(Browser/Server)。
相对于传统的C/S架构(Client/Server)的应用程序而言,B/S架构的Web应用程序具备以下优势:
1、发送到集中部署,无需安装客户端程序;
2、集中管理,业务逻辑在服务端进行维护;
3、数据共享,所有客户端访问同一服务器的数据;
4、更强的平台无关性,不必关心客户端的软硬件平台。
什么是C/S架构?
Client/Server架构,即客户端/服务器架构。是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,需要安装客户端才可进行管理操作。
URL
网络中的任何信息资源都有一个唯一的地址,该地址被称为统一资源定位符,Uniform Resource Locator.
HTTP请求(Request)包含三个部分
1、方法-URI-协议/版本;
2、请求头;
3、请求正文。
HTTP 1.1规范定义了7种请求类型
1、GET:获取资源;
2、POST:传输实体文本;
3、PUT:传输文件;
4、DELETE:删除资源或文件;
5、HEAD:获取响应报文头部;
6、OPTIONS:询问支持的方法;
7、TRACE:追踪路径。
论GET与POST的区别:
最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。
GET在浏览器回退时是无害的,而POST会再次提交请求。
1、GET产生的URL地址可以被Bookmark,而POST不可以;
2、GET请求会被浏览器主动cache,而POST不会,除非手动设置;
3、GET请求只能进行url编码,而POST支持多种编码方式;
4、GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留;
5、GET请求在URL中传送的参数是有长度限制的,而POST么有;
6、对参数的数据类型,GET只接受ASCII字符,而POST没有限制;
7、GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息;
8、GET参数通过URL传递,POST放在Request body中。
HTTP是什么?
HTTP是基于TCP/IP的关于数据如何在万维网中如何通信的协议。
HTTP响应(Response)包含三个部分
1、协议-状态码-描述;
2、响应头信息;
3、响应正文。
HTTP之状态码:
1**(信息类):表示接收到请求并且继续处理;
2**(响应成功):表示动作被成功接收、理解和接受;
3** (重定向类):为了完成指定的动作,必须接受进一步处理;
4** (客户端错误类):请求包含语法错误或不能正确被执行;
5** (服务端错误类): 服务器不能正确执行一个正确的请求。
XML
XML——eXtensible Markup Language 可扩展标记语言
XML语法规范:
1、XML规范将一个XML文档分为序言和文档元素两个部分;
2、其中序言部分包含XML声明、注释和文档类型定义等;文档元素部分则包含元素、子元素、属性和文本等;
3、XML声明:XML声明必须是文档的第一行。
<?xml version ="1.0" encoding="UTF-8" standalone="yes"?>
XML语法规范——根元素:
1、每个XML文档有且只有一个根元素;
2、根元素是一个完全包含文档中其他所有元素的元素。
元素:
1、一个元素由开始标记、结束标记、可选属性和可选文本组成。
DTD
DTD的缺点:
1、DTD不遵守XML语法,导致写XML文档时使用一种语法,写DTD时又用另一种语法;
2、DTD数据类型有限,不可扩展,不支持命名空间。
Schema的特点:
1、Schema基于XML语法,所以可以使用解析XML的工具解析Schema文件;
2、Schema扩充了数据类型,还支持元素的集成和属性等。