get post 的区别
get 一般用于向服务端请求数据,一般会有缓存机制,一般将参数放到url中,也可以放到body中
post 一般用于向服务端提交数据,不会缓存,一般将参数放到body中,也可以将部分参数放到url中
关于安全性我们常听到GET不如POST安全,因为POST用body传输数据,而GET用url传输,更加容易看到。但是从攻击的角度,无论是GET还是POST都不够安全,因为HTTP本身是明文协议。每个HTTP请求和返回的每个byte都会在网络上明文传播,不管是url,header还是body。这完全不是一个“是否容易在浏览器地址栏上看到“的问题
为了避免传输中数据被窃取,必须做从客户端到服务器的端端加密。业界的通行做法就是https——即用SSL协议协商出的密钥加密明文的http数据。这个加密的协议和HTTP协议本身相互独立。如果是利用HTTP开发公网的站点/App,要保证安全,https是最最基本的要求
参考资料: https://www.zhihu.com/question/28586791
webSocket 和 ajax 的区别
1.生命周期不同。
websocket建立的是长连接,在一个会话中一直保持连接;而ajax是短连接,数据发送和接受完成后就会断开连接。
2.适用范围不同
websocket一般用于前后端实时数据交互,而ajax前后端非实时数据交互。
3.发起人不同
Ajax技术需要客户端发起请求,而WebSocket服务器和客户端可以相互推送信息。
https 的握手过程
----------------------------------
客户端发起https请求 ->
服务端返回给客户端证书 ->
客户端验证证书合法性 ->
如果合法,客户端生成一个随机数,并将该随机数用公钥加密后发送给服务端 ->
服务端用私钥解密出随机数,将内容用随机数加密,然后将加密后的内容发送给客户端 ->
客户端用之前生成的随机数解密获取内容
----------------------------------
如果客户端验证证书不合法呢? ->
会弹出一个警告框,提示证书存在问题,让用户选择是否继续
证书签名过程和如何防止被串改?
http2 的特点
二进制传输
Header 压缩,顺便吹了一下哈夫曼编码
多路复用
服务器推送
缓存类型
### 强制缓存
cache-control、express
### 协商缓存
304、ETag、modify
关于状态码
301、302、307、308 的区别
301 永久重定向
302 临时重定向
303 临时重定向
发送Post请求,收到303,直接重定向为get,发送get请求,不需要向用户确认
307 临时重定向
客户端发送post请求返回307时,浏览器询问用户是否再次post
状态码 307 与 302 之间的唯一区别在于,当发送重定向请求的时候,307 状态码可以确保请求方法和消息主体不会发生变化。当响应状态码为 302 的时候,一些旧有的用户代理会错误地将请求方法转换为 GET:使用非 GET 请求方法而返回 302 状态码,Web 应用的运行状况是不可预测的;而返回 307 状态码时则是可预测的。对于 GET 请求来说,两种情况没有区别。
参考 https://www.cnblogs.com/wuguanglin/p/redirect.html
http http2 https 区别
111
什么是简单请求和非简单请求
非简单请求下发起的 options
ww
cookie 跨域时候要如何处理
asdf
xss、csrf 有了解过吗,如何防范
介绍一下浏览器缓存策略
tcp 三次握手
nginx 有了解吗
扯了一下跨域如何配置/转发
缓存策略配置
地址重定向配置
网友评论