web服务是基于什么协议(web服务是什么)

web服务是基于什么协议(web服务是什么)

Web(WorldWideWeb)即全球广域网,也称为万维网,它是一种基于超文本和HTTP的、全球性的、动态交互的、跨平台的分布式图形信息系统。是建立在Internet上的一种网络服务,为浏览者在Internet上查找和浏览信息提供了图形化的、易于访问的直观界面,其中的文档及超级链接将Internet上的信息节点组织成一个互为关联的网状结构。

我们通常所说的WWW服务、Web服务,其实是一个意思,泛指通过HTTP协议传输,使用图形化界面来展示信息的一种方式。也就是俗称的网站或者网页

Web相关概念

网页(Web页面):网页,是网站中的一个页面,通常是网页是构成网站的基本元素,是承载各种网站应用的平台。通俗的说,网站就是由网页组成的。

网站(WebSite):网站,指根据一定的规则,使用HTML等工具制作的用于展示特定内容的相关网页的集合。简单地说,网站是一种通讯工具,就像布告栏一样,人们可以通过网站来发布或收集信息。网站就是一组相同所属的网页的集合

HTML(超文本标记语言):“超文本”就是指页面文本内可以包含图片、链接,甚至音乐、程序等非文字元素。是一种规范,一种标准,超文本标记语言通过标记符号来标记要显示的网页中的各个部分网页的本质是使用HTML语言编写代码所产生的文件

静态网页:指纯HTML语言编写,呈现的内容固定化的Web页面静态网页所呈现的所有内容都编写在源文件中,更改内容只能修改源代码

动态网页:除了HTML,还使用相应的动态程序序言编写的Web页面动态网页中呈现的内容一般存储在数据库中,通过程序语言来调用数据

HTTP(超文本传输协议):用于发布和接收HTML页面的协议,定义了Web客户端和服务器端的请求和应答标准默认工作在TCP80端口

HTTPS(HTTPoverSSL)基于SSL的HTTP协议,使用SSL协议来保护HTTP传输,使HTTP协议更加安全

浏览器(Browser):可以接收并解析HTML语言,使HTML能够图形化显示,并与Web服务器进行交互的应用程序

3.2.Web服务组件

web服务是基于什么协议(web服务是什么)

如图1-2,要构建一个网站,一般需要具备Web服务系统、Web服务软件、Web开发语言、数据库这四个组件。这只是比较概括性的划分了Web服务的组件,如果要细分的话,还可以细分为操作系统、存储(Web源文件和数据库)、Web容器、中间件、Web服务端语言、Web开发框架、Web应用、Web前端框架、第三方内容等组件。本课程内容不关注Web的搭建和优化,所以只按照图示组件讲解

3.2.1Web服务系统

Web作为网络服务,必然需要基于操作系统来运行和工作,这里的Web服务系统指的就是Web服务运行在哪种操作系统上

Windows作为使用最广泛的电脑端操作系统,Windows无疑是良好的运行Web服务的操作系统平台。无论是桌面版的Windows,还是Server版的Windows,都具备运行Web服务的能力,但生产环境中的Web服务更多的会选择Server版的Windows,如WindowsServer2003、WindowsServer2008、WindowsServer2012等Windows拥有优秀的图形化界面处理能力,也成为了众多Web初学者入门会选择的操作系统

LinuxServer端的操作系统,无疑是Linux的天下。基于开源、高效、安全等优点,Linux成为了生产环境中搭建Web服务的首选操作系统常见的有CentOS、RatHat、Ubuntu,互联网中几乎99%的Web服务都运行在Linux系统之上

3.2.2Web服务软件

Web服务软件指Web服务器,也称为HTTP服务器,是响应来自浏览器的HTTP请求,并且发送出网页文件的Web服务端软件。想要把自己的网站发布到网络中让用户可以访问,就需要Web服务软件来搭建网站

IIS(InternetInformationService)

web服务是基于什么协议(web服务是什么)

IIS是微软在Windows操作系统中自带的Internet服务器软件,提供包括Web、FTP、SMTP等服务器功能,IIS也只能运行在Windows中

IIS在几乎所有版本的Windows中都自带了,无需独立下载,全图形化界面操作,继承了Windows的操作风格,使用非常简单便捷

IIS支持发布静态网站,以及ASP、ASP.NET的动态网站,使用相应中间件还可以支持发布PHP的动态网站

IIS在安全性上一直被业界所诟病,著名的IIS6.0版本中的文件解析漏洞可以让黑客非常轻松的绕过网站限制,上传WebShell,来获得系统权限。直到IIS7.5版本以后情况才有所好转

Apache

web服务是基于什么协议(web服务是什么)

Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。同时Apache音译为阿帕奇,是北美印第安人的一个部落,叫阿帕奇族,在美国的西南部。也是一个基金会的名称、一种武装直升机等等。

虽然Apache可以非常完美的运行在各种操作系统中,但是绝大多数的Apache还是运行在Linux之上,Apache也成为了众多Linux发行版本的自带应用

严格来说,Apache只支持发布静态网站、但可以通过中间件来支持PHP,ASP、ASP.NET、JSP,但Apache仍然被大多数用来发布PHP网站

Apache虽然也存在安全性的漏洞,但由于其开源性,漏洞的修补和版本的更新速度非常快,相比IIS,Apache会更加安全

Nginx

web服务是基于什么协议(web服务是什么)

Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

Nginx只能安装在Linux系统中,但是也有Windows的移植版

Nginx是Apache的最佳替代品,相比Apache,Nginx在处理高并发业务时,资源消耗更低,性能更强

