计算机基础

Hash(散列函数)

是把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值。

Hash算法也被称为散列算法,Hash算法虽然被称为算法,但实际上它更像是一种思想。Hash算法没有一个固定的公式,只要符合散列思想的算法都可以被称为是Hash算法。

 

域名

是由一串用点分隔的名字组成的internet上某一台或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。

域名大小写没有区分。域名一般不能超过5级,从左到右域的级别变高,高的级域包含低的级域。域名在整个Internet中是唯一的,当高级子域名相同时,低级子域名不允许重复。一台服务器只能有一个IP地址,却可以有多个域名。

顶级域名

域名由两组或两组以上的ASCII或各国语言字符构成,各组字符间由点号分隔开,最右边的字符组称为顶级域名或一级域名、倒数第二组称为二级域名、倒数第三组称为三级域名、以此类推。

通用顶级域(Generic top-level domain,缩写gTLD)

是互联网名称与数字地址分配机构(IANA)管理的顶级域(TLD)之一。该机构专门负责互联网的域名系统。

.com-供商业机构使用

.edu-供教育机构使用

.gov-供政府及其属下机构使用

.mil-供军事机构使用

.net-供网络服务供应商使用

.org-供不属于其他通用顶级域类别的组织使用

 

网域名称系统(DNS,Domain Name System)

它主要的作用就是将人们所熟悉的域名“翻译”成电脑可以理解的IP地址,这个过程叫做DNS域名解析。搭载域名系统的机器称之为域名服务器,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP地址数串。

例如www.wikipedia.org是一个域名,和IP地址208.80.152.2相对应。

 

IP(网络之间互连的协议)

IP,全称互联网协议地址,是指IP地址,意思是分配给用户上网使用的网际协议(InternetProtocol)的设备的数字标签。常见的IP地址分为Ipv4和Ipv6两大类。

IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。

网络互联

网协是怎样实现的?网络互联设备,如以太网、分组交换网等,他们相互之间不能互通,不能互通的主要原因是因为他们所传送的数据的基本单元(技术上称之为帧)的格式不同。IP协议实际上是一套由软件、程序组成的协议软件,它把各种不同的帧统一转换成网协数据包格式,这种转换是因特网的一个最重要的特点,使所有各种计算机都能在因特网上实现互通,即具有开放性的特点。

数据包

数据包也是分组交换的一种形式,就是把所传送的数据分段打成包,再传送出去

分组交换

在通信过程中,通信双方以分组为单位、使用存储-转发机制实现数据交换的通信方式,被称为分组交换。

分组交换也称为包交换,它将用户通信的数据划分成多个更小的等长数据段,在每个数据段的前面加上必要的控制信息作为数据段的首部,每个带有首部的数据段就构成了一个分组。首部指明了该分组发送的地址,当交换机收到分组之后,将根据首部中的地址信息将分组转发到目的地,这个过程就是分组交换。能够进行分组交换的通信网被称为分组交换网。

分组交换的本质就是存储转发,它将所接受的分组暂时存储下来,在目的方向路由上排队,当它可以发送信息时,再将信息发送到相应的路由上,完成转发。其存储转发的过程就是分组交换的过程。

分组交换的思想来源于报文交换,报文交换也称为存储转发交换,它们交换过程的本质都是存储转发,所不同的是,分组交换的最小信息单位是分组,而报文交换则是一个个报文。由于以较小的分组为单位进行传输和交换,所以分组交换比报文交换快。报文交换主要应用于公用电报网中。

Cookie是当你浏览某网站时,网站存储在你机器上的一个小文本文件,它记录了你用户ID,密码、浏览过的网页、停留的时间等信息,当你再次来到该网站时,网站通过读取Cookie,得知你的相关信息,就可以做出相应的动作,如在页面显示欢迎你的标语,或者让你不用输入ID、密码就直接登录等。

在浏览器中,你可以对第一方Cookie和第三方的Cookie进行设置,第一方Cookie是你正在浏览的网站的Cookie,第三方Cookie非正在浏览的网站发给你的Cookie,通常要对第三方Cookie选择拒绝。

Cookie是利用了网页代码中的http头信息进行传递的,浏览器的每一次网页请求,都可以伴随Cookie传递。服务器将Cookie添加到网页的http头信息中,伴随网页数据传回到你的浏览器,浏览器会根据你的电脑中的Cookie设置选择是否保存这些数据。如果浏览器不允许Cookie保存,则关掉浏览器后,这些数据就消失。Cookie在电脑上保存的时间是不一样的,这些都是由服务器的设置不同决定的。Cookie有一个Expires(有效期)属性,这个属性决定了Cookie的保存时间。如果不设置该属性,那么Cookie只在浏览网页期间有效,关闭浏览器,这些Cookie自动消失,绝大多数网站属于这种情况。通常情况,Cookie包含Server、Expires、Name、value这几个字段,其中对服务器有用的只是Name和value字段,Expires等字段的内容仅仅是为了告诉浏览器如何处理这些Cookies。

