作者回复: 写的很好。
作者回复: √
作者回复: 总结的不错。
作者回复: 后面会专门讲的。
作者回复: 401在rfc7235中,我用的比较少,所以就不说了。
感谢你的补充。
作者回复: 这里应该不涉及安全的问题,如果比较在意,可以约定用一些代码来表示。
作者回复: √
作者回复: 不错。
作者回复:
1.这样也可以,但比较简单,对用户不太友好。
2.我认为返回4xx错误比较好,说明这是客户端的错误,但因为http很灵活,只要双方约定好,5xx也可以。
作者回复:
1.有的状态码是底层应用自动完善的,比如如果不设置就自动是200。
2.重定向是服务器开发者自己知道资源有变化,手动设置的。比如网站临时维护,就重定向到维护页面。
3.重定向必定是3xx代码,可以在Chrome开发者工具里看,比如在实验环境里。你用的可能是php吧,可以看一下函数手册,看它是怎么运作的。
作者回复: 我认为是第二种理解。
作者回复: 100状态码用的很少,我个人不太推荐使用。
作者回复: 因为http很灵活,所以对于同一个问题会有多个解法,不存在唯一的答案。
所以对于这样的错误,可以根据自己的实际情况来处理,如果严格要求客户端,那么就返回4xx,认为是客户端错误。如果严格要求服务器,那么就认为缺少必须的数据无法处理,返回5xx。
作者回复: 2xx代码在课程里没有全列出来,只讲了几个最常用的。因为http很灵活,所以返回码要求的也不是很严格,可以在头字段、body里再返回更多的信息。
作者回复:
1.对
2.是的,所以很多时候都是返回一个json,里面自由定义错误信息。
作者回复: 可以返回一个4xx错误,然后在body里用json等格式说明具体的错误原因。
其他的同学已经回答了,可以参考。
作者回复: good。
作者回复: 这也是web服务里的一种常见做法。
因为http状态码很有限,而且含义不是很清楚,所以通常需要在body里返回额外的数据来说明更详细的错误原因,常用的就是json了。
作者回复: 是在服务器端写l服务程序,具体在实验环境里就是lua脚本,可以看一下lua目录里对应的脚本文件,很容易理解。