简要的介绍一下Web的工作机制,以便对开发JavaWeb项目有个更好的理解。

一、Web的概念

    1.1    何为Web:Web是万维网(World Wide Web)的简称。Web出现以前,用户查询信息时,需要记住信息的详细地址和各种网络命令。有了万维网,就可以利用链接从Internet的一个站点方便的访问另一个站点,我们今天将这种行为称为“浏览”。

  1.2   Web的核心标准:URL、HTTP、HTML

  • URL统一资源定位符:URL为描述网页和其他资源地址提供了一种标识方法,用于实现对资源的定位。我们我们在浏览器中输入的网址就是URL,每个网页都有一个Internet地址。 URL由协议类型、主机名、路径和文件名三部分组成。
  • HTTP超文本传输协议:HTTP是一种通信协议,它规定了客户端(浏览器)与服务器之间信息交互的方式。当我们在浏览器的地址栏中输入URL或者单击网页中的超链接时,便确定了要浏览的地址。浏览器会通过超文本传输协议(即HTTP)从Web服务器上将站点的网页代码提取出来,并翻译成网页返回给我们。
  • HTML超文本标记语言:HTML是一种制作Web网页的一种标记语言,有了HTML,不同语言的计算机之间就可以无障碍的交流。标记即标签的意思,指的是对浏览器的各种元素进行标识的意思。HTML使用标签来标记网页中的各个部分,浏览器再通过这些标签得知如何显示网页中的各个部分,如字体、字号、颜色等等。

二、C/S和B/S软件体系结构

2.1  C/S即客户机/服务器模式(Client/Server)

大多数应用软件系统采用的是这种结构,Client和Server常常分别处在相距很远的两台计算机上,Client程序的任务是将用户的要求提交给Server程序,再将Server程序返回的结果以特定的形式显示给用户;Server程序的任务是接收客户程序提出的服务请求,进行相应的处理,再将结果返回给客户程序。

2.2   B/S即浏览器/服务器模式(Browser/Server)

WEB浏览器是客户端最主要的应用软件。客户机上只要安装一个浏览器,浏览器通过Web Server 同数据库进行数据交互。Browser/Server结构主要是利用了不断成熟的Web浏览器技术:结合浏览器的多种脚本语言和ActiveX技术,用通用浏览器实现原来需要复杂专用软件才能实现的强大功能,同时节约了开发成本。

Web浏览器以HTML文档的形式向Web服务器提交请求,请求会通过HTTP协议传输给服务器,服务器接受请求后,进行相应的处理,然后再将处理后的结果通过HTTP返回给服务器,最终在浏览器上显示所请求的页面。

三、理解HTTP协议

3.1  解析HTTP协议URL

HTTP的URL的一般格式为:http://host[“:”port][path]。

上述格式中http表示此处使用http协议来定位URL网络资源;host表示Internet主机域名,也可以直接使用主机IP地址;port用来指定端口号,默认情况下,HTTP的端口号为80,可省略;path指定请求资源的路径,由零个或多个“/”符号间隔的字符串组成,表示主机上的一个目录或文件地址,若省略该项,url则指向Internet上的某个主页。

     3.2  GET方法和POST方法

HTTP协议中最常用的是GET和POST方法。

GET方法是最简单的HTTP方法,用于向服务器请求资源并把资源发送回来;POST方法不仅可以向服务器请求一个资源,同时还可以向服务器发送一些表单数据。


