[关闭]
@GaoyuanHfut 2020-03-12T06:30:40.000000Z 字数 2926 阅读 495

招银科技


http和https的区别

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

ssl的原理

SSL协议使用非对称加密和对称加密技术确保数据传输安全。
SSL通信先要进行SSL握手。SSL握手使用非对称加密技术,进行握手时浏览器获取web服务器公钥,然后建立安全连接。
三次握手四次挥手

ajax的原理,以及如何实现异步

核心有 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))
}
}

cookie和session的区别

Session是在服务端保存的一个数据结构,用来跟踪用户的状态,这个数据可以保存在集群、数据库、文件中;
Cookie是客户端保存用户信息的一种机制,用来记录用户的一些信息,也是实现Session的一种方式,可设置有限期
localStorage 数据永久保存,除非用户手动清理客户端缓存。
sessionStorage 数据保存在当前会话,刷新页面数据不会被清除,结束会话(关闭浏览器、关闭页面、跳转页面)数据失效。

CSS3新属性的了解

border-radius
box-shadow
background-size
translate
transition

退出页面的时候绑定脚本,如何实现

onunload beforeunload
vue 使用钩子destroyed

http协议的html文档结构

(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 函数作用域的副产品。

js快排

  (1)在数据集之中,选择一个元素作为"基准"(pivot)。

  (2)所有小于"基准"的元素,都移到"基准"的左边;所有大于"基准"的元素,都移到"基准"的右边。

  (3)对"基准"左边和右边的两个子集,不断重复第一步和第二步,直到所有子集只剩下一个元素为止

获取数组的前两个元素的方法

arr.slice(0,2)
arrayObject.splice(index,howmany,item1,.....,itemX)

删除字符串前后的空格,删除中间空格

str.trim()
str = str.replace(/\s+/g,"") // 去掉所有空格

动态更改样式,动态DOM的增删改查

为什么script标签不能放在head中

head内的js会阻塞页面的传输和页面的渲染。

浏览器输入url到页面的解析过程

HTML页面解析过程

原型链

html5新标签

header canvas video

CSS行内和块状元素的区别

行内元素
(1)设置宽高无效
(2)对margin仅设置左右方向有效,上下无效;padding设置上下左右都有效,即会撑大空间

标准盒模型和IE盒模型?怎么切换?

IE盒模型的content包括border、padding
box-sizing

JS基本类型,symbol?

boolean
null
undefined
number
string
symbol 唯一性,可以作为id

正则会吗

删除数组元素的方法?

shift

如何删除数组元素的值,但是仍旧占据原位置?

splice

长度为10的数组,在其索引为15的位置上添加元素会报错吗?为什么?

不会,会补充中间空的部分

DOM的增删查方法哪些?

document.createEelement 创建元素节点
document.createTextNode 创建文本节点
doucment.createAttribute 属性节点
innerHTML
innerText
removeChild
removeAttributeNode

说下协商缓存和强缓存?协商缓存请求时,body中的参数会传给后端吗?缓存的头有哪些

强缓存
强缓存可以通过设置两种 HTTP Header 实现:Expires(缓存具体时间) 和 Cache-Control(多少时间后失效) 。强缓存表示在缓存期间不需要请求,state code 为 200。
协商缓存
如果缓存过期了,就需要发起请求验证资源是否有更新。协商缓存可以通过设置两种 HTTP Header 实现:Last-Modified 和 ETag 。

当浏览器发起请求验证资源时,如果资源没有做改变,那么服务端就会返回 304 状态码,并且更新浏览器缓存有效期。

JS跨域由哪些(同源策略)?JSONP 为什么能跨域?

同源是指"协议+域名+端口"三者相同
jsonp的原理就是利用标签没有跨域限制,通过标签src属性,发送带有callback参数的GET请求
开发过程现在可以通过代理方式解决

安全防范知识点

1.XSS 简单点来说,就是攻击者想尽一切办法将可以执行的代码注入到网页中。
2.CSRF 中文名为跨站请求伪造。原理就是攻击者构造出一个后端请求地址,诱导用户点击或者通过某些途径自动发起请求。如果用户是在登录状态下的话,后端就以为是用户在操作,从而进行相应的逻辑。
3. 中间人攻击(https)

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注