Web是以客户端/服务器的模式,通过HTTP协议来交互的。具体交互如下:
1.一次通信过程包括请求和响应两个步骤,请求由客户端发起,请求信息中带有所需资源的URI和其他所需的信息
2.服务器收到请求后,根据URI和其他信息来决定如何处理,如可能找到资源文件并直接返回,也可能交给某个服务程序处理后再返回信息
3.如果成功,服务器返回响应信息和资源内容,如果出现问题,如资源不存在、客户无权限、服务器处理过程出现错误等,服务器则返回错误消息通知用户
4.不管获取是否成功,经过上述的请求/响应的步骤后,这次HTTP通信都会结束。后续的通信将发起新一轮的请求/响应,与本次无关。
HTML和HTTP
HTML标记语言
HTML是一种利用标签,用嵌套方式来描述内容的语言。HTML文档是用标记来定义内容的,标记就是类似<tag></tag>形式的结构,前者是一个开始标记,后者则是结束标记。一般的标记都要求开始和线束配对使用,如<html></html>、<body></body>等。
标记之间只有两种关系:互不重叠、嵌套。<tag1></tag1><tag2></tag2>、<tag1><tag2></tag2></tag1>
脚本语言JavaScript
传统的HTML页面,浏览器将其解释并显示后,它的内容就固定不再变化,用户不能跟页面做进一步交互。但随着Web应用的不断增加,这些限制越来越不能满足要求。如当在表单输入数据时,希望能在客户端就进行部分检查,而不是发送到服务器检查后,再返回出错信息,以提高交互性能-这些用HTML是不可能实现的。但脚本语言就能派上用场,又如当页面有很多超链接,为了界面友好,希望用户鼠标移到到其中一个上面时,将它用高亮度的颜色显示以提醒用户-这些用HTML也是不可能完成的,但CSS却能。
页面定义的内容组成一个DOM,而脚本语言可以读取和修改DOM,从而达到和页面内容的交互目的。HMML最常用的脚本语言是JavaScript。
脚本语言的定义方式有两种:
1.<script></script>标签中定义,放置在<head></head>中。
2.在HTML标签形如onXXX的属性值中定义。
脚本语言调用的流程发下:
1.在事件属性中添加脚本
HTML的很多标签定义了形如onXXX的属性。当这些事件被触发时,浏览器不会执行属性值中的代码。
2.触发事件
onXXX对应着什么事件,这些事件是在什么产生,在HTML标准中有明确的定义。
3.浏览器执行事件属性值中的代码
当事件被触发后,浏览器就会执行事件属性值中的代码。在实际开发中,可以在这里获取用户在表单输入的数据并检查是否有效。
4.代码通过返回值指示浏览器的后续动作
脚本程序结束时,可以返回状态值给浏览器,以指示浏览器后续的动作。实际开发时,可以在"submitCheck"中检查用户的数据,当不符合要求时弹出消息框通过用户,并返回false让浏览器取消提交运作;如果符合要求,则返回true让浏览器提交。
CSS样式表
传统的HTML是将内容、显示风格混在一起的,但是很混乱。CSS的出现在一定程度上解决了这些问题。