Session

Session会话机制是一种服务器端机制,它使用类似于Hash表(可能还有Hash表)的结构来保存信息。

什么是session?

  1. 服务器通过Cookie发送给客户端一个sessionid
  2. Sessionid对应服务器里的一小块内存,这里保存着用户的信息,例如登录信息,购物车信息等。
  3. 每次用户访问服务器的时候,服务器通过浏览器发送来的cookie里的sessionid去读取对应的内存里的信息,以此来知道用户的隐私信息。

 

当程序需要为客户端的请求创建会话时,服务器首先检查客户端的请求是否包含会话ID。如果包含,它先前已为该客户端创建会话。服务器根据会话ID检索会话(检索不到,将创建新会话)。如果请求不包含会话ID,则为客户端创建会话并生成与会话关联的会话ID。会话ID应该是一个既不重复也不容易被复制的字符串。会话ID将返回给客户端以保存此响应。

保存此会话ID的方法可以是Cookie,以便浏览器可以根据交互的规则自动将此标志用于服务器。但是,Cookie可以被人为禁止,因此必须有其他机制在禁用Cookie时将会话ID传到服务器。经常使用的技术称为URL重写,它只是将会话ID直接附加到URL路径。还有一种称为形式隐藏字段的技术。也就是说,服务器将自动修改表单并添加隐藏字段,以便在提交表单时,将会话ID传回服务器。

Cookie和Session都能进行会话跟踪,但原则并不相同。一般情况下,两者都可以满足需求,但有时候他们不能使用Cookie,有时候不能使用Session。以下是两者和适用场所的特征比较。

  1. 不同的访问方法

只有ASCII字符串可以存储在Cookie中。如果需要访问Unicode字符或二进制数据,则需要先对其进行编码。无法在cookie中直接访问Java对象。要存储稍微复杂的信息,适用cookie会更难。

会话可以访问任何类型的数据,包括但不限于字符串、Integer、List、Map等。

会话也可以直接存储Java Beans甚至任何Java类,对象等。将Session视为Java容器类。

  1. 不同的隐私政策

Cookie存储在客户端阅读器中,对客户可见。客户端上的某些程序可能会窥探、副本以及修改Cookie的内容。会话存储在服务器上,对客户端是透明的。不存在敏感信息泄露的风险。如果选择Cookie,最好不要写敏感信息,如账户密码。

  1. 有效期的差异

使用Google的任何人都知道,如果您已登录Google,Google的登录信息将长期有效。用户每次访问时都不必再次登录,Google会永久记录用户的登录信息。要达到这个效果,使用Cookie是一个不错的选择。只需将cookie的到期时间属性设置为一个非常大的数字。由于Session依赖于名为JSESSIONID的Cookie,并且JSESSIONID的到期时间默认为-1,因此只需关闭阅读器就会使Session无效,Session将无法永久完成信息。无法使用URL地址重写。此外,如果设置Session的超时时间太长,服务器将累积的Session越多,导致内存溢出的可能性就越大。

  1. 不同的服务器压力

会话保留在服务器端,每个用户都将生成一个会话。如果有很多并发用户,它会产生大量的Session并消耗大量内存。因此,具有高并发流量的站点(如Google、Baidu、Sina)不太可能使用Session来跟踪客户会话。

Cookie保留在客户端上,不消耗服务器资源。如果有很多用户同时阅读,那么Cookie是一个不错的选择。关于Google、Baidu、Sina,cookie可能是唯一的选择。

  1. 不同的浏览器支持

客户端浏览器需要支持Cookie。如果客户端禁用cookie或不支持cookie,则会话跟踪将无效。关于WAP上应用程序,常规Cookie无用。

如果客户端浏览器不支持Cookie,则需要使用会话和URL地址重写。应该注意的是,Session程序中使用的所有URL都必须重写URL地址,否则会话跟踪将无效。对于WAP应用程序,会话+URL地址重写可能是唯一的选择。

如果客户端支持cookie,则可以在浏览器窗口和子窗口将cookie设置为有效(将到期时间设置为-1),或者可以将cookie设置为所有阅读器窗口中有效(设置到期时间大于1的整数)。但是,Session只能在此阅读器窗口及其子窗口中使用。

  1. Cookie支持跨域访问。例如,如果domain属性设置为“.biaodianfu.com”,则所有以”.biaodianfu.com”为后缀的域名都可以访问cookie。跨域cookie现在通常在网络上使用,例如Google、Baidu、Sina。会话不支持跨域访问。会话仅其所在的域名内有效。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值