热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

体系结构_JavaWeb前言和体系结构

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Java Web 前言和体系结构相关的知识,希望对你有一定的参考价值。 一、Web应用程序  1.1、Web程序是什么?    Web应用程序就是一般

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Java Web 前言和体系结构相关的知识,希望对你有一定的参考价值。


一、Web应用程序

  1.1、Web程序是什么?

    Web应用程序就是一般所说的网站,由服务器,客户端浏览器以及网络组成。但Web程序又不是一般意义的网站,一般的网站是提供信息服务,重在内容,程序往往比较简单,但商用的Web程序往往比较复杂,背后结合数据库等技术。

  1.2、B/S 与 C/S结构

    根据是否需要网络,程序可以分为网络程序与非网络程序。其中网络程序可分为B/S结构与C/S结构。

      C/S是指客户端(Client)/服务器(Server)模式。这个模式的客户端需要安装一个PCR程序。PCR程序负责与服务器进行数据交换。一般的网络程序都是C/S结构。比如QQ,微信,LOL等。缺点是服务器端进行升级时,客户端也要进行升级,这样会给客户端带来麻烦,也会占用资源

      B/S是指浏览器(Browser)/服务器(Server)模式。一般的网站都是B/S结构的。比如Google,Baidu。Web应用程序的访问不需要安装客户端程序,可以通过任意一款浏览器来访问Wen应用程序。当Wen应用程序进行升级时,不需要客户端进行任何改动。

   1.3 、Web访问基本原理

    技术分享图片

二、URL、URN与URI

  Web应用的文件等资源是放在服务器上的,而服务器是Internet上的主机,那浏览器想从服务器取得资源,该这么办呢,或者说浏览器到服务器的哪里取得资源?,那么就需要用到URL。

  2.1、URL

    URL:Uniform Resource Locator 统一资源定位符。URL是可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址[Baidu]。主要格式为:

      <协议>:<特定协议部分>

    协议指定了以何种方式取得资源。一些协议的例子:

         ftp(文本传输协议,File Transfer Protocol)

         Http(超文本传输协议,Hypetext Transfer Protocol)

         mailto(电子邮件)

         file(特定主机文件名)

    协议之后跟随:号,特定协议部分的格式为:

      //<用户>:<密码>@<主机>:<端口号>/<路径>

  2.2、URN

    URN:Uniform Resource Name 统一资源名称。代表某个资源独一无二的名称。

      唯一标识一个实体的标识符,但是不能给出实体的位置。系统可以先在本地寻找一个实体,在它试着在Web上找到该实体之前。它也允许Web位置改变,然而这个实体却还是能够被找到[Baidu]。

  2.3、URl

    URI: Uniform Resource Identifer 统一资源标识符。Web上地址的基本形式就是URI,它代表统一资源标识符,有两种形式,即URL与URN,URL与URN为URI的子集。

三、HTTP超文本传输协议

  3.1、HTTP是什么?

    HTTP协议是浏览器和服务器之间的应用层通信协议,它是基于TCP/IP之上的一种协议。简单来说就是浏览器和服务器之间对谈沟通的方式。

  3.2、HTTP的特性

    HTTP有两个基本但极为重要的特性:

      ①:基于请求(Request)/响应(Response)模型

        HTTP是一种基于请求/响应的通信协议,每次的联机只做一次请求/响应,是一种简单的通信协议,没有请求就没有响应。

      ②:无状态(Stateless)通信协议

        在HTTP协议下,服务器端是一个健忘的家伙,服务器响应客户端之后,就不会记住客户端的信息,更不会维护与客户端有关的状态,因此HTTP协议也称无状态的通信协议。

  3.3、HTTP请求

     浏览器在使用HTTP发出请求时,可以有多种请求方法,比如GET、POST、HEAD、PUT、DELETE等。但对于编写Servlet或Jsp而言,最常接触的就是GET和POST两种请求方法。

     请求的数据里面包含三个部分内容 : 请求行 、 请求头 、请求体

    3.3.1、GET请求

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

    

 

      

 

    

  

  






推荐阅读
  • Java实战之电影在线观看系统的实现
    本文介绍了Java实战之电影在线观看系统的实现过程。首先对项目进行了简述,然后展示了系统的效果图。接着介绍了系统的核心代码,包括后台用户管理控制器、电影管理控制器和前台电影控制器。最后对项目的环境配置和使用的技术进行了说明,包括JSP、Spring、SpringMVC、MyBatis、html、css、JavaScript、JQuery、Ajax、layui和maven等。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • 深入理解Kafka服务端请求队列中请求的处理
    本文深入分析了Kafka服务端请求队列中请求的处理过程,详细介绍了请求的封装和放入请求队列的过程,以及处理请求的线程池的创建和容量设置。通过场景分析、图示说明和源码分析,帮助读者更好地理解Kafka服务端的工作原理。 ... [详细]
  • 解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法
    本文介绍了解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法,包括检查location配置是否正确、pass_proxy是否需要加“/”等。同时,还介绍了修改nginx的error.log日志级别为debug,以便查看详细日志信息。 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了logistic回归(线性和非线性)相关的知识,包括线性logistic回归的代码和数据集的分布情况。希望对你有一定的参考价值。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • WebSocket与Socket.io的理解
    WebSocketprotocol是HTML5一种新的协议。它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送 ... [详细]
  • Go语言实现堆排序的详细教程
    本文主要介绍了Go语言实现堆排序的详细教程,包括大根堆的定义和完全二叉树的概念。通过图解和算法描述,详细介绍了堆排序的实现过程。堆排序是一种效率很高的排序算法,时间复杂度为O(nlgn)。阅读本文大约需要15分钟。 ... [详细]
author-avatar
沈巛小糖meimei昌策_247
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有