graphql-over-http VS fetch

Compare graphql-over-http vs fetch and see what are their differences.

SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
surveyjs.io
featured
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
graphql-over-http fetch
12 35
359 2,078
0.6% 0.5%
7.0 5.9
about 1 month ago 4 days ago
JavaScript HTML
MIT License GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

graphql-over-http

Posts with mentions or reviews of graphql-over-http. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-08-15.
  • What complaints do you have about GraphQL?
    1 project | /r/graphql | 12 Oct 2023
    Another major pain is the fact that operation names and HTTP codes are often hidden in request bodies which makes it really hard to see what is going on in standard monitoring tools. It's possible to write some converter but it's beyond me why some people decided that requests which failed on the server respond with status 200. GraphQL spec doesn't define how it should behave, there's only a proposal (https://github.com/graphql/graphql-over-http)
  • GraphQL errors: the Good, the Bad and the Ugly
    1 project | dev.to | 5 Jan 2023
    The GraphQL over HTTP specification states the following:
  • Websocket with socket.io or GraphQL subscriptions
    4 projects | /r/graphql | 15 Aug 2022
    However, if you are doing GraphQL subscriptions over Server Sent Events (HTTP) (which is currently not part of the GraphQL over HTTP specification), the data flow is only from server to client. So each operation must be a separate request, which should be no problem when using HTTP/2, as the browser connection limit is not hit so fast (There are also workarounds to this if you cannot ise HTTP/2).
  • Question about using fetch with a delete mutation
    1 project | /r/graphql | 12 Apr 2022
    Complementary to the note, you can learn more about GraphQL over HTTP in the specification over here: https://github.com/graphql/graphql-over-http/blob/main/spec/GraphQLOverHTTP.md
  • Announcing GraphQL Yoga 2.0!
    10 projects | dev.to | 29 Mar 2022
    GraphQL-spec, GraphQL-over-HTTP: guarantees your GraphQL API to work with all existing GraphQL clients (Apollo, Relay, URQL, and more).
  • The Anatomy of a GraphQL Request
    3 projects | dev.to | 30 Jan 2022
    Note: While GraphQL can be done over almost any protocol, this article focuses on the most commonly used protocol GraphQL over HTTP. However, most knowledge can be transferred to other protocols such as GraphQL over WebSockets or other more exotic ones.
  • Is graphql payload usually like a string of query?
    1 project | /r/graphql | 4 Dec 2021
    There is also the GraphQL over HTTP Specification repository https://github.com/graphql/graphql-over-http
  • GraphQL over SSE (Server-Sent Events)
    5 projects | dev.to | 31 Aug 2021
    graphql-sse is a reference implementation of the GraphQL over Server-Sent Events Protocol aiming to become a part of the GraphQL over HTTP standard.
  • GraphQL over WebSockets
    9 projects | dev.to | 29 Jul 2021
    With no further ado - I humbly introduce graphql-ws. A coherent, feature-full, zero-dependency, plug-n-play, lazy, simple, server and client implementation of the new, security first GraphQL over WebSocket Protocol with full support for all 3 GraphQL operations: Queries, Mutations and Subscriptions. The protocol aims to be standardised and become a part of GraphQL with the help of the foundation’s GraphQL over HTTP work group.
  • How to handle errors that are from "context creation" ?
    1 project | /r/graphql | 30 Jun 2021
    You could additionally also choose a specific HTTP code for that scenario (although that would contradict the official GraphQL over HTTP spec https://github.com/graphql/graphql-over-http/blob/main/spec/GraphQLOverHTTP.md).

fetch

Posts with mentions or reviews of fetch. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-11-02.
  • JavaScript fetch does not support GET request with body
    1 project | news.ycombinator.com | 21 Nov 2023
  • GitHub Engineering: When MTLS Is Done Wrong
    3 projects | news.ycombinator.com | 2 Nov 2023
    mTLS has warts when used cross-origin. Fetch spec says that pre-flight requests mustn't include client certificates[1], so as a consequence servers behind mTLS authenticated proxy won't get a chance to reply to those pre-flight. Yet for non-preflighted requests it's fine to include client certificates..

    [1] https://fetch.spec.whatwg.org/#cors-protocol-and-credentials

  • Node.js fetch() vs. Deno fetch(): Implementation details...
    6 projects | /r/Deno | 2 Aug 2023
    I've been testing full duplex streaming from and to the browser using fetch() in a Native Messaging host. (No browser currently support full duplex streaming even though HTTP/2 does, see Fetch body streams are not full duplex #1254).
  • How do I detect requests initiated by the new fetch standard? How should I detect an AJAX request in general?
    2 projects | /r/codehunter | 2 Jul 2023
    Most js libraries use XMLHttpRequest and so provide HTTP_X_REQUESTED_WITH: XMLHttpRequest, but neither Chrome's implementation nor Github's polyfill of the new fetch uses a similar header. So how can one detect that the request is AJAX?
  • Server Sent Events
    3 projects | news.ycombinator.com | 15 May 2023
    Any resource of significance should be given a URI. https://www.w3.org/DesignIssues/Axioms.html#uri

    Or alternatively,

    > Cool URLs don't change (implicitly, cool things have URLs, see above). https://www.w3.org/Provider/Style/URI

    The advantage would be so high. It'd become a standard way to assert a resource, to make known a fact, that would be viable across systems. Instead of pushing to a chat app an anonymous chat message in a room, the server could assert a /room/42/msg/c0f3 resource, could identify universally what it is it's sending.

    We have come glancingly close to getting such a thing so many times. The HyBi mailing list that begat websockets had a number of alternate more resourceful ideas floating around such as a BEEP protocol that allowed patterns beyond request/response of resources. The browser actually implements an internal protocol that uses HTTP2/push to send resourceful messages... Even though http2/push was de-implemented for webserving in general, and even though ability to hear push events was never implemented (oft requested).

    The best we have today is to stream json-ls events, which have an @id property identifying them. But developers would have to snoop these events, and store them in a service worker, to make them actually accessible as http resources.

    I continue to hold hope eventually we'll get better at using urls to send data, to assert new things happening... But it's been nearly 30 years of me hoping, and with some fleeting exceptions the browser teams have seemed disinterested in making urls cool, in spite of a number of requests. https://github.com/whatwg/fetch/issues/65 was an old request. https://github.com/whatwg/fetch/issues/607 had some steam in making it happen.

  • [Express] - How to have a self-updating display in browser window? Template Engines sufficient? Or use Vue/Angular/React?]
    2 projects | /r/learnjavascript | 14 May 2023
    Fetch
  • Adding timeout and multiple abort signals to fetch() (TypeScript/React)
    4 projects | dev.to | 29 Apr 2023
    Proposal: fetch with multiple AbortSignals - I got the idea of merging multiple signals from here.
  • My experience being blocked by Google Safe Browsing
    1 project | news.ycombinator.com | 2 Apr 2023
    Port 10080 is blocked on most browsers[0] per the WhatWG "bad ports" list[1]. That particular port was added to the list due to the Slipstream attack[2] that made the news a few years ago[3].

    You don't have to switch to a browser that ignores standard security mitigations. Just pick a different port for your service.

    [0] I just tested Chrome, Firefox, and Safari.

    [1] https://fetch.spec.whatwg.org/#bad-port

    [2] https://samy.pl/slipstream/

    [3] https://news.ycombinator.com/item?id=24955891

  • Substack is now powered by Ghost
    3 projects | news.ycombinator.com | 12 Dec 2022
    Note that caching resources across sites isn't really a thing anymore. See https://github.com/whatwg/fetch/issues/904
  • Help with HTTP requests
    1 project | /r/learnjavascript | 5 Nov 2022

What are some alternatives?

When comparing graphql-over-http and fetch you can also consider the following projects:

graphql-sse - Zero-dependency, HTTP/1 safe, simple, GraphQL over Server-Sent Events Protocol server and client.

cors-anywhere - CORS Anywhere is a NodeJS reverse proxy which adds CORS headers to the proxied request.

fastify-websocket - basic websocket support for fastify

undici - An HTTP/1.1 client, written from scratch for Node.js

graphql-yoga - 🧘 Rewrite of a fully-featured GraphQL Server with focus on easy setup, performance & great developer experience. The core of Yoga implements WHATWG Fetch API and can run/deploy on any JS environment.

deno - A modern runtime for JavaScript and TypeScript.

redwood - The App Framework for Startups

http-proxy - A full-featured http proxy for node.js

subscriptions-transport-ws - :arrows_clockwise: A WebSocket client + server for GraphQL subscriptions

cors-playground

ws - Simple to use, blazing fast and thoroughly tested WebSocket client and server for Node.js

university-domains-list - University Domains and Names Data List & API