LLwanran / front_end_studying

前端知识要点
https://llwanran.github.io/front_end_studying/
2 stars 1 forks source link

请解释301、302、304、401、403(上海喜马拉雅1面) #29

Open LLwanran opened 5 years ago

LLwanran commented 5 years ago

如果你不知道这是HTTP状态码,那基本就凉凉了

大体分类为:

1XX Informational(信息性状态码) 接受的请求正在处理 2XX Success(成功状态码) 请求正常处理完毕 3XX Redirection(重定向状态码) 需要进行附加操作以完成请求 4XX Client Error(客户端错误状态码) 服务器无法处理请求 5XX Server Error(服务器错误状态码) 服务器处理请求出错

上述几种是很常见的,如果是大公司的高级岗位,可能还会追问你更深的,譬如499呢 如果看完理解了,那么你就可以开始放大招(装逼)了: 499对应的是 “client has closed connection”,客户端请求等待链接已经关闭,这很有可能是因为服务器端处理的时间过长,客户端等得“不耐烦”了;还有一种原因是两次提交POST过快就会出现499 面试官问这个的目的就是为了诱导你沿着爬虫 + nodejs一路问下去,因为499常见于你去爬大型站点的资源时,套路一般就是what?why?how? 那么不要慌,因为

解决方法:

  1. 前端将timeout最大等待时间设置大一些
  2. Nginx上配置proxy_ignore_client_abort on;