我们知道应用程序有两种模式,C/S模式和B/S模式。C/S模式是客户端/服务器模式,这类

应用程序一般独立的运行。B/S模式是浏览器/服务器模型,需要借助浏览器来运行。

web应用程序一般就是B/S模式的,所谓的web应用程序就是基于HTTP等协议,通过web访问

应用程序。

通过对两者的对比简单的谈谈B/S的优缺点:

B/S优势:

1、开发成本低

2、管理和维护相对简单

3、产品升级便利(不需要客户端的维护)

4、用户使用方便,容易上手。

5、出现故障的概率较C/S小

B/S不足:

1、通过web进行访问安全性不足

2、客户端不能随心变化

3、浏览器产品过多,网页开发的时候兼容性问题较为严重。

Web应用工作原理
                         了解了Web应用程序的相关概念之后我们来看看web应用程序的工作原理

通过上图可以服务器通过HTTP协议获取客户端请求信息,并向客户端返回处理之后的响应。

HTTP协议通信原理
                        HTTP协议是位于OSI七层网络模型中的最上层。它是一种为操作兄和应用程序提供 访问网络接口的通信协议。

在web应用中,浏览器端发送请求数据包,服务器端返回响应数据包来实现web应用程序的工作。当服务器向客户端返回响应后,整个连接就会关闭,是一种无状态的连接。

动态网页技术
                           在上述web应用工作的原理中,我们通过HTTP协议访问一个在服务端存在的文件,服务器可以找到该文件并将其内容封装到HTTP请求体重,以消息体的形式返回给客户端。不过这种方式无法和后台数据库进行交互,我们只能访问静态的页面。为了解决这种办法,动态网页技术也就诞生了。其解决的办法就是为web服务器配置一个辅助的应用程序服务器,完成用户请求的动态生成。

最早期的动态网页技术就是CGI(common gateway interface)

CGI可以使用不同的程序语言来生成动态的文件,但是CGI程序会为每一个请求开启一个进程

对于服务器的消耗比较的大。解决这一问题可以使用多线程的方式,为每一个请求开启一个线程,减少了服务器端的资源消耗。Java方面解决这个问题就产生了Servlet技术。

Servlet(web容器管理)
                          servlet是与平台无关的服务器端组件,他是运行在web容器中例如Tomcat。servlet和客户端的通信采用的是“请求/响应”模式,Servlet组件主要负责请求和响应,例如用户登录:接受浏览器发送的登录信息,数据库后台的验证。之后以响应的形式返回处理的结果。

Servlet容器,这里以Tomcat为例,Tomcat处理servlet和客户端的通信,调用serlvet的方法。之后Tomcat容器和web服务器之间进行数据交互,由web服务器将结果返回给客户端。

Servlet规范和Servlet容器
                           servlet容器负责管理和运行servlet,从起初的设计上可以知道他是支持多线程的。

负责管理servlet的生命周期。并且可以和web服务器进行通信。使用servlet容器能够

提供一个较好的安全性,隐私数据的访问可以得到限制。有了servlet容器的支持后,coder

能够将更多的精力放在对业务逻辑的处理上。

需要说明的是现阶段有着各式的servlet容器,这就产生了一个规范性的问题,只有对servlet

容易有一个规范,web系统才能在不同的web容器上运行。

常用的servlet容器有Tomcat、JBoss、webLogic等,后续的学习中选用Tomcat。

Servlet容器在网络中的位置
                          以Tomcat为例,Tomcat为每个对servlet的请求都开启一个线程,tomcat同时负责管理

servlet的生命周期和他的运行。

在处理一个请求的时候,tomcat负责将请求以对象的形式(Request)传递给servlet,当servlet处理请求后(Servlet运行结束),由tomcat刷新响应对象(Response),并将该对象返回给web服务器,由web服务器返回给客户端。

转载于:https://blog.51cto.com/arlen99/1745119

