看了很多文献资料,自己总结了一些内容,如有不足欢迎评论或者私信交流哦
起个小头,不妨神经大条一点认识web服务器,我们可以把它理解成一种托管平台,我们将文件通过某种方式上传,而web服务器又可以接入互联网,并且与其他连接到互联网的设备进行数据的交互。
上传了之后,就是访问托管文件的问题,一个HTTP服务器存储了许多网站域名,用户(说浏览器可能更合适)通过HTTP协议给服务器一个URL,服务器就根据URL找到资源,并返回给浏览器显示。具体过程可以看下图。
这大概就是我对服务器的一些入门理解。
web概述
web服务器可以指代硬件和软件,或者是协同工作的整体。
- 硬件:web服务器是一台存储了web服务器软件以及网站的组成文件(HTML等)的计算机
web服务器软件通过HTTP等协议,把逻辑暴露给客户端应用程序,客户端使用该逻辑就像调用对象的一个方法,只不过是通过接口的方式 - 软件:web服务器包括控制网络用户如何访问托管文件的几个部分。是可以向发出请求的浏览器被动提供文档的程序。
为什么被动呢,不是因为我们的服务器是受,是因为它需要先接受到请求(request),才能做出响应(response),URL就藏在请求中。
我相信很多学开发的uu都有一个梦想–创建一个属于自己的网站,我们需要发布它,我们就不可避免的需要一个静态或动态的服务器。(如何理解静态和动态下一篇博客会进行讨论)
让我们更加深入的探索这个过程,了解几个细节
- 托管文件:
前几天工作室的学长给了我一个电脑服务器的账号以及信息,说我可以把它当作一个网盘来存储信息。这时候我就思考了,同样是托管文件,我完全可以使用自己的计算机托管这些文件,那为什么我们需要在阿里云等托管提供者上选择合适的服务呢?我总结出了以下原因- 专用的web服务器可以一直启动和运行,并且一直连接互联网
- 专用web服务器由第三方提供者维护
- 二者通过HTTP交流
- 文本化:明文发送内容,相关的命令都是纯文本的,且人类可读(有好有坏吧,后面可以专门写一篇讲讲HTTP与HTTPS)
- 无状态(stateless):服务器不能记住你输入的密码以及你的状态,你需要一个应用服务器来进行这样的工作
- 除了开头说的HTTP起到的媒介作用,细节上,HTTP还为客户和服务器之间提供清晰的规则,具体需要了解HTTP的相关内容
目前最主流的三个Web服务器是Apache、Nginx、IIS。
Web服务器的一大发展趋势:从HTML到XML
标准通用标记语言的子集—XML 可扩展标记语言(extensible Markup Language)
痛点:HTML不利于计算机程序的理解;由于操作系统与数据库之间的差异,不同系统及应用层面之间想要相互理解对方的数据格式是相当困难的,这就需要一种新技术或标准能够将最初保存在数据库服务器中的原始数据结构在不同的系统层面共享,而这种技术就是XML。
W3C对XML的描述:XML描述了一类被称为XML文档的数据对象,并部分描述了处理他们的计算机程序的行为。像HTML一样,XML也是一种基于文本的标记语言,二者的不同在于:XML可以让我们根据要表现的文档,自由的定义标记来表现具有实际意义的文档内容