mirror of
https://github.com/bytedance/g3.git
synced 2026-05-02 13:40:42 +00:00
313 lines
12 KiB
Markdown
313 lines
12 KiB
Markdown
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](https://datatracker.ietf.org/doc/html/rfc3986)
|
|
: Uniform Resource Identifier (URI): Generic Syntax
|
|
- [URL](https://url.spec.whatwg.org/)
|
|
: Living Standard
|
|
- [rfc1738](https://datatracker.ietf.org/doc/html/rfc1738)
|
|
: Uniform Resource Locators (URL)
|
|
|
|
## Prefixes for Binary Multiples
|
|
|
|
- [IEEE 1541-2002](https://en.wikipedia.org/wiki/IEEE_1541-2002)
|
|
: IEEE Standard for Prefixes for Binary Multiples
|
|
|
|
## Date and Time
|
|
|
|
- [rfc3339](https://datatracker.ietf.org/doc/html/rfc3339)
|
|
: Date and Time on the Internet: Timestamps
|
|
|
|
## UUID
|
|
|
|
- [rfc4122](https://datatracker.ietf.org/doc/html/rfc4122)
|
|
: A Universally Unique IDentifier (UUID) URN Namespace
|
|
|
|
## Encoding
|
|
|
|
- [netstring](http://cr.yp.to/proto/netstrings.txt)
|
|
|
|
## Syslog
|
|
|
|
- [rfc3164](https://datatracker.ietf.org/doc/html/rfc3164)
|
|
: The BSD syslog Protocol
|
|
- [rfc5424](https://datatracker.ietf.org/doc/html/rfc5424)
|
|
: The Syslog Protocol
|
|
- [CEE Log Syntax](https://cee.mitre.org/language/1.0-beta1/cls.html)
|
|
: CEE Log Syntax (CLS) Specification
|
|
- [CEE Log Transport](https://cee.mitre.org/language/1.0-beta1/clt.html)
|
|
: CEE Log Transport (CLT) Specification
|
|
|
|
## Fluentd
|
|
|
|
- [Forward-Protocol-Specification-v1](https://github.com/fluent/fluentd/wiki/Forward-Protocol-Specification-v1)
|
|
: Forward Protocol Specification v1
|
|
|
|
## PEN
|
|
|
|
- [PRIVATE ENTERPRISE NUMBERS](https://www.iana.org/assignments/enterprise-numbers/enterprise-numbers)
|
|
|
|
## IP Address
|
|
|
|
- [rfc6890](https://datatracker.ietf.org/doc/html/rfc6890)
|
|
: Special-Purpose IP Address Registries
|
|
- [rfc4291](https://datatracker.ietf.org/doc/html/rfc4291)
|
|
: IP Version 6 Addressing Architecture
|
|
- [rfc8215](https://datatracker.ietf.org/doc/html/rfc8215)
|
|
: Local-Use IPv4/IPv6 Translation Prefix
|
|
|
|
## Semantic Versioning
|
|
|
|
- [semver](https://semver.org/)
|
|
: Semantic Versioning 2.0.0
|
|
|
|
## X.509
|
|
|
|
- [rfc7468](https://datatracker.ietf.org/doc/html/rfc7468)
|
|
: Textual Encodings of PKIX, PKCS, and CMS Structures
|
|
- [rfc5280](https://datatracker.ietf.org/doc/html/rfc5280)
|
|
: Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile
|
|
|
|
## Cryptography
|
|
|
|
- [NIST SP 800-186](https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-186.pdf)
|
|
: Recommendations for Discrete Logarithm-based Cryptography: Elliptic Curve Domain Parameters
|
|
- [SEC2-v2](https://www.secg.org/sec2-v2.pdf)
|
|
: SEC 2: Recommended Elliptic Curve Domain Parameters
|
|
|
|
# Network Protocol
|
|
|
|
## Happy Eyeballs
|
|
|
|
- [rfc8305](https://datatracker.ietf.org/doc/html/rfc8305)
|
|
: Happy Eyeballs Version 2: Better Connectivity Using Concurrency
|
|
|
|
## PROXY protocol
|
|
|
|
- [haproxy-proxy-protocol](https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt)
|
|
: The PROXY protocol Versions 1 & 2
|
|
|
|
## Socks
|
|
|
|
### Socks4
|
|
|
|
- [SOCKS4](http://ftp.icm.edu.pl/packages/socks/socks4/SOCKS4.protocol)
|
|
: SOCKS: A protocol for TCP proxy across firewalls
|
|
- [SOCKS4a](https://www.openssh.com/txt/socks4a.protocol)
|
|
: SOCKS 4A: A Simple Extension to SOCKS 4 Protocol
|
|
|
|
### Socks5
|
|
|
|
- [rfc1928](https://datatracker.ietf.org/doc/html/rfc1928)
|
|
: SOCKS Protocol Version 5
|
|
- [rfc1929](https://datatracker.ietf.org/doc/html/rfc1929)
|
|
: Username/Password Authentication for SOCKS V5
|
|
- [rfc1961](https://datatracker.ietf.org/doc/html/rfc1961)
|
|
: GSS-API Authentication Method for SOCKS Version 5
|
|
- [draft-ietf-aft-socks-chap-01](https://datatracker.ietf.org/doc/html/draft-ietf-aft-socks-chap-01)
|
|
: Challenge-Handshake Authentication Protocol for SOCKS V5
|
|
|
|
### Socks6
|
|
|
|
- [draft-olteanu-intarea-socks-6-11](https://datatracker.ietf.org/doc/html/draft-olteanu-intarea-socks-6-11)
|
|
: SOCKS Protocol Version 6
|
|
|
|
## DNS
|
|
|
|
- [rfc2181](https://datatracker.ietf.org/doc/html/rfc2181)
|
|
: Clarifications to the DNS Specification
|
|
- [rfc4343](https://datatracker.ietf.org/doc/html/rfc4343)
|
|
: Domain Name System (DNS) Case Insensitivity Clarification
|
|
- [draft-madi-dnsop-udp4dns-00](https://datatracker.ietf.org/doc/id/draft-madi-dnsop-udp4dns-00.html)
|
|
: UDP payload size for DNS messages
|
|
- [rfc5625](https://datatracker.ietf.org/doc/html/rfc5625)
|
|
: DNS Proxy Implementation Guidelines
|
|
- [rfc5891](https://datatracker.ietf.org/doc/html/rfc5891)
|
|
: Internationalized Domain Names in Applications (IDNA): Protocol
|
|
- [rfc6891](https://datatracker.ietf.org/doc/html/rfc6891)
|
|
: Extension Mechanisms for DNS (EDNS(0))
|
|
- [rfc6761](https://datatracker.ietf.org/doc/html/rfc6761)
|
|
: Special-Use Domain Names
|
|
- [rfc7858](https://datatracker.ietf.org/doc/html/rfc7858)
|
|
: Specification for DNS over Transport Layer Security (TLS)
|
|
- [rfc8484](https://datatracker.ietf.org/doc/html/rfc8484)
|
|
: DNS Queries over HTTPS (DoH)
|
|
- [rfc9250](https://datatracker.ietf.org/doc/html/rfc9250)
|
|
: DNS over Dedicated QUIC Connections
|
|
- [iana-domains-reserved](https://www.iana.org/domains/reserved)
|
|
: IANA-managed Reserved Domains
|
|
|
|
## SSH
|
|
|
|
- [rfc4253](https://datatracker.ietf.org/doc/html/rfc4253)
|
|
: The Secure Shell (SSH) Transport Layer Protocol
|
|
|
|
## TLS
|
|
|
|
- [rfc8446](https://datatracker.ietf.org/doc/html/rfc8446)
|
|
: The Transport Layer Security (TLS) Protocol Version 1.3
|
|
|
|
- [GB/T 38636-2020](https://openstd.samr.gov.cn/bzgk/gb/newGbInfo?hcno=778097598DA2761E94A5FF3F77BD66DA)
|
|
: Information security technology—Transport layer cryptography protocol(TLCP)
|
|
|
|
## HTTP
|
|
|
|
- [rfc9110](https://datatracker.ietf.org/doc/html/rfc9110)
|
|
: HTTP Semantics
|
|
- [rfc9111](https://datatracker.ietf.org/doc/html/rfc9111)
|
|
: HTTP Caching
|
|
- [mozilla-http](https://developer.mozilla.org/en-US/docs/Web/HTTP)
|
|
: Web technology for developers - HTTP
|
|
- [rfc7617](https://datatracker.ietf.org/doc/html/rfc7617)
|
|
: The 'Basic' HTTP Authentication Scheme
|
|
- [rfc7239](https://datatracker.ietf.org/doc/html/rfc7239)
|
|
: Forwarded HTTP Extension
|
|
- [iana-http-methods](https://www.iana.org/assignments/http-methods)
|
|
: Hypertext Transfer Protocol (HTTP) Method Registry
|
|
- [iana-http-status-codes](https://www.iana.org/assignments/http-status-codes/http-status-codes)
|
|
: Hypertext Transfer Protocol (HTTP) Status Code Registry
|
|
- [iana-http-fields](https://www.iana.org/assignments/http-fields/http-fields.xhtml)
|
|
: Hypertext Transfer Protocol (HTTP) Field Name Registry
|
|
- [mozilla-http-headers](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers)
|
|
: HTTP headers
|
|
- [rfc6648](https://datatracker.ietf.org/doc/html/rfc6648)
|
|
: Deprecating the "X-" Prefix and Similar Constructs in Application Protocols
|
|
- [rfc9297](https://datatracker.ietf.org/doc/html/rfc9297)
|
|
: HTTP Datagrams and the Capsule Protocol
|
|
- [rfc9298](https://datatracker.ietf.org/doc/html/rfc9298)
|
|
: Proxying UDP in HTTP
|
|
- [iana-http-upgrade-tokens](https://www.iana.org/assignments/http-upgrade-tokens/http-upgrade-tokens.xhtml)
|
|
: Hypertext Transfer Protocol (HTTP) Upgrade Token Registry
|
|
- [iana-well-known-uris](https://www.iana.org/assignments/well-known-uris/well-known-uris.xhtml)
|
|
: Well-Known URIs
|
|
|
|
### HTTP/1.0
|
|
|
|
- [rfc1945](https://datatracker.ietf.org/doc/html/rfc1945)
|
|
: Hypertext Transfer Protocol -- HTTP/1.0
|
|
|
|
### HTTP/1.1
|
|
|
|
- [rfc9112](https://datatracker.ietf.org/doc/html/rfc9112)
|
|
: HTTP/1.1
|
|
|
|
### Http/2
|
|
|
|
- [rfc9113](https://datatracker.ietf.org/doc/html/rfc9113)
|
|
: HTTP/2
|
|
|
|
### Http/3
|
|
|
|
- [rfc9114](https://datatracker.ietf.org/doc/html/rfc9114)
|
|
: HTTP/3
|
|
|
|
### Websocket
|
|
- [rfc6455](https://datatracker.ietf.org/doc/html/rfc6455)
|
|
: The WebSocket Protocol
|
|
- [rfc8441](https://datatracker.ietf.org/doc/html/rfc8441)
|
|
: Bootstrapping WebSockets with HTTP/2
|
|
- [rfc9220](https://datatracker.ietf.org/doc/html/rfc9220)
|
|
: Bootstrapping WebSockets with HTTP/3
|
|
- [nginx-websocket-proxying](https://nginx.org/en/docs/http/websocket.html)
|
|
: WebSocket proxying
|
|
|
|
### FTP
|
|
|
|
- [rfc959](https://datatracker.ietf.org/doc/html/rfc959)
|
|
: FILE TRANSFER PROTOCOL (FTP)
|
|
- [rfc1639](https://datatracker.ietf.org/doc/html/rfc1639)
|
|
: FTP Operation Over Big Address Records (FOOBAR)
|
|
- [rfc2389](https://datatracker.ietf.org/doc/html/rfc2389)
|
|
: Feature negotiation mechanism for the File Transfer Protocol
|
|
- [rfc2428](https://datatracker.ietf.org/doc/html/rfc2428)
|
|
: FTP Extensions for IPv6 and NATs
|
|
- [rfc2640](https://datatracker.ietf.org/doc/html/rfc2640)
|
|
: Internationalization of the File Transfer Protocol
|
|
- [rfc3659](https://datatracker.ietf.org/doc/html/rfc3659)
|
|
: Extensions to FTP
|
|
- [rfc7151](https://datatracker.ietf.org/doc/html/rfc7151)
|
|
: File Transfer Protocol HOST Command for Virtual Hosts
|
|
- [iana-ftp-commands-extensions](https://www.iana.org/assignments/ftp-commands-extensions/ftp-commands-extensions.xhtml)
|
|
: FTP Commands and Extensions
|
|
- [draft-ietf-ftpext-utf-8-option-00](https://datatracker.ietf.org/doc/html/draft-ietf-ftpext-utf-8-option-00)
|
|
: UTF-8 Option for FTP
|
|
- [draft-ietf-ftpext-data-connection-assurance](https://datatracker.ietf.org/doc/html/draft-ietf-ftpext-data-connection-assurance)
|
|
: FTP Data Connection Assurance
|
|
- [draft-dd-pret-00](https://datatracker.ietf.org/doc/html/draft-dd-pret-00)
|
|
: Distributed Transfer Support for FTP
|
|
- [draft-rosenau-ftp-single-port-05](https://datatracker.ietf.org/doc/html/draft-rosenau-ftp-single-port-05)
|
|
: FTP EXTENSION ALLOWING IP FORWARDING (NATs)
|
|
|
|
### SMTP
|
|
|
|
- [rfc5321](https://datatracker.ietf.org/doc/html/rfc5321)
|
|
: Simple Mail Transfer Protocol
|
|
|
|
### POP3
|
|
|
|
- [rfc1939](https://datatracker.ietf.org/doc/html/rfc1939)
|
|
: Post Office Protocol - Version 3
|
|
|
|
### IMAP
|
|
|
|
- [rfc3501](https://datatracker.ietf.org/doc/html/rfc3501)
|
|
: INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1
|
|
- [rfc7162](https://datatracker.ietf.org/doc/html/rfc7162)
|
|
: IMAP Extensions: Quick Flag Changes Resynchronization (CONDSTORE) and Quick Mailbox Resynchronization (QRESYNC)
|
|
|
|
### NNTP
|
|
|
|
- [rfc3977](https://datatracker.ietf.org/doc/html/rfc3977)
|
|
: Network News Transfer Protocol (NNTP)
|
|
- [rfc8143](https://datatracker.ietf.org/doc/html/rfc8143)
|
|
: Using Transport Layer Security (TLS) with Network News Transfer Protocol (NNTP)
|
|
|
|
### MQTT
|
|
|
|
- [mqtt-v5.0-os](https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html)
|
|
: MQTT Version 5.0 OASIS Standard
|
|
- [mqtt-v3.1.1-os](http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html)
|
|
: MQTT Version 3.1.1 OASIS Standard
|
|
|
|
### RTMP
|
|
|
|
- [rtmp_specification_1.0](https://rtmp.veriskope.com/docs/spec/)
|
|
: Adobe RTMP Specification
|
|
|
|
### RTSP/2.0
|
|
|
|
- [rfc7826](https://datatracker.ietf.org/doc/html/rfc7826)
|
|
: Real-Time Streaming Protocol Version 2.0
|
|
|
|
### BitTorrent
|
|
|
|
- [bep_0003](http://bittorrent.org/beps/bep_0003.html)
|
|
: The BitTorrent Protocol Specification
|
|
|
|
### ICAP
|
|
|
|
- [rfc3507](https://datatracker.ietf.org/doc/html/rfc3507)
|
|
: Internet Content Adaptation Protocol (ICAP)
|
|
- [draft-icap-ext-partial-content-07](http://www.icap-forum.org/documents/specification/draft-icap-ext-partial-content-07.txt)
|
|
: ICAP Partial Content Extension
|
|
|
|
### WCCP
|
|
|
|
- [draft-wilson-wrec-wccp-v2-01](https://datatracker.ietf.org/doc/html/draft-wilson-wrec-wccp-v2-01)
|
|
: Web Cache Communication Protocol V2.0
|
|
|
|
### NAT Traversal
|
|
|
|
- [rfc8489](https://datatracker.ietf.org/doc/html/rfc8489)
|
|
: Session Traversal Utilities for NAT (STUN)
|
|
- [rfc8656](https://datatracker.ietf.org/doc/html/rfc8656)
|
|
: Traversal Using Relays around NAT (TURN): Relay Extensions to Session Traversal Utilities for NAT (STUN)
|
|
- [rfc8445](https://datatracker.ietf.org/doc/html/rfc8445)
|
|
: Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT) Traversal
|