Web应用工作原理、动态网页技术相关推荐

  1. java 网页应用 原理_【转载】Web应用工作原理

    问题描述: Web应用工作原理 问题解决: 前言 什么是web应用程序?web应用程序又是如何进行工作的呢?什么是动态网页技术?又有 哪些动态网页技术呢?这次这篇文章需要探求总结的. Web应用 我们 ...

  2. 计算机二级web题目(6)--动态网页技术概述

    1 [单选题] 下列不属于动态网页格式的是(D). A. ASP B. JSP C. ASPX D. VBS 2 [单选题]相对比较早出现的服务器端动态网页技术是(B). A. ASP B. CGI ...

  3. Web服务器工作原理详解(基础篇)

    概述:Web服务器概念较为广泛,我们最常说的Web服务器指的是网站服务器,它是建立在Internet之上并且驻留在某种计算机上的程序.Web服务器可以向Web客户端(如浏览器)提供文档或其他服务,只要 ...

  4. WebRTC源码研究(4)web服务器工作原理和常用协议基础

    文章目录 WebRTC源码研究(4)web服务器工作原理和常用协议基础 前言 做WebRTC 开发为啥要懂服务器开发知识 1. Web 服务器简介 2. Web 服务器的类型 3. Web 服务器的工 ...

  5. WebRTC源码研究(4)web服务器工作原理和常用协议基础(转载)

    前言 前面3篇博客分别对WebRTC框架的介绍,WebRTC源码目录,WebRTC的运行机制进行了介绍,接下来讲解一点关于服务器原理的知识.后面博客会写关于WebRTC服务器相关的开发,目前git上面 ...

  6. ASP PHP和JSP三大动态网页技术

    ASP.PHP.JSP三者都是面向Web服务器的技术,客户端浏览器不需要任何附加的软件支持.程序代码的执行结果被重新嵌入到HTML代码中,然后一起发送给浏览器.在ASP.PHP.JSP环境下,HTML ...

  7. 三种动态网页技术的简要分析

    动态网页可以根据用户的选择.点击.输入等操作而迅速的响应和动态的改变.动态网页技术可以非常方便地处理用户的请求,在Web开发中它们的地位是非常重要的.目前比较流行的动态网页技术有JSP.ASP.PHP ...

  8. 记一次失败的幸运召唤师抽奖之 动态网页技术

    动态网页是与静态网页相对应的,也就是说,网页 URL不固定,能通过后台与用户交互.完成用户查询,提交等动作.常用的语言有ASP,PHP,JSP等. 中文名 动态网页技术 也就是说 能通过后台与用户交互 ...

  9. 动态网页技术的发展历史

    诞生的历史背景 最初在浏览器中主要展现的是静态的文本或图像信息,GIF图片则第一次为HTML页面引入了动态元素.不过人们已经不仅仅满足于访问放在Web服务器上的静态文件,1993年CGI(Common ...

最新文章

  1. dom vue 加载完 执行_前端面试题——Vue
  2. Sublime 快捷键及使用技巧
  3. MongoDB ( 五 )高级_索引
  4. ngx_lua_API 指令详解(三)怎样理解 cosocket指令
  5. 细思极恐,你真的会写 Java 吗
  6. oracle导出表格式csv,Oracle数据库文件导出为CSV格式的方法
  7. linux下jdk的安装和配置
  8. java 程序语言中的LinkedList 集合基本方法演示
  9. WPF 中出现不同线程间操作的解决
  10. python培训内幕_刚刚,Python 内幕被爆出!老码农:没控制住,心态已崩!
  11. RESTful登录设计(基于Spring及Redis的Token鉴权)
  12. new Option() 创建一个option标签
  13. laravel框架查询条件
  14. 在 CentOS 中部署 KMS 服务器(vlmcsd)
  15. 科普 | 一片晶圆可以生产多少芯片?
  16. 博主自传——蒟蒻的OI之路
  17. element-ui el-date-picker日期选择器 value-format问题
  18. 使用当前主流的github管理项目代码(记我的第一次项目创建)
  19. Rosalind Java|Finding a Spliced Motif
  20. Java类型转换(自动类型转换+强制类型转换)

热门文章

  1. 华为多臂路由_[分享]华为 AR路由 策略路由 多WAN环境下指定出口 | 霸王硬上弓's Blog...
  2. eclipserunas里没有选项_轻松开启“开发人员选项”,优化手机设置
  3. 防震计算机主机,一种防震计算机主机的制作方法
  4. discuz php 扩展环境 不支持,配置php扩展memcache
  5. nginx做代理服务
  6. [Ext JS6]Microloader - 微加载器
  7. Eclipse插件安装全方式
  8. [Web Chart系列之五] 图形布局-Circle Layout 之实现
  9. 网页编辑PHP变量,编辑文件中的php代码和变量
  10. ec11编码器c语言程序,EC11编码器识别程序——有时不准确,请达人指点