日面试题的晨读Content
什么是http?http和https的区别?
什么是http?
-
http(HyperText Transfer Protocol),超文本传输协议,是一种客户端和服务器之间进行通信的一种应用层协议。
-
通过HTTP协议,客户端可以向服务器请求各种的信息,在客户端并接受服务器的响应,在浏览器输入网址时,浏览器会向服务器发送请求并响应相关的HTML,css,JavaScript等资源,最后呈现给用户。
-
特点:无状态和可靠的传输
- 无状态:每次单独的请求和响应都是独立的,他们之间没有任何的联系,服务器不会保留请求方的历史记录,也没有请求和响应上下文的追踪。
- 可靠的传输:使用的TCP/IP协议进行的数据传输,确保了数据的可靠和准确性。
http和https的区别?
- 安全性和数据传输方式的区别?
- 安全性:HTTP是明文的方式传送的,数据在传输的过程中很容易被网络上的恶意攻击者窃听和篡改,而HTTPS利用了SSL/TLS协议对传输的数据进行加密,保证了数据传输的安全性,防止被第三方篡改。
- 数据传输的方式:HTTP因为使用的明文的方式传送所以速度较快,一般传送非敏感信息时使用,HTTPS因为使用了SSL/TLS协议的加密,所以传输的相对较慢,适合的场景适于安全性高的时候(金融交易/个人隐私)。
- 端口号的不同:http默认的端口号为80,https的默认端口号为443
什么是https?
- 它是在http的基础上添加了SSL/TLS协议对数据进行了加密的处理,防止第三方攻击者获取用户的敏感信息。
- HTTPS 通常用于需要保护隐私或安全的网站上,如银行系统、电子商务平台、社交媒体等。URL 开头的协议从 http 变为 https,代表着网站正在使用 HTTPS 协议进行数据传输。
http协议
GET&&POST请求的区别?
- 他俩都是常用的请求的方法。
- 传输的方式不一样get都是以明文的方式附加在了url地址栏中请求post是将参数放到了请求体中不容易像get一样暴露在外。
- 安全性:
- get请求的数据实在url中是明文的方式,容易被恶意攻击者截取,所以避免使用get传入敏感的信息。
- post是将数据放在请求体中传输支持HTTPS SSL/TLS协议加密。
- 场景:
- get一般用于简单的获取资源,网页内容。
- post一般用于注册,登录,发表篇评论。
OSI参考模型
面试题
对数组进行去重
function fun(arr){
return arr.reduce((prev,cur)=>{
if(prev.indexOf(cur)==-1){
prev.push(cur)
}
return prev
},[])
}
如果没有prev 默认第一次为参数的第一个。
三次握手和四次挥手
三次握手
- 三次握手的主要作用就是为了确认双方的接受能力和发送能力是否正常。
三次握手的过程
- 第一次握手:客户端向服务端发送http协议请求,表示客户端要请求建立连接。
- 第二次握手:服务端接受到请求后,表示愿意建立连接,此时客户端并不知道,服务端是否接收到了请求。
- 第三次握手:客户端接收到服务端愿意建立连接的请求后,此时客户端知道,服务端能接受到客户端的请求,并告知服务器我接受到了你的响应,最后服务器进入建立连接的状态。
四次挥手的过程
- 第一次挥手:客户端表示我已经请求完成数据,不需要在建立tcp连接了,需要断开,停止发送数据。
- 第二次挥手:服务端接受到要断开的命令后,进入到等待的状态。
- 第三次挥手:服务端也想断开连接了,就和客户端第一次挥手一样,要求断开。
- 第四次挥手:客户端收到同意断开的连接后,tcp就处于了断开的状态。
js中隐式类型的转换,举例说明
- 数字和字符串的转换:当一个数字与字符串运算时,javaScript会自动转换为字符串,如果是减法,会自动转换为数值。
- NaN+‘1’ = NaN1(NaN Number类型)
小程序的跳转方式
- uni.navigateTo()保留当前的页面,跳转某个页面,可以使用uni.navigateBack()返回。
- uni.redirectTo()关闭当前页面跳转到某个页面。
- uni.reLaunch()关闭所有页面,打开某个页面
- uni.switchTab()跳转到tabBer页面,并关闭其他所有非tabber页面。