@GaoyuanHfut
2020-03-12T06:30:40.000000Z
字数 2926
阅读 495
1、https协议需要到CA (Certificate Authority,证书颁发机构)申请证书,一般免费证书较少,因而需要一定费用。
2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
4、http的连接很简单,是无状态的。Https协议是由SSL+Http协议构建的可进行加密传输、身份认证的网络协议,比http协议安全
SSL协议使用非对称加密和对称加密技术确保数据传输安全。
SSL通信先要进行SSL握手。SSL握手使用非对称加密技术,进行握手时浏览器获取web服务器公钥,然后建立安全连接。
三次握手四次挥手
核心有 JavaScript、XMLHTTPRequest、DOM对象组成,通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据, 然后用JavaScript来操作DOM而更新页面。这其中最关键的一步就是从服务器获得请求数据
(1)get的ajax
//第一步 创建ajax对象
var xhr = new XMLHttpRequest();
//第二步 打开要发送的地址
xhr.open("get","http://10.9.188.25/qbank/php/select.php");
/*
参数1:method--->get post
参数2:请求的地址
参数3:布尔值 默认是false 异步true同步
*/
//第三部发送
xhr.send();
console.log(xhr.readyState)
//第四步
xhr.onreadystatechange = function(){
if(xhr.readyState == 4 && xhr.status == 200){
console.log(JSON.parse(xhr.responseText))
}
}
Session是在服务端保存的一个数据结构,用来跟踪用户的状态,这个数据可以保存在集群、数据库、文件中;
Cookie是客户端保存用户信息的一种机制,用来记录用户的一些信息,也是实现Session的一种方式,可设置有限期
localStorage 数据永久保存,除非用户手动清理客户端缓存。
sessionStorage 数据保存在当前会话,刷新页面数据不会被清除,结束会话(关闭浏览器、关闭页面、跳转页面)数据失效。
border-radius
box-shadow
background-size
translate
transition
onunload beforeunload
vue 使用钩子destroyed
(1)文档类型声明
(2)html 标签对
(3)head 标签对
(4)body 标签对
function lazy_sum(arr) {
var sum = function () {
return arr.reduce(function (x, y) {
return x + y;
});
}
return sum;
}
当我们调用lazy_sum()时,返回的并不是求和结果,而是求和函数:
var f = lazy_sum([1, 2, 3, 4, 5]); // function sum()
调用函数f时,才真正计算求和的结果:
f(); // 15
在这个例子中,我们在函数lazy_sum中又定义了函数sum,并且,内部函数sum可以引用外部函数lazy_sum的参数和局部变量,当lazy_sum返回函数sum时,相关参数和变量都保存在返回的函数中,这种称为“闭包(Closure)”
换句话说,闭包就是携带状态的函数,并且它的状态可以完全对外隐藏起来。
闭包是 JS 函数作用域的副产品。
(1)在数据集之中,选择一个元素作为"基准"(pivot)。
(2)所有小于"基准"的元素,都移到"基准"的左边;所有大于"基准"的元素,都移到"基准"的右边。
(3)对"基准"左边和右边的两个子集,不断重复第一步和第二步,直到所有子集只剩下一个元素为止
arr.slice(0,2)
arrayObject.splice(index,howmany,item1,.....,itemX)
str.trim()
str = str.replace(/\s+/g,"") // 去掉所有空格
head内的js会阻塞页面的传输和页面的渲染。
header canvas video
行内元素
(1)设置宽高无效
(2)对margin仅设置左右方向有效,上下无效;padding设置上下左右都有效,即会撑大空间
IE盒模型的content包括border、padding
box-sizing
boolean
null
undefined
number
string
symbol 唯一性,可以作为id
shift
splice
不会,会补充中间空的部分
document.createEelement 创建元素节点
document.createTextNode 创建文本节点
doucment.createAttribute 属性节点
innerHTML
innerText
removeChild
removeAttributeNode
强缓存
强缓存可以通过设置两种 HTTP Header 实现:Expires(缓存具体时间) 和 Cache-Control(多少时间后失效) 。强缓存表示在缓存期间不需要请求,state code 为 200。
协商缓存
如果缓存过期了,就需要发起请求验证资源是否有更新。协商缓存可以通过设置两种 HTTP Header 实现:Last-Modified 和 ETag 。
当浏览器发起请求验证资源时,如果资源没有做改变,那么服务端就会返回 304 状态码,并且更新浏览器缓存有效期。
同源是指"协议+域名+端口"三者相同
jsonp的原理就是利用标签没有跨域限制,通过标签src属性,发送带有callback参数的GET请求
开发过程现在可以通过代理方式解决
1.XSS 简单点来说,就是攻击者想尽一切办法将可以执行的代码注入到网页中。
2.CSRF 中文名为跨站请求伪造。原理就是攻击者构造出一个后端请求地址,诱导用户点击或者通过某些途径自动发起请求。如果用户是在登录状态下的话,后端就以为是用户在操作,从而进行相应的逻辑。
3. 中间人攻击(https)