Skip to content

Guidance on content negotiation #451

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Oct 24, 2017

Conversation

handrews
Copy link
Contributor

...and a few other minor wording improvements around HTTP usage.

@vasilakisfil I mostly added this in reaction to your comments about reactive negotiation in your talk. I'm not sure this is a great explanation of what I'm trying to convey, but it is a starting point at least.

@handrews handrews added this to the draft-07 (wright-*-02) milestone Oct 20, 2017
@handrews handrews requested review from philsturgeon and dlax October 20, 2017 06:05
above, a hyper-schema can include a schema for HTTP headers such as
"Accept", "Accept-Charset", "Accept-Language", etc with the "headerSchema"
keyword. A user agent or client application can use information in
this schema, such as an enumerated list of supported laguages, in lieu of

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

small typo on laguages

@vasilakisfil
Copy link

While this PR looks pretty good by itself, I am bit confused in the overall image, like:

  1. where these schemas will live
  2. how the client will retrieve them / how the client will serve them

I am a bit confused on that part (I was before I joined the discussion) and the spec didn't help me clarify this. Relevant: #427 (comment)

@handrews handrews force-pushed the content-negotiation branch from 0158f33 to e67e712 Compare October 20, 2017 19:29
@handrews handrews changed the base branch from req-resp to master October 20, 2017 19:29
...and a few other minor wording improvements around HTTP usage.
@handrews handrews force-pushed the content-negotiation branch from e67e712 to ac746e6 Compare October 21, 2017 02:53
@handrews
Copy link
Contributor Author

@vasilakisfil

  1. where these schemas will live
  2. how the client will retrieve them / how the client will serve them

That's intentionally unspecified, although maybe there is a way to make it more clear as to why and provide a bit of guidance.

Some systems will package and distribute schemas and not expect them to be fetched over the network (for instance, I worked on hardware appliance once that typically lived behind firewalls and would not have been able to download schemas). Other systems may expect them to be downloaded at runtime as they are encountered.

This is one reason for having both the "profile" (formerly)/"schema" (currently) link relation and the "describedBy" link relation, as one (profile/schema) is intended to identify the schema, and the other (describedBy) to provide network access to it if such a thing is possible. Although I personally still feel that's confusing and "describedBy" is pretty vague. But I don't have a better alternative right now.

Mostly just refer to the core spec and note that there are many
approaches depending on the use case and environmental constraints.
@handrews
Copy link
Contributor Author

@vasilakisfil I've added a note about linking hyper-schemas, does this seem reasonable to merge now? I also fixed the typo- thanks for catching that.

@vasilakisfil
Copy link

looks good to me!

@handrews handrews merged commit 924f7b3 into json-schema-org:master Oct 24, 2017
@handrews handrews deleted the content-negotiation branch October 24, 2017 06:57
@gregsdennis gregsdennis added clarification Items that need to be clarified in the specification and removed Type: Maintenance labels Jul 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
clarification Items that need to be clarified in the specification Priority: Medium
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants