简要的介绍一下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. 控制弹出div显示在鼠标附近的位置

    前一个页面: $("#txt_ocname").click(function () { art.dialog.open("/SelPosAll.aspx", { ...

  2. 13 hbase连接

    Configuration conf=new Configuration(); String zookeeper=""; String clientport="; Str ...

  3. python 安装中的错误解决

    最近使用python3.5,其中遇到安装中的错误,现在记录下来,提个醒 1 安装setuptools 出现缺少 zlib模块 解决: 1 yum install zlib 2 yum install ...

  4. 编程Tips集锦

    以下是自己编程的一些小贴士,记录,总结提高自己. 1.python中集合类型的查找,尽量用dict or set类型. dict和set类型,在python内部的实现都是使用hash映射,查找的时间复 ...

  5. Android 中HttpURLConnection与HttpClient的简单使用

    1:HttpHelper.java public class HttpHelper { //1:标准的Java接口 public static String getStringFromNet1(Str ...

  6. Stream 基础和常用

    来源 : http://www.cnblogs.com/jimmyzheng/archive/2012/03/17/2402814.html 系列 目前只作为个人参考. 微软的 stream 结构老大 ...

  7. JDBC连接mysql,TOMCAT错误: Cannot convert value '0000-00-00 00:00:00' from column 10 to TIMESTAMP

    解决思路依据如下URL: http://blog.csdn.net/stail111/article/details/5640109 问题:MySQL数据库,如果数据库中日期字段为空为值为'0000- ...

  8. 精美实用的jQuery插件精选

    jQuery的确是一款相当强大的Javascript框架,同时jQuery的插件就多入牛毛,如果你善于收集,那么你在写前端页面的时候肯定会更加方便.本文精选了一些精美实用的jQuery插件供大家参考. ...

  9. flume-agent实例

    flume    多种适配,多样化的数据收集    核心概念        event:一条消息        client:访问者        agent:            重要组件Sour ...

  10. java--字节数组输入、输出流

    在java网络编程中,字节数组很重要,它可以传输任何资料(文本,音频,视频,图片等),因此掌握字节数组和其它数据类型的相互转化尤为重要. 示例代码: package com.lky.util; imp ...