g3/doc/standards.md
2023-10-13 14:49:40 +08:00

13 KiB

Standards

This file contains all the standards we have draw attention to during the development. The code should comply to these, but should be more compliant to existing popular implementations.

General

URI

  • rfc3986 : Uniform Resource Identifier (URI): Generic Syntax
  • URL : Living Standard
  • rfc1738 : Uniform Resource Locators (URL)

Prefixes for Binary Multiples

Date and Time

  • rfc3339 : Date and Time on the Internet: Timestamps

UUID

  • rfc4122 : A Universally Unique IDentifier (UUID) URN Namespace

Systemd Journal

Syslog

Fluentd

PEN

IP Address

  • rfc6890 : Special-Purpose IP Address Registries
  • rfc4291 : IP Version 6 Addressing Architecture
  • rfc8215 : Local-Use IPv4/IPv6 Translation Prefix

Semantic Versioning

  • semver
    Semantic Versioning 2.0.0

X.509

  • rfc7468 : Textual Encodings of PKIX, PKCS, and CMS Structures
  • rfc5280 : Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile
  • rfc5758 : Internet X.509 Public Key Infrastructure: Additional Algorithms and Identifiers for DSA and ECDSA
  • rfc4055 : Additional Algorithms and Identifiers for RSA Cryptography for use in the Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile
  • rfc9295 : Clarifications for Ed25519, Ed448, X25519, and X448 Algorithm Identifiers

Cryptography

  • NIST SP 800-186 : Recommendations for Discrete Logarithm-based Cryptography: Elliptic Curve Domain Parameters
  • SEC2-v2 : SEC 2: Recommended Elliptic Curve Domain Parameters

Network Protocol

Happy Eyeballs

  • rfc8305 : Happy Eyeballs Version 2: Better Connectivity Using Concurrency

PROXY protocol

Socks

Socks4

  • SOCKS4 : SOCKS: A protocol for TCP proxy across firewalls
  • SOCKS4a : SOCKS 4A: A Simple Extension to SOCKS 4 Protocol

Socks5

Socks6

DNS

  • rfc2181 : Clarifications to the DNS Specification
  • rfc4343 : Domain Name System (DNS) Case Insensitivity Clarification
  • draft-madi-dnsop-udp4dns-00 : UDP payload size for DNS messages
  • rfc5625 : DNS Proxy Implementation Guidelines
  • rfc5891 : Internationalized Domain Names in Applications (IDNA): Protocol
  • rfc6891 : Extension Mechanisms for DNS (EDNS(0))
  • rfc6761 : Special-Use Domain Names
  • rfc7858 : Specification for DNS over Transport Layer Security (TLS)
  • rfc8484 : DNS Queries over HTTPS (DoH)
  • rfc9250 : DNS over Dedicated QUIC Connections
  • iana-domains-reserved : IANA-managed Reserved Domains

SSH

  • rfc4253 : The Secure Shell (SSH) Transport Layer Protocol

TLS

  • rfc8446 : The Transport Layer Security (TLS) Protocol Version 1.3

  • GB/T 38636-2020 : Information security technology—Transport layer cryptography protocol(TLCP)

HTTP

HTTP/1.0

  • rfc1945 : Hypertext Transfer Protocol -- HTTP/1.0

HTTP/1.1

Http/2

Http/3

Websocket

FTP

SMTP

  • rfc5321 : Simple Mail Transfer Protocol

POP3

  • rfc1939 : Post Office Protocol - Version 3

IMAP

  • rfc3501 : INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1
  • rfc7162 : IMAP Extensions: Quick Flag Changes Resynchronization (CONDSTORE) and Quick Mailbox Resynchronization (QRESYNC)

NNTP

  • rfc3977 : Network News Transfer Protocol (NNTP)
  • rfc8143 : Using Transport Layer Security (TLS) with Network News Transfer Protocol (NNTP)

MQTT

STOMP

SMPP

  • SMPP : SMPP Protocol: API to enable SMS messaging between applications and mobiles
  • SMPP_v5 : Short Message Peer-to-Peer Protocol Specification Version 5.0

RTMP

RTSP/2.0

  • rfc7826 : Real-Time Streaming Protocol Version 2.0

BitTorrent

  • bep_0003 : The BitTorrent Protocol Specification

ICAP

WCCP

NAT Traversal

  • rfc8489 : Session Traversal Utilities for NAT (STUN)
  • rfc8656 : Traversal Using Relays around NAT (TURN): Relay Extensions to Session Traversal Utilities for NAT (STUN)
  • rfc8445 : Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT) Traversal