服务器和域名之间有什么联系呢?
原创

服务器和域名之间有什么联系呢?

好文

热门回答:

域名是网络主机的别称或者叫代号。服务器的理解有两种。1.一台硬件服务器。例如:imb的刀片机。2.部署在硬件服务器上的软件应用服务器。例如:apache、nginx、ftp等。从你问的问题来看。你应该指的是软件服务器。每台网络主机或者硬件服务器必须有一个ip地址才能被网络上的其它主机访问。网络主机间是靠ip地址通讯的。

域名就是这个ip的代号。

为什么需要域名呢?就是便于人去识记。方便人去访问网络主机提供的服务。

一个域名可以对应多个应用服务器。一个硬件服务器也可以有多个域名指向。这个根据你的实际需要可以配置。

域名和ip地址之间的转化。需要域名服务器去转化。所以。我们去域名服务商购买域名的时候。其实就确定了由哪台域名服务器去解析。

一个顶级域名下。我们又可以建立二级域名。每个二级域名可以对应一台网络主机。总之。域名与服务器之间。是多对多的关系。希对你有帮助。



其他观点:

哥们问对人了。本人小小的码农一名

Web服务器也被称为HTTP服务器。它通过HTTP协议与客户端通信(客户端通常指的是Web浏览器。手机的客户端也是浏览器实现的)

TCP/IP协议(来源于百度百科):Transmission Control Protocol/Internet Protocol的简写。中译名为传输控制协议/因特网互联协议。又名网络通讯协议。是Internet最基本的协议、Internet国际互联网络的基础。由网络层的IP协议和传输层的TCP协议组成。TCP/IP 定义了电子设备如何连入因特网。以及数据如何在它们之间传输的标准。协议采用了4层的层级结构。每一层都呼叫它的下一层所提供的协议来完成自己的需求。通俗而言:TCP负责发现传输的问题。一有问题就发出信号。要求重新传输。直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台联网设备规定一个地址。

