当请求一个webapi时,如果因为dns解析问题或者docker容器路由问题造成请求被发送到不相关的服务器,这个服务器给出的响应结果会误导webapi客户端,要解决这个问题就需要对服务端响应进行验证,请问在asp.net core中有什么简单有效的方式可以完成这个验证?
给每个 WebAPI 服务分配一个名字,在 WebAPI 服务的每个响应头上附加上 FROM-WHO。
在每个 WebAPI 上加一个中间件,每次返回响应的时候, 把自己的名字写在 FROM-WHO 里面。这样客户端就可以校验是否是正确的服务发回了响应。这样的修改也不会影响现有的 WebAPI 及其客户端的实现。
我认为楼上的标记办法都不用了,去掉这个200重复的uri就行了。
我的建议是不要使用 HTTP 状态码表示业务状态。
如果发送到不相关的服务器,这个服务器会给出什么响应结果?
– BUTTERAPPLE 6年前@BUTTERAPPLE: 最常见的是404,偶尔巧合的情况下可能会返回200
– dudu 6年前@dudu: 是在同一个服务器里面不同的应用,还是不同的服务器的不同应用?
– BUTTERAPPLE 6年前@BUTTERAPPLE: 都有可能,取决于应用的具体部署情况,这个与我提的问题无关
– dudu 6年前