Web的工作机制的更多相关文章

  1. Java Web ClassLoader工作机制

    一.ClassLoader的作用: 1.类加载机制:父优先的等级加载机制 2.类加载过程 3.将Class字节码重新解析成JVM统一要求的对象格式 二.ClassLoader常用方法 1.define ...

  2. springMVC工作机制和框架搭建配置说明

    先说一下springMVC的工作机制 1.springmvc把 所有的请求都提交给DispatcherServlet,它会委托应用系统的其他模块负责对请求进行真正的处理工作. 2.Dispatcher ...

  3. Session的工作机制详解和安全性问题(PHP实例讲解)

    我们先简单的了解一些http的知识,从而理解该协议的无状态特性.然后,学习一些关于cookie的基本操作.最后,我会一步步阐述如何使用一些简单,高效的方法来提高你的php应用程序的安全性以及稳定行. ...

  4. 云计算分布式大数据Hadoop实战高手之路第七讲Hadoop图文训练课程:通过HDFS的心跳来测试replication具体的工作机制和流程

    这一讲主要深入使用HDFS命令行工具操作Hadoop分布式集群,主要是通过实验的配置hdfs-site.xml文件的心跳来测试replication具体的工作和流程. 通过HDFS的心跳来测试repl ...

  5. 深入浅出之Smarty模板引擎工作机制(二)

    源代码下载地址:深入浅出之Smarty模板引擎工作机制 接下来根据以下的Smarty模板引擎原理流程图开发一个自己的模板引擎用于学习,以便加深理解. Smarty模板引擎的原理,其实是这么一个过程: ...

  6. 深入浅出之Smarty模板引擎工作机制(一)

    深入浅出Smarty模板引擎工作机制,我们将对比使用smarty模板引擎和没使用smarty模板引擎的两种开发方式的区别,并动手开发一个自己的模板引擎,以便加深对smarty模板引擎工作机制的理解. ...

  7. BrnShop开源网上商城第三讲:插件的工作机制

    这几天BrnShop的开发工作比较多,所以这一篇文章来的晚了一些,还请大家见谅呀!还有通知大家一下BrnShop1.0.312版本已经发布,此版本添加了报表统计等新功能,需要源码的园友可以点此下载.好 ...

  8. 深入分析 Java I/O 的工作机制--转载

    Java 的 I/O 类库的基本架构 I/O 问题是任何编程语言都无法回避的问题,可以说 I/O 问题是整个人机交互的核心问题,因为 I/O 是机器获取和交换信息的主要渠道.在当今这个数据大爆炸时代, ...

  9. struts2的工作机制

    struts2的工作机制 原文:http://eoasis.iteye.com/blog/642586 概述 本章讲述Struts2的工作原理. 读者如果曾经学习过Struts1.x或者有过Strut ...

随机推荐

  1. 杂记之web篇

    问题1:通过POST方式提交给后台的数据出现了乱码,用部分浏览器测试却是好的. 解决办法: 在web.config文件中加上 <globalization responseEncoding=&q ...

  2. Xcode 运行报错:“Your build settings specify a provisioning profile with the UUID ****** however, no such provisioning profile was found”

    iOS开发中遇到"Your build settings specify a provisioning profile with the UUID ****** however, no su ...

  3. 使用CAEmitterLayer产生粒子效果

    ViewController.m #import "ViewController.h" @implementation ViewController - (void)viewDid ...

  4. MySQL 表子查询

    MySQL 表子查询 表子查询是指子查询返回的结果集是 N 行 N 列的一个表数据. MySQL 表子查询实例 下面是用于例子的两张原始数据表: article 表: aid title conten ...

  5. php全局变量与局部变量中的使用

    <?php //error handler function $v1=10; function f1() { //这里是把局部变成全局变量,也就是创建一个和外部同名的局部变量并通过“引用”的方式 ...

  6. 《Linux内核分析》 week8作业-Linux加载和启动一个可执行程序

    一.ELF文件格式 ELF(Executable and Linking Format)是x86 Linux系统下常用的目标文件格式,有三种主要类型: 适于连接的可重定位文件,可与其他目标文件一起创建 ...

  7. wordpress主题制作结构文件

    下面是WordPress主题文件层次结构,它会告诉你:当WordPress显示特定的页面类型时,会使用哪个模板文件呢?只有了解了以下主题层次结构,你才能知道你的WordPress主题到底需要写哪些文件 ...

  8. 阿里云服务器上使用iptables设置安全策略

    转自:http://www.netingcn.com/aliyun-iptables.html 公司的产品一直运行在云服务器上,从而有幸接触过aws的ec2,盛大的云服务器,最近准备有使用阿里云的弹性 ...

  9. IOS学习:ios中的数据持久化初级(文件、xml、json、sqlite、CoreData)

    IOS学习:ios中的数据持久化初级(文件.xml.json.sqlite.CoreData) 分类: ios开发学习2013-05-30 10:03 2316人阅读 评论(2) 收藏 举报 iOSX ...

  10. rownum的使用

    Oracle 提供了rownum,rownum是一个隐含的字段,默认从1开始. 取得前5条记录: 采用rownum进行分页查询: 需要使用三层嵌套查询来完成分页查询: 例如查询第三到第四条记录: se ...