Loading

前端面试 -HTTP系列

http和https 的区别?

端口 经济 安全性 响应速度
http 80端口 不需要 明文传输,安全性差 页面响应速度快,使用tcp的3次握手
https 443端口 费钱SSL需要ca 证书 SSL加密 慢 还要加ssl的9个包

get和post请求区别?

请求参数 支持刷新 是否可被浏览器缓存 功能
get 放在url里,并且长度受限制(2048字符)安全性较差 在浏览器中可直接访问可以刷新回退 可以 查数据
post 在请求体body中,长度不受限制 安全性好 不能在浏览器中直接访问 不能 增删改

TCP三次握手

  1. 建立连接时,客户端发送syn 同步序列编号 包(syn=j)到服务器 , 进入SYN_SENT状态
  2. 服务器收到syn包并发送确认包 ack(j+1) 和自己的syn(y)
  3. 客户端收到服务器的SYN+ACK包 ,向服务器发送ack确认(y+1)

TCP四次挥手

1.客户端发送FIN 连接释放报文

2.服务器收到FIN并发送确认包ACK

3.服务器发送FIN

4.客户端发送ACK

为什么2.3不合并起来,因为2.3中间有可能还有数据在发送,不能提前发送FIN

HTTP 缓存有哪几种?

两种 协商缓存和强制缓存, 根据是否需要向服务器重新发起HTTP请求 区分

强制缓存: 向浏览器缓存查找该请求结果 通过Cache-ControlExpires 决定是否使用缓存。

不存在则重新向服务器发送(像第一次)、存在则使用本地缓存、存在但失效了 协商缓存

协商缓存:向服务器请求结果, 由服务器根据缓存标识 Last-Modified / If-Modified-SinceEtag / If-None-Match 决定是否使用缓存的过程 成功304 失败返回200和请求内容

HTTP 状态码知道哪些?分别什么意思?

100 Continue 继续,一般在发送post请求时,已发送了http header之后服务端将返回此信息,表示确认,之后发送具体参数信息

200 OK 正常返回信息
201 Created 请求成功并且服务器创建了新的资源
202 Accepted 服务器已接受请求,但尚未处理
301 Moved Permanently 请求的网页已永久移动到新位置。
302 Found 临时性重定向。
303 See Other 临时性重定向,且总是使用 GET 请求新的 URI。
304 Not Modified 自从上次请求后,请求的网页未修改过
400 Bad Request 服务器无法理解请求的格式,客户端不应当尝试再次使用相同的内容发起请求。
401 Unauthorized 请求未授权
403 Forbidden 禁止访问
404 Not Found 找不到如何与 URI 相匹配的资源。
500 Internal Server Error 最常见的服务器端错误。
503 Service Unavailable 服务器端暂时无法处理请求(可能是过载或维护)。

cookie :一般由服务器返回客户端,报存到客户端,用于存用户登录信息。请求时会在header里,所有不安全。存储大小约5k

session:存在服务器端,用来保存每个用户的专信息。大小不限

webstorage :存在客户端,安全性高 大小为5M左右。

tcp 和 udp的区别

tcp是面向连接,可靠性高,适合大量数据传输,需要三次握手建立连接,比较耗时,
upd面向非连接,可靠性底,适合少量数据,但是连接速度快,延迟小。适合视频语音等。

posted @ 2022-05-06 16:51  梧桐树211  阅读(35)  评论(0编辑  收藏  举报