丁鹿学堂:前端http面试总结,状态码详解

http请求方法总结

get: 从服务器获取资源

post:在服务器创建资源

put:在服务器修改资源

delete:在服务器删除资源

注意:

post和put的最大区别,在于put具有幂等性。比如你调用post10次,他会创造10个资源,在服务器产生的影响是不一样的。

而put,调用10次,只要请求是一样的,那么他在服务器产生的影响是一样的。

http状态码详解

1xx:提供信息,101 协议切换,

2xx:成功

200:ok,get请求成功返回

201Lcreated已创建,通常post请求会返回

202 请求已经收到,比如创建订单,在服务端的开销比较大,一些异步请求会先返回202表示已经接收到请求。

203 非权威内容,表示原始服务器的内容在中间被修改过,比如中间有代替服务器

204:没有内容返回,常见的put操作,内容修改成功但是没有内容返回。

205:重置内容,比如用户在输入一个大的表单,服务器拿走了,但是希望前端重置一下,方便用户输入新的内容

206:服务端下发部分内容

3xx:重定向

301 永久转移,比如一些老网址的内容永久转移到新的网址上

303: see other 可以使用get方法在另一个url找到资源

304:没有修改,缓存。如果请求的内容没有变,web服务会返回一个304给浏览器,同时不会把资源真的返回,浏览器用缓存去展示。

305:需要代理。

307:临时重定向

308:永久重定向

面试题:301和308都是永久重定向,他们的差别?

共同点:资源被永久移动到新的地址

差异:客户端收到308请求后,之前是什么方法,那么之后也会沿用这个方法去请求新的地址。

而客户端收到301请求,不管之前是什么方法,统一会使用get去请求新的地址。

4xx:客户端错误,404访问资源不存在

400 请求格式错误

401:没有授权,基本会跳登录

402:请先付费,比如访问一些付费资源(基本没有人使用)

403:禁止访问

404:没有找到资源

405方法不被允许

406:服务端可以提供的内容和客户端期待的不一样,比如编码格式不同

5xx:服务端错误

500 内部服务器错误

501:没有实现,比如某个接口存在,但是后端没有实现

502:网关错误

503:服务不可用

504:网关超时

505:版本不支持。比如http的协议版本

注意:规范如此,但是多数服务端开发已经不遵循状态码,成功基本都是返回200,语义用返回的字段去定义。而错误基本都会返回400

你可能感兴趣的:(前端培训丁鹿学堂分享站,前端,http,网络协议)