两者是包含和被包含的关系,主机是一个统称,所有服务器都是主机,但并非所有主机都是服务器。
主机和服务器的主要差别,主机是连接到网络的计算机或其他设备,而服务器是连接到网络中提供服务的软件或硬件设备。
定义上的差别
主机是任何可以连接到网络的计算机设备,而服务器是向网络中的其他设备提供服务的软件或硬件设备。
功能上的差别
服务器一般是指提供服务的主机
服务器也是主机,但服务器是向网络中的其他设备提供服务的软件或硬件设备。包括软件设备的原因,是虚拟机云主机也是主机。客户端是获得服务器服务的软件或硬件。一台服务器可以连接多个客户端,而一个客户端可以连接到多个服务器。客户端和服务端是相对,当一台服务器向另外一台服务器获取服务时,它也是客户端。
服务器按照提供服务的不同,可以分为Web服务器、文件服务器、数据库服务器、邮件服务器和应用程序服务器等。
IP中的计算机名(主机头名?)和服务器之间的关系
一台服务器可以对应多个功能,既作www服务器又作邮件服务器。也就是说,www.xxx.com和mail.xxx.com都用一个ip。
(这样感觉实际上在访问的时候会容易受到限制之类的)
计算机名(www/mail)和服务器的关系感觉应该放在局域网里面讲,现在有个网站,然后主要的功能在www服务器上面。这个网站所用的服务器构成一个局域网,在这个局域网里面用计算机名来进行区分
IP中的主机名和域名之间的关系
www.xxx.com 就是一个主机名,(也就是域名?这里是我的理解,有文章说域名是xxx.com,但是把www当做三级域名的话,它实际上也就是域名的一部分,而且域名解析的时候还是需要www。比如用在线dns,解析tmall.com和www.tamll.com解析出来的ip就是不一样的。顺便挖个坑,禁止ip访问时候的渗透。)
(9条消息) 计算机网络之域名、主机名、IP地址和URL_6201小行星的博客-CSDN博客_计算机网络中的主机名
token
1、Token的引入:Token是在客户端频繁向服务端请求数据,服务端频繁的去数据库查询用户名和密码并进行对比,判断用户名和密码正确与否,并作出相应提示,在这样的背景下,Token便应运而生。
2、Token的定义:Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。
3、使用Token的目的:Token的目的是为了减轻服务器的压力,减少频繁的查询数据库,使服务器更加健壮。
构造方法
用设备号/设备mac地址作为Token;用session值作为Token。
- 一个Token就是一些信息的集合;
- 在Token中包含足够多的信息,以便在后续请求中减少查询数据库的几率;
- 服务端需要对cookie和HTTP Authrorization Header进行Token信息的检查;
- 基于上一点,你可以用一套token认证代码来面对浏览器类客户端和非浏览器类客户端;
- 因为token是被签名的,所以我们可以认为一个可以解码认证通过的token是由我们系统发放的,其中带的信息是合法有效的;
Acesss Token 访问资源接口(API)时所需要的资源凭证
登录时 token 不宜保存在 localStorage,被 XSS 攻击时容易泄露。所以比较好的方式是把 token 写在 cookie 里。为了保证 xss 攻击时 cookie 不被获取,还要设置 cookie 的 http-only。这样,我们就能确保 js 读取不到 cookie 的信息了。再加上 https,能让我们的请求更安全一些。
Cookie 和 Session
HTTP 协议是一种无状态协议
,即每次服务端接收到客户端的请求时,都是一个全新的请求,服务器并不知道客户端的历史请求记录;Session 和 Cookie 的主要目的就是为了弥补 HTTP 的无状态特性。
session
- 会话,代表服务器与浏览器的一次会话过程,这个过程是连续的,也可以时断时续。
- cookie中存放着一个sessionID,请求时会发送这个ID;
- session因为请求(request对象)而产生;
- session是一个容器,可以存放会话过程中的任何对象;
- session的创建与使用总是在服务端,浏览器从来都没有得到过session对象;
- session是一种http存储机制,目的是为武装的http提供持久机制。
cookie
储存在用户本地终端上的数据,服务器生成,发送给浏览器,下次请求统一网站给服务器。HTTP 协议中的 Cookie 包括 Web Cookie
和浏览器 Cookie
,它是服务器发送到 Web 浏览器的一小块数据。服务器发送到浏览器的 Cookie,浏览器会进行存储,并与下一个请求一起发送到服务器。通常,它用于判断两个请求是否来自于同一个浏览器,例如用户保持登录状态。 用于(会话、用户个性化、追踪记录用户行为(现在更多用api))
cookie与session区别
cookie数据存放在客户端上,session数据放在服务器上; cookie不是很安全,且保存数据有限; session一定时间内保存在服务器上,当访问增多,占用服务器性能。
session与token
作为身份认证,token安全比session好,每一个请求都有签名还能防止监听以及重复攻击,而 Session 就必须依赖链路层来保障通讯安全了。 Session 认证只是简单的把User 信息存储到Session 里,因为SID 的不可预测性,暂且认为是安全的。这是一种认证手段。 而Token ,如果指的是OAuth Token 或类似的机制的话,提供的是 认证 和 授权 ,认证是针对用户,授权是针对App 。其目的是让 某App有权利访问 某用户 的信息。
session将user信息存储,不能做到授权?而且占用服务器资源?
token与cookie
Cookie是不允许垮域访问的,但是token是支持的, 前提是传输的用户认证信息通过HTTP头传输;
token就是令牌,比如你授权(登录)一个程序时,他就是个依据,判断你是否已经授权该软件;cookie就是写在客户端的一个txt文件,里面包括你登录信息之类的,这样你下次在登录某个网站,就会自动调用cookie自动登录用户名;session和cookie差不多,只是session是写在服务器端的文件,也需要在客户端写入cookie文件,但是文件里是你的浏览器编号.Session的状态是存储在服务器端,客户端只有session id;而Token的状态是存储在客户端。
不同网站比如说用某个相关的账号登录,将token存在cookie中快捷登录?