HTTP协议(来源于百度百科):超文本传输协议(HTTP。HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。1960年美国人Ted Nelson构思了一种通过计算机处理文本信息的方法。并称之为超文本(hypertext),这成为了HTTP超文本传输协议标准架构的发展根基。Ted Nelson组织协调万维网协会(World Wide Web Consortium)和互联网工程工作小组(Internet Engineering Task Force )共同合作研究。最终发布了一系列的RFC。其中著名的RFC 2616定义了HTTP 1.1。

Web服务器的工作的原理:

客户端通过TCP/IP协议建立到服务器TCP连接

客户端想服务器发送HTTP协议请求包。请求服务器里的资源文档

服务器向客户端发送发送HTTP协议应答包。如果请求的资源包含有动态语言的内容。那么服务器会调用动态语言的解析引擎负责处理动态内容。并将处理得到的数据返回给客户端

客户端与服务端断开。由客户端解释HTML文档。在客户端屏幕上渲染图形结果

需要注意的是:客户端和服务器之间的通信是非持久连接的。也就是当服务器发送了应答后就与客户端断开连接了。等待下一次请求。URL和DNS解析

URL(Uniform Resource Locator)是“统一资源定位符”的英文缩写。用于描述一个网络上的资源

URL由三部分组成:资源类型、存放资源的主机域名、资源文件名。

URL的一般语法格式为:(带方括号[]的为可选项):scheme://host[:port#]/path/.../[?query-string][#anchor]

DNS解析

DNS(Domain Name System)是域名系统的英文缩写。是一种组织成域层次结构的计算机和网络服务命名的系统。它用于TCP/IP网络。它从事将主机名或者域名转换成为实际的IP地址的工作。NDS就是一位翻译官

更加详细的工作流程如下:

1、在浏览器中输入'www.xxx.com'域名。操作系统会检查自己本地的hosts文件是否有这个网址映射的关系。如果有机会调用这个IP地址映射。完成域名解析(这里有个骚操作。在双十一的时候。把本地的hosts的文件指向你自己的静态页面。随便写个404的页面。告诉你女朋友说。服务器挂了。买不了。哈哈哈哈哈哈☺)

2、如果没有这个域名的映射。就会查找本地的DNS解析器缓存。是否有这个网址映射的关系。如果有。直接返回。完成域名解析。

3、如果于本地DNS解析器缓存都没有相应的网址映射关系。首先会找参数中设置的首选的DNS服务器(有时候我们翻墙就要改动这里)。本地DNS服务器。此服务器收到查询时候。如果要查询的域名。它包含本地配置区域资源中。则返回解析结果给客户机。完成域名解析。这个解析具有权威性

4、如果要查询的域名。不由本地DNS服务器区域解析。但该服务器已经缓存了此网址的映射的关系。则调用这个IP地址映射。完成域名解析。此解析不具有权威性

5、如果本地DNS服务器本地区域文件与缓存解析都失效。则根据本地DNS服务器设置(是否设置了转发器)进行查询。如果没有使用转发模式。本地的DNS就把请求转发到根DNS服务器。根服务器收到请求了会去判断这个域名(.com)是谁来授权管理。并会返回一个负责该顶级域名服务器的一个IP。本地服务收到服务器的IP信息了。将会联系负责的这台服务器。这台服务器负责域的服务器收到请求了。如果自己无法解析。它就会找一个管理域下一级DNS服务器地址(jianshu.com)给本地的DNS服务器。当本地的DNS服务器收到这个地址后。就会找,重复上面的动作。进行查询。直到找到这个地址。

6、如果用的转发的模式。此DNS服务器就会把这个请求转发至上一级DNS服务器。由上一级服务器进行解析。如果上一层服务器不能解析。或者是根DNS服务器吧请求转至上上级。不管本地DNS服务器用的是转发。还是根提示。左后都是把结果返回给本地DNS服务器。由此DNS服务器在返回给客户机

所谓递归查询过程:就是 “查询的递交者” 更替,查询提交者不断的更变,

而迭代查询过程: 则是 “查询的递交者”不变。

举个例子来说。你想知道某个一起上法律课的女孩的电话。并且你偷偷拍了她的照片。回到寝室告诉一个很仗义的哥们儿。这个哥们儿二话没说。拍着胸脯告诉你。甭急。我替你查(此处完成了一次递归查询。即。问询者的角色更替)。然后他拿着照片问了学院大四学长。学长告诉他。这姑娘是xx系的;然后这哥们儿马不停蹄又问了xx系的办公室主任助理同学。助理同学说是xx系yy班的。然后很仗义的哥们儿去xx系yy班的班长那里取到了该女孩儿电话。(此处完成若干次迭代查询。即。问询者角色不变。但反复更替问询对象)最后。他把号码交到了你手里。完成整个查询过程。

通过上面的步骤。最终获取IP地址。也就是浏览器最后发起请求的时候基于IP来和服务器做信息交换的

根服务器主要用来管理互联网的主目录。全世界只有13台(这13台根域名服务器名字分别为“A”至“M”)。1个为主根服务器在美国。其余12个均为辅根服务器。其中9个在美国。欧洲2个。位于英国和瑞典。亚洲1个位于日本。 [1]

HTTP协议详解

HTTP是一种让与浏览器(客户端)通过,它建立在之上。一般采用。

它是一个请求、响应协议--客户端发出一个请求。服务器响应这个请求。

在HTTP中。客户端总是通过建立一个连接与发送一个HTTP请求来发起一个事务。

服务器不能主动去与客户端联系。也不能给客户端发出一个回调连接。客户端与服务器端都可以提前中断一个连接。例如。当浏览器下载一个文件时。你可以通过点击“停止”键来中断文件的下载。关闭与服务器的HTTP连接。

HTTP协议是无状态的。同一个客户端的这次请求和上次请求是没有对应关系。对HTTP服务器来说。它并不知道这两个请求是否来自同一个客户端。为了解决这个问题。 引入了来维护连接的可持续状态。

意为“甜饼”。是由W3C组织提出。最早由Netscape社区发展的一种机制。目前Cookie已经成为标准。所有的主流浏览器如IE、Netscape、Firefox、Opera等都支持Cookie。由于HTTP是一种无状态的协议。服务器单从网络连接上无从知道客户身份。怎么办呢?就给客户端们颁发一个通行证吧。每人一个。无论谁访问都必须携带自己通行证。这样服务器就能从通行证上确认客户身份了。这就是Cookie的工作原理。

HTTP协议是建立在TCP协议之上的。因此TCP攻击一样会影响HTTP的通讯。例如比较常见的一些攻击:是当前最流行的DoS(拒绝服务攻击)与DdoS(分布式拒绝服务攻击)的方式之一。这是一种利用缺陷。发送大量伪造的TCP连接请求。从而使得被攻击方资源耗尽(CPU满负荷或内存不足)的攻击方式。

HTTP请求包(浏览器信息)

Request包的结构, Request包分为3部分。第一部分叫Request line(请求行), 第二部分叫Request header(请求头),第三部分是body(主体)。header和body之间有个空行。请求包的例子所示:

HTTP协议定义了很多与服务器交互的请求方法。最基本的有4种。分别是GET,POST,PUT,DELETE。

一个URL地址用于描述一个网络上的资源

而HTTP中的GET, POST, PUT, DELETE就对应着对这个资源的查。增。改。删4个操作。

最常见的就是GET和POST了。GET一般用于获取/查询资源信息。而POST一般用于更新资源信息。

由于简书地址是,我通过fiddler去抓一个不是http的。看起来比较好看


可以得出GET和POST的区别:

GET提交的数据会放在URL之后。以?分割URL和传输数据。参数之间以&相连。如EditPosts.aspx?name=test1&id=123456。POST方法是把提交的数据放在HTTP包的body中。

GET提交的数据大小有限制(因为浏览器对URL的长度有限制)。而POST方法提交的数据没有限制。

GET方式提交数据。会带来安全问题。比如一个登录页面。通过GET方式提交数据时。用户名和密码将出现在URL上。如果页面可以被缓存或者其他人可以访问这台机器。就可以从历史记录获得该用户的账号和密码。

包中的第一行叫做状态行。由HTTP协议版本号、状态码、状态消息三部分组成

状态码用来告诉HTTP客户端。HTTP服务器是否产生了预期的Response。HTTP/1.1协议中定义了5类状态码。第一个数字定义了响应的类别

1XX:提示信息-表示请求已被成功接收。继续处理

2XX:成功 。表示请求已被成功接收。理解。接收

3XX: 重定向:要完成请求必须进行更进一步的处理

4XX:客户端错误:请求语法错误或者是请求无法实现

5XX:服务器错误。服务器未能够实现合法的请求

当输入的简书的地址为http://www.jianshu.com/的时候。状态码为

301 Moved Permanently被请求的资源已永久移动到新位置。并且将来任何对此资源的引用都应该使用本响应返回的若干个 URI 之一。如果可能。拥有链接编辑功能的客户端应当自动把请求的地址修改为从服务器反馈回来的地址

使用网易云在听歌的时候

206 Partial Content服务器已经成功处理了部分 GET 请求。类似于 FlashGet 或者迅雷这类的 HTTP下载工具都是使用此类响应实现断点续传或者将一个大文档分解为多个下载段同时下载

HTTP协议是无状态的和Connection: keep-alive的区别

无状态是指协议对于事务处理没有记忆能力。服务器不知道客户端是什么状态。从另一方面讲。打开一个服务器上的网页和你之前打开这个服务器上的网页之间没有任何联系。

HTTP是一个无状态的面向连接的协议。无状态不代表HTTP不能保持TCP连接。更不能代表HTTP使用的是UDP协议(面对无连接)。

从HTTP/1.1起。默认都开启了Keep-Alive保持连接特性。简单地说。当一个网页打开完成后。客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭。如果客户端再次访问这个服务器上的网页。会继续使用这一条已经建立的TCP连接。

Keep-Alive不会永久保持连接。它有一个保持时间。可以在不同服务器软件(如Apache)中设置这个时间。

一次URL请求但是左边栏里面为什么会有那么多的资源请求?

这个就是浏览器的一个功能。第一次请求url。服务器端返回的是页面。然后浏览器开始渲染HTML:当解析到HTML DOM里面的图片连接。css脚本和js脚本的链接。浏览器就会自动发起一个请求静态资源的HTTP请求。获取相对应的静态资源。然后浏览器就会渲染出来。最终将所有资源整合、渲染。完整展现在我们面前的屏幕上。

最后说明一点 :网页优化方面有一项措施是减少HTTP请求次数。就是把尽量多的css和js资源合并在一起。目的是尽量减少网页请求静态资源的次数。提高网页加载速度。同时减缓服务器的压力。

鉴于本人的能力有限。如有错误还望指出。tks

说明一下。这是我写的文章发表在简书的!如果您喜欢。请记得点赞。谢谢您了

其他观点:

我们知道。对于一般用户而言。如果想要访问一个网站。那肯定会打开电脑上的浏览器。然后输入网址回车就能找到对应的网站了。我们泛义上所说的网址其实最主要的就是域名。一个域名就好似一个站点的身份证。有了域名就能找到网站所在的服务器。但是单单有了域名是不行的。还需要服务器的支持。那域名和服务器之间到底有着怎样的关联呢?

网络资源需要依懒IP地址来定位

网络上的任何资源(比如MP3音频、文件、普通网页等)被他人访问那访问者一定要知道这些资源的IP地址。网络上所有资源的定位靠的是IP。IP地址才是网络资源的唯一“身份证”。

说到这里可能很多人就不理解了。既然想在网络上定位到某个资源要靠IP地址。那为什么我们日常访问一些网站并不是输入IP而是用域名的呢?

很好理解。IP地址有一个很大的缺点:难记!IPv4地址尚可以记住。但对于未来主流的IPv6地址。想记住就不现实了。而域名的出现就是为了解决IP地址难记这个问题的。

域名与IP地址的关系

当我们在浏览器中输入域名回车后到底发生了哪些事情呢?简单来说主要有以下几个步聚:

输入域名回车后 》计算机先在本地HOST文件中尝试寻找此域名对应的IP地址 》如果没有在本地找到。则到DNS服务器中去获取此域名对应的IP地址 》拿到IP地址后访问对应的远程服务器 》接下来进行十一点的请求处理并返回给客户端。

上面说到2个核心的概念。本地HOST文件、DNS服务器。

其实这两个都是用来将域名和IP地址进行关联的。即:通过域名找到与之绑定的IP地址。

域名与服务器的关系

有了域名后。网站要正常提供服务还需要服务器。服务器是为站点提供运行环境支持的。可以简单理解为:服务器就是更专业的一点的电脑。而网站就好比是运行在此电脑上的程序。

一台服务器上可以运行多个站点。试想一下。如果多个域名指向同一台服务器会怎样?很简单。服务器也不知道到底该为访问者返回哪个站点上的内容。所以一台服务器上如果部署多个站点。那每个站点要绑定不同的域名。这样就一一对应上了。

总结:域名和服务器之间的关系就是。服务器相当于房子。域名相当于门牌;域名和服务器都是网站的重要组成部分。服务器为站点提供运行环境支持。而域名则是便于访客找到网站的;服务器上的站点要与域名一一绑定。

您还感兴趣的文章推荐

以上就是由互联网推广工程师 网创网 整理编辑的,如果觉得有帮助欢迎收藏转发~

分享到 :
相关推荐

发表回复

登录... 后才能评论

评论(2)

  • 少女恶习 永久VIP 2022年12月28日 08:56:40

    服务器,域名,客户端,地址,协议,资源,状态,浏览器,网络,的是

  • 夜深时 永久VIP 2022年12月28日 08:56:40

    没想到大家都对服务器和域名之间有什么联系呢?感兴趣,不过这这篇解答确实也是太好了

  • 长街听风 永久VIP 2022年12月28日 08:56:40

    域名是网络主机的别称或者叫代号。服务器的理解有两种。1.一台硬件服务器。例如:imb的刀片机。2.部署在硬件服务器上的软