Comments (3)
@CoolDadTx I agree that it is confusing. However, the 501 status code has the additional requirement that the functionality is not supported for any resource on the server. Although that may be the case for some API scenarios, there are other cases where certain functionality is not supported on a particular set of resources.
Requiring applications to sometimes return a 4XX code when there is partial support for a feature and 501 when there is none is an additional burden on the client.
Imagine also, if paging were not supported, and then at some point in the future it is added for just one resource. Does that mean all other resource now have to start returning 4XX instead of 501?
The 501 response code is more useful for Web servers, proxies, caches and other intermediaries. The intent is to make application developers aware that some piece of infrastructure is preventing their server application from behaving correctly and it is up to the server application developer to fix the issue.
Applications themselves don't gain any benefits from returning 501, at least none that I'm aware of.
from api-guidelines.
Thanks for posting this issue @CoolDadTx
For others who are likely wondering about HTTP 501, here's the reference in the HTTP 1.1 spec: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.5.2
10.5.2 501 Not Implemented
The server does not support the functionality required to fulfill the request. This is the appropriate response when the server does not recognize the request method and is not capable of supporting it for any resource.
from api-guidelines.
I think this is fairly definitive from @darrelmiller
from api-guidelines.
Related Issues (20)
- Shared Type Design Pattern
- HTTP Return Codes don't mention HTTP HEAD HOT 8
- Vanity url is broken with leading slash HOT 2
- Guidance on response payload with 201
- arbitrary JSON pattern/anti-pattern
- Add guidance for pageable post operations
- Fix content table in the main Graph guidelines. merger enum and evolvable enum patterns
- querying arbitrary number of keys in a dictionary insted HOT 1
- Add clarity to expand requirement
- The 'at' naming convention
- Xbox box 360 live
- Vague guidelines about point query support
- Error message localization HOT 1
- Restrictions for openType
- ??
- _Originally posted by @mmtayyar in https://github.com/CVEProject/cve-schema/issues/283_
- Have guidance for when to use unschematized models, and what patterns we have available for unschematized models
- Why does collection response use `value` property instead of `values` in Azure API guidelines? HOT 2
- Re-examine guidance for including eTag in response to PUT request
- Add guidelines to prefer "flat" over "nested" structures HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from api-guidelines.