浅谈web服务_关于wed服务的文章-程序员宅基地

技术标签: web  前端  

转自:微点阅读   https://www.weidianyuedu.com/content/5517339261757.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服务的发展过程,包括技术发展的一个简单介绍。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ysds20211402/article/details/122491768

智能推荐

Oracle篇—普通表迁移到分区表(第五篇,总共五篇)_oracle 将现有表中的数据转移到间隔分区表中-程序员宅基地

文章浏览阅读1.6k次,点赞38次,收藏20次。通过expdp/impdp将普通表数据迁移到分区表。这种属于非在线方式,需要停止相关表的业务。通过SQL语句insert into...select插入的方式将普通表数据迁移到分区表。这种属于非在线方式,需要停止相关表的业务。通过dbms_redefinition在线重定义的方式将普通表数据迁移到分区表。这种属于在线方式,不需要停止相关表的业务,可以进行在线迁移。_oracle 将现有表中的数据转移到间隔分区表中

Ubuntu上安装ffmpeg_ffmpeg is already the newest version (7:4.2.7-0ubu-程序员宅基地

文章浏览阅读2w次,点赞13次,收藏69次。简易安装方式安装sudo apt-get install ffmpeg版本查看ffmpeg -vffmpeg version 3.4.6-0ubuntu0.18.04.1 Copyright (c) 2000-2019 the FFmpeg developers built with gcc 7 (Ubuntu 7.3.0-16ubuntu3)卸载此卸载方法只适用于刚刚那条极简安装指令,如果通过其他方法安装,该指令不适用sudo apt-get purge ffmpeg以上._ffmpeg is already the newest version (7:4.2.7-0ubuntu0.1).

JVM(一) java中堆和栈的区别-程序员宅基地

文章浏览阅读1.8k次,点赞2次,收藏8次。第一 java内存的划分和使用 -- 内存:Runtime Data area 运行时数据区在整个程序执行过程中,JVM会用一段空间来存储程序执行期间需要用到的数据和相关信息,这段空间一般被称作为Runtime Data Area(运行时数据区),也就是我们常说的JVM内存 1.栈(stack)与堆(heap)都是Java用来在Ram(随机存储内存)中存放数据的地方。Java自动...

Docker安装配置Oracle详细教程(以作持久化处理)_docker 安装oracle-程序员宅基地

文章浏览阅读4.4k次。再修改文件之前,输入hostname,回车后会显示当前的主机名。注意此处的localhost要用之前查询的hostname替换。如果此时监听报错,则进行第九步。_docker 安装oracle

惊呆:程序员5月平均工资出炉,你拖后腿了吗?-程序员宅基地

文章浏览阅读724次。转载整理来自:猿大侠在IT界,程序员的工资一直是备受关注的,在世人的眼里,觉得程序员都是一个高薪的存在,但是真的是这样的吗,也不完全是,并不是所有的程序员工资都是一样的,同为程序员,薪资..._北京程序员5月平均工资

微信企业号开发之自定义菜单_企业微信开发应用管理菜单-程序员宅基地

文章浏览阅读6.7k次。一、登录到开放平台,进入开发者中心。二、点击自定义菜单选择创建菜单,发现需要 access_token 和 应用 id。三、去获取 access_token,应用 id 在 微信企业号开发平台《应用中心》的对应应用里。但是获取 access_token 还需要 corpid 和 corpsecret。四、获取 access_token 还需要 corpid 和 corpsecret。要去权限管理创建_企业微信开发应用管理菜单

随便推点

wpf的listview编辑指定列_WPF:ListView列的动态添加和删除 | 学步园-程序员宅基地

文章浏览阅读2.1k次。简介昨天写了篇关于ListView列排序的文章:一种简单易用的WPF ListView点击列排序的方法,今天我们再来看看ListView动态添加或删除列的小方法。效果就类似下图,你已经定义好一个ListView,使用该方法可以根据ListView的列动态生成一个可以修改的列选项列表,通过修改列表的属性,ListView的列可以被动态添加或者删除。使用方法该方法的所有功能都实现在一个类型中:Colu..._wpf 列表编辑

CentOS6.3+JDK7+Tomcat7.0+MySQL5.5 开发环境的搭建-程序员宅基地

文章浏览阅读536次。一、JDK7的安装:说明:CentOS6.3默认情况下,会安装OpenOffice之类的软件,这些软件需要Java的支持,默认会安装JDK的环境,若需要特定的Java环境,最好将默认的JDK彻底删除。1.查看JDK版本信息:[feng@localhost ~]$ java -versionjava version "1.6.0_24"OpenJDK Runtime Envi

THREEJS - 模型居中_setfromobject-程序员宅基地

文章浏览阅读4.5k次,点赞9次,收藏16次。在使用THREEJS的过程中,我们常常会遇到关于模型的处理,有时候建模的同事会帮我们将模型归零后给我们,有时候是没有归零的,但这时候需要将模型在场景中居中展示。这里采用的办法是包围盒的方式,具体代码如下:// 将模型的中心点设置到canvas坐标系的中心点,保证模型显示是居中的,object就是操作的目标模型let box = new THREE.Box3().setFromObject(object); // 获取模型的包围盒let mdlen = box.max.x - box.min.x_setfromobject

第一次做微信公众号前端开发个人总结_公众号前端怎么写项目职责-程序员宅基地

文章浏览阅读2.2k次,点赞4次,收藏27次。第一次进行前端开发,经验总结,个人记录使用语言 HTML5+CSS+PHP(不过由于需求方要求比较简单 并没有使用上PHP)使用框架:WEUI项目内容:微信公众号页面总结:1.菜鸟教程会讲述很多基本语法,所以html5、css、php等语言一些基本内容不懂可以去查阅学习一下,里面还有案例。附上链接:https://www.runoob.com/2.善于使用框架。WE..._公众号前端怎么写项目职责

HBase查找一条数据的过程_hbase 前缀查询取第一条-程序员宅基地

文章浏览阅读3.5k次。HBase中的Client如何路由到正确的RegionServer在HBase中,大部分的操作都是在RegionServer完成的,Client端想要插入,删除,查询数据都需要先找到相应的 RegionServer。什么叫相应的RegionServer?就是管理你要操作的那个Region的RegionServer。Client本身并 不知道哪个RegionServer管理哪个Region,那么..._hbase 前缀查询取第一条

MYSQl基础操作命令合集与详解_mysql在查询结果中进行二次查询-程序员宅基地

文章浏览阅读928次,点赞19次,收藏21次。用于定义和管理数据库结构,包括创建、修改和删除数据库对象。_mysql在查询结果中进行二次查询