Nginx本身只是一款反向代理软件,只支持HTML静态页面,需要通过各种中间件来支持其他动态页面

虽然从性能上来讲,Nginx要优于Apache,但Nginx也存在模块少、BUG多,稳定性较差的缺点

Tomcat

Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。

Tomcat可以作为一个Web服务软件,同样也可以作为Apache的一个中间件来使Apache可以支持JSP站点

Tomcat可以运行在Windows和Linux中

Weblogic

Weblogic是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。

3.2.3Web开发语言

Web开发语言是指用于编写动态网页的语言,目前几乎所有的网站都是动态网页技术编写的。就算很多网站浏览时发现URL后缀是html,也是通过后台做了动转静。

PHP(超文本预处理器)PHP是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。PHP是目前使用最广泛的Web开发语言

ASP(动态脚本页面)是微软公司开发的服务器端脚本环境,可用来创建动态交互式网页并建立强大的web应用程序。当服务器收到对ASP文件的请求时,它会处理包含在用于构建发送给浏览器的HTML网页文件中的服务器端脚本代码。除服务器端脚本代码外,ASP文件也可以包含文本、HTML(包括相关的客户端脚本)和com组件调用。ASP简单、易于维护,是小型页面应用程序的选择。ASP语言并不面向对象,开发难度相对较大,一般不用于大中型网站

ASP.NETASP.NET又称为ASP+,不仅仅是ASP的简单升级,而是微软公司推出的新一代脚本语言。ASP.NET基于.NETFramework的Web开发平台,不但吸收了ASP以前版本的最大优点并参照Java、VB语言的开发优势加入了许多新的特色,同时也修正了以前的ASP版本的运行错误。一般多见于政府机构和国企的网站

JSP(JAVA服务器页面)JSP技术有点类似ASP技术,它是在传统的网页HTML文件中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为.jsp。用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。

CMS(内容管理系统)可以把CMS理解为网站模板,允许用户根据统一的网站模板,快速生成自定义的个人或企业站点;CMS提供常见企业网站所需的的信息展示、信息更新、信息删除、信息管理等功能,包括非常详细的网站风格自定义设置。CMS有各种语言编写的,常见的有ASP、PHP、ASP.NET常见的有动易CMS,织梦CMS,PHPcms等

3.2.4数据库

数据库(Database),即为数据的仓库,用于存储和记录数据信息。在动态网站的架构中,页面展示的内容并不是写在页面中,而是存储在数据库中,Web服务通过动态语言来调用数据库中的数据,产生静态页面后再传递至客户端浏览器。这样就避免了网站内容更新时去修改源文件。只需要更新数据库就行了

MySQL

MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle旗下产品。MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS(RelationalDatabaseManagementSystem,关系数据库管理系统)应用软件。

目前在Web架构中使用最广泛的数据库系统

SQLServer

SQLServer是由微软开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。MicrosoftSQLServer近年来不断更新版本,1996年,Microsoft推出了SQLServer6.5版本;1998年,SQLServer7.0版本和用户见面;SQLServer2000是Microsoft公司于2000年推出,目前最新版本是2017年份推出的SQLSERVER2017。

Oracle

Oracle是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的适应高吞吐量的数据库解决方案。

Access

MicrosoftOfficeAccess是由微软发布的小型关系数据库管理系统。它结合了MicrosoftJetDatabaseEngine和图形用户界面两项特点,是MicrosoftOffice套件的程序之一。

数据库管理工具

PhpMyAdmin:一个以PHP为基础,以Web方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web图形化界面管理MySQL数据库。

Navicat:一套快速、可靠并价格相当便宜的数据库管理工具,专为简化数据库的管理及降低系统管理成本而设。它的设计符合数据库管理员、开发人员及中小企业的需要。

3.3Web服务常见架构

Web服务架构指选择什么开发语言+Web服务软件+数据库+操作系统的组合来搭建Web服务,虽然严格来说,所有的组件都可以自由组合,但是因为某几种常被放在一起使用,所以拥有了越来越高的兼容度,逐渐共同组成了一个个强大的Web应用程序平台

3.3.1LAMP

Linux+Apache+MySQL+PHP

被誉为Web服务黄金组合,适用于大型网站架构,稳定性高,常见于企业网站。大多数网站都采用的该架构

3.3.2LNMP

Linux+Nginx+MySQL+PHP

使用Nginx来取代Apache,对性能有较高要求的Web站点可以选择这种架构组合

3.3.3WAMP

Windows+Apache+MySQL+PHP

把Apache放在Windows操作系统中运行,适用于中小型网站架构,易于管理,常见于教育(大学等)、政府事业单位

3.4其他

IIS+ASP+Access:大多用在学校、地方政府等站点

JSP+Tomcat+Oracle:大多用在企业内部ERP系统、金融机构站点

更多服务器知识文章推荐:
分享到 :
相关推荐

vps租用与服务器租用的区别(vps租用的优缺点)

搭建网站、部署应用。需要选择托管服务。包括VPS、云服务器或独立服务器等。实际上。你...

宝塔面板数据库管理密码错误的解决方法(宝塔面板数据库管理密码错误的解决方法是什么)

我们在使用宝塔面板管理服务器时。有时会遇到宝塔提示数据库管理密码错误。这是什么原因呢...

Kamatera VPS怎么样 Kamatera VPS优惠方案推荐

KamateraVPS怎么样?Kamatera是一家全球云管理平台服务提供商。目前[...

Vultr VPS教程:后台控制面板Overview篇

VultrVPS的控制面板功能比较多。今天主要来和大家说说基础篇。关于Vultr的[...

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注