当前位置: 首页 > article >正文

通俗讲解:什么是Web

转自:微点阅读 https://www.weidianyuedu.com/content/1017370521955.html

简单的说Web就是为用户提供的一种在互联网上浏览信息的服务,Web服务是动态的、可交互的、跨平台的和图形化的。

Web服务为用户打开了一扇获取互联网服务的大门,这些服务不仅仅包括信息浏览服务,也包括各种交互式服务,包括聊天、购物、学习等等内容,可以说Web的出现释放了互联网巨大的力量。

Web应用开发也经过了几代技术的不断发展,目前Web开发依然是最重要的开发内容之一。说到Web开发就一定会涉及到Web技术的基本呈现方式,基础的技术包括超文本标记语言(HTML)和HTTP协议,HTML是一种呈现数据的方式(给人看的),而HTTP则是一组通信的标准(语法、语义、时许),可以简单的理解为HTTP携带HTML。

为了能够更全面的了解Web,下面简单的梳理一下Web发展的历史,介绍一下其中涉及到的技术。

早期的Web服务比较简单,用户发出请求到达服务器之后,服务器给出对应的回应,用户通过浏览器把回应的内容(HTML)解析(呈现)出来,看一个图:

图中有几个重要的元素需要简单的解释一下,Browser代表浏览器,浏览器是发送消息和接受消息的终端,是用户与Web服务交互的基本手段。用户发送请求的内容会封装成request对象然后发送到服务端,ruquest中封装了用户的元信息和提交的数据信息,其中元信息就是用户的基本信息,包括浏览器版本号、服务端口、使用的操作系统等内容。

httpd是处理HTTP请求的服务(进程),httpd会启动相应的服务来处理用户的请求,往往是把服务端对应的文件(HTML)封装成response对象并返回给用户,用户的浏览器解析出response中的内容并最终呈现给用户。整个过程需要了解浏览器、服务器、资源(文件)三者之间的关系,以及各自所部署的位置。

早期的Web应用多以静态资源为主,把提供静态资源服务的Web服务称作为Web Site(网站),为了丰富Web服务,定义了能够进行动态服务的Web Application,看一个图:

Web Application的功能就非常强大了,它能够动态处理业务逻辑。这里面新增加了两个重要的角色,一个是CGI(公共网关接口),另一个是Database(数据库)。CGI提供业务处理能力,数据库提供数据存储服务。CGI在服务端的执行过程如图所示:

CGI的出现解决了Web动态交互的问题,可以说Web服务的形式就更加丰富了,也由此开启了一个Web开发的大时代。

虽然CGI的方式能解决动态交互问题,但是CGI自身也有诸多问题,比如扩展性差、处理能力不强、依赖平台、重量级等,此时在Web领域推出了一个技术就是Java Web技术,Java Web技术能够有效解决这些问题,看一个处理流程图:

通过与CGI的对比能够看出,Servlet技术的资源消耗更少。由于Java Web表现出来的优秀性能,所以在Web开发领域得到了广泛的应用。后来推出的JavaEE技术更是进一步的解决了性能问题,为Web服务构建大型应用奠定了基础,看一个图:

虽然目前Java Web技术已经有了更多的方案,比如轻量级处理方案(Spring),但是Java Web却是目前大型互联网平台的常见解决方案,看两个图:

以上就是Web服务的发展过程,包括技术发展的一个简单介绍。

我做Java Web开发多年,目前也在带Java开发团队,我会陆续在头条写一些关于Web技术方面的文章,对Web技术感兴趣的朋友可以关注我的头条号,相信一定会有所收获。

http://www.lryc.cn/news/2417853.html

相关文章:

  • LTP简介
  • 排序算法——七种排序算法汇总,详细(Java)
  • 算法基础2 —— OJ入门以及暴力枚举
  • 揭秘!“真假美猴王事件”其实是如来的一次运维事故
  • Java面试题大全带答案
  • ![CDATA[]]介绍及使用方法
  • Vue模块化-module
  • 动态ip和静态ip有什么区别?
  • Fullcalendar在Vue中的一些使用心得
  • static_cast用法
  • 【001 操作系统】什么是线程、进程?线程进程的区别是什么?
  • 全面解读:大厂牛人详解《数据结构与算法》,附源码笔记,让你轻松掌握核心知识
  • npm 安装淘宝镜像最新2023、nvm安装node报错
  • 2024年全球50家最佳网络安全公司
  • Ubuntu 安装和配置 SSH 服务的简易教程
  • equalsignorecase 和equals的区别
  • NodeJS最新安装和环境配置教程+版本管理(超详细)
  • codec基础知识的学习
  • lwip网络协议基础介绍
  • 程序员的福音—Zeal
  • VMware 安装 CentOS7 图文教程(超详细)
  • 数据平台建设
  • 一文读懂:全网都在说的AIGC到底是什么?
  • 【项目管理】如何开展高质量的团队管理
  • 【正则化的理解】
  • 从头开始学MySQL-------存储过程与存储函数(1)
  • Linux--uboot移植(二)新UBOOT配置
  • 通信协议:HTTP知识点总结
  • VO、DTO、BO、PO、DO、POJO 数据模型的理解和实际使用
  • 360影视大全 python_「www.dy2018.com」python爬取电影天堂(www.dy2018.com)所有视屏的所有链接 - 金橙教程网...