g3/doc/standards.md
2023-04-27 19:36:01 +08:00

12 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

Encoding

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

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

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