Skip to content

Add GraphQL over HTTP announcement post - #2485

Draft
martinbonnin wants to merge 5 commits into
sourcefrom
graphql-over-http-post
Draft

Add GraphQL over HTTP announcement post#2485
martinbonnin wants to merge 5 commits into
sourcefrom
graphql-over-http-post

Conversation

@martinbonnin

Copy link
Copy Markdown
Contributor

September is coming! Getting ready for that initial release! Opened as draft cause some links are missing and also to encourage early feedback.

@vercel

vercel Bot commented Aug 12, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
graphql-github-io Ready Ready Preview Aug 14, 2026 10:48am

Request Review


Since the [initial release of GraphQL in 2015](https://github.com/graphql/graphql-spec/releases/tag/July2015), the GraphQL specification has always been transport agnostic.

If you read the GraphQL specification closely, you won't see any mention of a "server" or a "client", only of "services", taking "requests" in, executing them, and producing "responses".

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

GraphQL is a query language designed to build client applications by providing an intuitive and flexible syntax and system for describing their data requirements and interactions.

The spec uses the term client 37 times.

@martinbonnin martinbonnin Aug 14, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

My mistake, what I wanted to express was this concept from @leebyron :

- Lee: the spec doesn't really make a distinction between client and server. Given an 
operation text and a schema, produce a result. There'd be a very high bar to introduce 
the concept of server/client to the spec text - we don't have them currently. Relay 
_is_ a GraphQL service.

I'll rephrase


If you read the GraphQL specification closely, you won't see any mention of a "server" or a "client", only of "services", taking "requests" in, executing them, and producing "responses".

This is generally useful. You can use GraphQL on your local machine, over raw TCP, [avian carriers](https://en.wikipedia.org/wiki/IP_over_Avian_Carriers), or anywhere else. For the large crowd using GraphQL over HTTP, though, the lack of a specification made interoperability more difficult than it should have been.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Did it? GraphQL has always had HTTP guidance and most GraphQL services and clients have interoperated over HTTP just fine for the last 11 years - 200 + JSON.stringify are a straightforward combo. This spec is more about formalisation and encouraging best practices whilst setting us up for a future of greater capabilities (pun intended). Unless you mean interoperability with non-GraphQL software? If so you should be more explicit.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Yea, I mostly meant interop with observability tools (The 200 Not OK memes). I've pushed a small clarification. Let me know what you think.

Comment thread src/pages/blog/2026-09-01-announcing-the-graphql-over-http-spec.mdx
Comment thread src/pages/blog/2026-09-01-announcing-the-graphql-over-http-spec.mdx Outdated
Comment thread src/pages/blog/2026-09-01-announcing-the-graphql-over-http-spec.mdx Outdated

@benjie benjie left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Good post; thanks for drafting this, Martin! I’ll remove it from my TODO list 🙌

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants