-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
网络/浏览器面试题 #3
Comments
http 头部有哪些
|
Cookie主要用于,会话状态管理,用户跟踪。
第三方 Cookie 的问题:
|
CSRF跨站请求伪造 攻击者利用 HTTP 请求会自动携带 cookie 的特定,利用用户的登陆状态发送恶意请求。 方法:自动发起 get/post 请求;诱导点击 CSRF 的过程:
防御方法::
|
DNS 解析过程DNS(Domain Name System,域名系统)是一个将域名和 IP 地址相互映射的分布式服务
一般我们向本地 DNS 服务器发送请求的方式就是递归查询,因为我们只需要发出一次请求,然后本地 DNS 服务器返回给我们最终的请求结果。而本地 DNS 服务器向其他域名服务器请求的过程是迭代查询的过程,因为每一次域名服务器只返回单次查询的结果,下一级的查询由本地 DNS 服务器自己进行。 |
HTTPS 的原理HTTPS 其实就是 HTTP+TLS 的传输方式,TLS 叫传输层安全,之前叫 SSL(安全套接层)。 因为 HTTP 属于明文传输,可以被截取到。那么就需要对传输报文进行加密,加密方式有两种:非对称和对称。对称就是同一个密钥进行加密解密,非对称就是有一组公私密钥,可以互相加解密。 那么 TLS 是怎么做的呢? 因为非对称加密的效率不高,对 HTTP 报文一般采用对称加密,然后通过非对称加密传输这个会话密钥。 比如客户端生成一个 但是这个公钥不能安全地传输到客户端手里,即使加密也需要对应的密钥进行传输,现在的通过
但是,真实情况不是这个简单流程(RSA),有密钥交换算法,比如 ECDHE,在请求返回证书的过程,服务端和客户端会分别交互两个随机数,然后自个通过协商好的算法参数生成第三个随机数,再通过这个三个随机数生成会话密钥,这个密钥是不需要传输的,两边都知道,之后就可以加密传输了。 |
HTTP2 的特性
多路复用:
为什么
|
浏览器事件循环机制JS 是单线程的,同时只能执行一项任务。但浏览器或者Node.js环境中存在着大量的I/O操作(如网络请求、定时任务等),如果同步执行的话就会阻塞,所以就有了异步任务的事件循环机制。 JS 会先执行当前任务,遇到异步任务就放入任务队列中,分为宏任务和微任务,当前宏任务执行完会处理所有的微任务,再从宏任务队列中取一个开始下一个宏任务。 宏任务:script 脚本
为什么浏览器定时器不准
|
requestAnimationFrame指定回调函数是在浏览器下一次绘制之前执行,每秒60帧的话,大概是16.6ms 一次,可以用于动画 |
The text was updated successfully, but these errors were encountered: