Awesome
Awesome Protocols
Curated list of awesome technology protocols with a reference to official RFCs.
Listed protocols are open standards and agnostic by specific language implementations, anyway a library should be available in your preferred language. If not, you can write your own :)
Contents
Protocols
Electric Vehicles Recharge
- OCPP - Open Charge Point Protocol - A protocol that allows a client to control Mobility Charging Stations.
- OSCP - Open Smart Charging Protocol - A protocol that enables an optimized electric vehicle charging.
- OICP - Open Interchange Protocol - A protocol that enables CPO (Charge Point Operators) and (EMP) E-mobility Service Provider interoperability via Hubject hub.
- OCPI - Open Charge Point Interface - The Open Charge Point Interface (OCPI) enables a scalable, automated EV roaming setup between Charge Point Operators and eMobility Service Providers.
IoT Devices
- ONVIF - An interoperability protocol for IP-based physical security products. For instance, it allows us to control cameras streaming and PTZ (Pinch Tilt Zoom).
Authentication
- OAuth2 - A standard protocol for users and systems authentication.
- OpenID Connect - A protocol that adds an identity layer on top of the OAuth 2.0 protocol.
- SAML2 - A standard protocol for users authentication.
- SCIM2 - A standard protocol for users and groups management.
- PKCE - An extension of Authorization Code Grant flow by OAuth.
- OpenID Connect RP-Initiated Logout - A mechanism for a Relying Party to request that an OpenID Provider log out the End-User.
- OpenID Connect Back-Channel Logout - This specification defines a logout mechanism that uses direct back-channel communication between the OP and RPs being logged out.
- OpenID Connect Front-Channel Logout - This specification defines a logout mechanism that uses front-channel communication via the User Agent between the OP and RPs being logged out.
RPC
- gRPC - A Google framework for Remote Procedure Calls.
- Protocol Buffers - A language-neutral, platform-neutral, extensible way of serializing structured data for use in communications protocols.
- Thrift - An Apache framework for Remote Procedure Calls.
- DBus - A message bus system that enables multiple local applications to talk to one another.
Messaging
- MQTT - A lightweight messaging transport protocol, great for IoT communication.
- AMQP - A messaging transport protocol.
Data Formats
- GeoJSON - A geospatial data interchange format based on JSON.
- JWT - A standard method for securely representing claims between two parties.
- JSON Schema - A standard for JSON structure validation.
Consensus
- RAFT - A consensus algorithm for managing a replicated data.
- Scuttlebutt Protocol - Scuttlebutt is a protocol for building decentralized applications that work well offline and that no one person can control.
File Exchange
- WebDAV - A standard protocol for remote file editing, based on HTTP.
- FTP - A standard protocol for remote file editing.
4 Humans
- Semantic versioning - Semantic versioning is a formal convention for specifying compatibility using a three-part version number: major version; minor version; and patch.
- Conventional commits - A specification for adding human and machine readable meaning to commit messages.
Support
If you found an error or would like to add more information, don't hesitate to submit an issue on GitHub.
Everyone is welcome regardless of personal background. We enforce a Code of conduct in order to promote a positive and inclusive environment.
Contributors
- chrvadala (author)