简要的介绍一下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. oracle单行函数之日期函数

    在日期上加上或减去一个数字结果仍为日期. 两个日期相减返回日期之间相差的天数. 可以用数字除24来向日期中加上或减去小时. SQL from dual; SYSDATE SYSDATE ------- ...

  2. log4j日志输出使用教程

    Log4j是帮助开发人员进行日志输出管理的API类库.它最重要的特点就可以配置文件灵活的设置日志信息的优先级.日志信息的输出目的地以及日志信息的输出格式.Log4j除了可以记录程序运行日志信息外还有一 ...

  3. PHP5中使用PDO连接数据库

    PDO  如何连接 new PDO("mysql:host=localhost;dbname=php100","root", “ "); 默认这个不是 ...

  4. js常用 禁止F5 和右键

    document.oncontextmenu = function() {event.returnValue = false;} //右键 document.onkeydown = function( ...

  5. 转载自php100中文网 centos下lamp 环境搭建

    学习PHP脚本编程语言之前,必须先搭建并熟悉开发环境,开发环境有很多种,例如LAMP.WAMP.MAMP等.这里我介绍一下LAMP环境的搭建,即Linux.Apache.MySQL.PHP环境. 一. ...

  6. d029: 求出2-100之间的所有质数(素数)

    内容: 求出2-100之间的所有质数(素数) 输入说明: 无 输出说明: 一行一个素数 /* 质数又称素数.指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数(不包括0)整除的数. */ ...

  7. .NET MVC 插件化框架支持原生MVC的Area和路由特性

    前面开放的源码只是简单的Plugin的实现,支持了插件的热插拔,最近晚上偶然想到,原生的MVC提供Areas和RouteAtrribute等路由特性标签,按照先前的做法,无法解析插件的路由特性和Are ...

  8. java注解实例-反射生成sql

    定义描述用户表的注解: package dao; import java.lang.annotation.ElementType; import java.lang.annotation.Retent ...

  9. JDK TOMCAT MAVEN在myeclipse如何配置

    对于没有基础的人来说,本工具务必放在D盘根目录下. 1配置环境变量, "我的电脑-->右键-->属性" 貌似是这样吧,我电脑桌面没"我的电脑"或&q ...

  10. 当fixed元素相互嵌套时chrome下父元素会影响子元素的层叠关系

    问题:fixed元素被另一个fixed元素包含的时候在chrome下fixed子元素的定位会受到父元素的影响. demo(http://jsbin.com/qumah/1): <!DOCTYPE ...