https服务

较之于平常一般网页的http访问,除非是银行、政府机关或者其它对于安全性要求比较高的机构才会采用https服务,因为它所要付出的成本是比较高的。先看看二者的区别:

  1. https协议需要到ca申请证书,一般免费证书很少,需要交费。
  2. http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。
  3. http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
  4. http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

    Read More

理解对称加密与非对称加密

前段时间在公司的读书会上分享了网络服务中的安全部分,现在把当中涉及的一个很基础的概念笔记下来,就是关于加密的两种方式:对称加密与非对称加密。

其实就名字而言都可以把两者作以区分,对称说明可能是某种事物的相同(当然这里指密钥),非对称则反之。先来看看对称加密百科的定义吧:

采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。

简而言之就是,对称加密是加密解密用的是同样的“钥匙”,举个网上邮局寄件的例子就是:

Read More

什么是js中的自执行

之前node的时候用了人家封装的库,调进去看了一下,遇到下面这种类似代码:

1
(function(name){console.log(name)})('fengyun');

当时就在想这都什么玩意儿,我书读的少,写js不久,不要‘骗’我!以前没见过这种写法,于是百度之,才知道这是js里面的匿名函数自执行。这里面提到了两个关键字,一个是匿名函数,一个是自执行。

匿名函数简单来说就是没有名字的函数,不能其单独使用;

自执行就是函数在定义的时候就立即执行;

概念都好理解,举个例效果更好:

1
2
3
4
5
6
7
function say(){
console.log('我是一般函数')
}

function(){
console.log('我是匿名函数')
}

上面代码中第二个函数表示的就是一个最简单的匿名函数,也没有参数。重点的是,它没办法调用运行的,因为它连名字都没有,怎么调?所以如果我们需要使用它,我们可以这么做:

Read More