Standards Compliance in Squid

Synopsis

Squid behaviour is governed by a great many International standards and requirements. Below is a list of the standards to which Squid is expected to obey and an indication of whether we believe it does.

  • This list was updated 2022-06-09. Details are believed to be accurate for the current release 5.6 or later.
  • {i} this list is known to be incomplete. If you are aware of anything important which has been omitted please report it as a website bug.

Formal Certifications

At this point there are none on record. We are looking for information and possibly sponsorship to obtain any certifications which are required for use in your network.

IEFT RFC standards

RFC

Name

Status

959
(IEN 149)

FILE TRANSFER PROTOCOL (FTP)

(./)

1035

DOMAIN NAMES - IMPLEMENTATION AND SPECIFICATION

(./)

client only

1157

A Simple Network Management Protocol (SNMP)

{i} version 2c

1413

Identification Protocol (IDENT)

(./)

note bug 2853

1436

The Internet Gopher Protocol
(a distributed document search and retrieval protocol)

(./)

client and gateway to HTTP

1902

Structure of Management Information
for Version 2 of the
Simple Network Management Protocol (SNMPv2)

1905

Protocol Operations
for Version 2 of the
Simple Network Management Protocol (SNMPv2)

1945

Hypertext Transfer Protocol -- HTTP/1.0

(./)

2169

A Trivial Convention for using HTTP in URN Resolution

(./)

2181

Clarifications to the DNS Specification

(./)

2186

Internet Cache Protocol (ICP), version 2

(./)

2187

Application of Internet Cache Protocol (ICP), version 2

(./)

2227

Simple Hit-Metering and Usage-Limiting for HTTP

2295

Transparent Content Negotiation in HTTP

2296

HTTP Remote Variant Selection Algorithm -- RVSA/1.0

{X}

2310

The Safe Response Header Field

{X}

Specifications for this feature are deprecated.

2428

FTP Extensions for IPv6 and NATs

(./)

since Squid-3.1

2518

HTTP Extensions for Distributed Authoring -- WEBDAV

(./)

since Squid-3.1

2722

Traffic Flow Measurement: Architecture

{X}

2756

Hyper Text Caching Protocol (HTCP/0.0)

(./)

2774

An HTTP Extension Framework

(./)

2817

Upgrading to TLS Within HTTP/1.1

{X}

2964

Use of HTTP State Management

2965

HTTP State Management Mechanism

3225

Indicating Resolver Support of DNSSEC

(./)

{i} no-support conditional compliance.

3226

DNSSEC and IPv6 A6 aware server/resolver message size requirements

3253

Versioning Extensions to WebDAV
(Web Distributed Authoring and Versioning)

(./)

since Squid-3.1

3310

Hypertext Transfer Protocol (HTTP) Digest Authentication
Using Authentication and Key Agreement (AKA)

3493

Basic Socket Interface Extensions for IPv6

(./)

3507

Internet Content Adaptation Protocol (ICAP)

client only, PRECACHE vectors only

3596

DNS Extensions to Support IP Version 6

(./)

3744

Web Distributed Authoring and Versioning (WebDAV)<BR>>Access Control Protocol

(./)

since Squid-3.1

3875

The Common Gateway Interface (CGI) Version 1.1

(./)

cachemgr.cgi

3986

Uniform Resource Identifier (URI): Generic Syntax

/!\

since Squid-4.12. still uses rc1738 encoder on some URI segments and helper protocol. Merge Request 335

4001

Textual Conventions for Internet Network Addresses

(./)

4266

The gopher URI Scheme

(./)

4288

The telnet URI Scheme

{X}

4291

IP Version 6 Addressing Architecture

(./)

4559

SPNEGO-based Kerberos and NTLM HTTP Authentication
in Microsoft Windows

4918

HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)

6266

Use of the Content-Disposition Header Field in the
Hypertext Transfer Protocol (HTTP)

{X}

6540
(BCP 177)

IPv6 Support Required for All IP-Capable Nodes

(./)

6570

URI Template

{X}

6585

Additional HTTP Status Codes

(./)

6762

Multicast DNS

(./)

client only

6750

The OAuth 2.0 Authorization Framework: Bearer Token Usage

{X}

Merge Request 30

6874

Representing IPv6 Zone Identifiers in
Address Literals and Uniform Resource Identifiers

{X}

7236

Initial Hypertext Transfer Protocol (HTTP)
Authentication Scheme Registrations

almost

missing support for Bearer and OAuth schemes

7237

Initial Hypertext Transfer Protocol (HTTP) Method Registrations

{X}

7239

Forwarded HTTP Extension

{X}

Merges Request 55

7240

Prefer HTTP Extension

(./)

conditional; proxy MUST relay unless listed in Connection header.

7541

HPACK: Header Compression for HTTP/2

{X}

see Features/HTTP2 and Merge Request 893

7595

Guidelines and Registration Procedures for URI Schemes

{X}

Missing prohibition of example: URI scheme

7616

HTTP Digest Access Authentication

/!\

Missing support for several Digest features

7617

The 'Basic' HTTP Authentication Scheme

/!\

missing new charset support.

7639

The ALPN HTTP Header Field

{X}

7725

An HTTP Status Code to Report Legal Obstacles

{X}

7838

HTTP Alternative Services

{X}

7858

Specification for DNS over Transport Layer Security (TLS)

{X}

8164

Opportunistic Security for HTTP/2

{X}

8187

Indicating Character Encoding and Language for HTTP Header Field Parameters

{X}

8188

Encrypted Content-Encoding for HTTP

{X}

8246

HTTP Immutable Responses

(./)

partial. see bug 4774

8297

An HTTP Status Code for Indicating Hints

{X}

8336

The ORIGIN HTTP/2 Frame

{X}

8441

Bootstrapping WebSockets with HTTP/2

{X}

8470

Using Early Data in HTTP

{X}

Merge Request 873

8586

Loop Detection in Content Delivery Networks (CDNs)

(./)

from Squid-5.

8615

Well-Known Uniform Resource Identifiers (URIs)

{X}

8673

HTTP Random Access and Live Content

{X}

8941

Structured Field Values for HTTP

{X}

8942

HTTP Client Hints

{X}

8999

Version-Independent Properties of QUIC

{X}

Merge Request 919

9000

QUIC: A UDP-Based Multiplexed and Secure Transport

{X}

Merge Request 919

9001

Using TLS to Secure QUIC

{X}

9002

QUIC Loss Detection and Congestion Control

{X}

9110
(STD 97)

HTTP Semantics

(./)

some conditional features, see Features/HTTP11

9111
(STD 98)

HTTP Caching

(./)

conditional, see Features/HTTP11

9112
(STD 99)

HTTP/1.1

almost

see Features/HTTP11

9113

HTTP/2

/!\

{i} HTTP/1.x relay and no-support conditional compliance. see Features/HTTP2 and Merge Request 893

9114

HTTP/3

{X}

9163

Expect-CT Extension for HTTP

{X}

9205
(BCP 56)

Building Protocols with HTTP

9209

The Proxy-Status HTTP Response Header Field

(./)

Squid-4

9211

The Cache-Status HTTP Response Header Field

/!\

conditional

9213

Targeted HTTP Cache Control

{X}

9218

Extensible Prioritization Scheme for HTTP

{X}

9220

Bootstrapping WebSockets with HTTP/3

{X}

9230

Oblivious DNS over HTTPS

/!\

HTTPS relay only

IETF Drafts

https://datatracker.ietf.org/doc/html/draft-forster-wrec-wccp-v1

WCCP 1.0

(./)

https://datatracker.ietf.org/doc/html/draft-wilson-wrec-wccp-v2

WCCP 2.0

almost

https://datatracker.ietf.org/doc/html/draft-param-wccp-v2rev1-01

WCCP 2.0 rev 1

{X}

https://datatracker.ietf.org/doc/html/draft-vinod-carp-v1

Microsoft CARP peering algorithm

https://datatracker.ietf.org/doc/html/draft-ietf-radext-digest-auth

RADIUS Extension for Digest Authentication

https://datatracker.ietf.org/doc/html/draft-kazuho-early-hints-status-code

103 Early Hints Status Code

ISO standards

ISO-8859-1

Latin alphabet No. 1

(./)

Non-standard Protocols

PROXY

The PROXY protocol, Versions 1 & 2

(./)


CategoryKnowledgeBase

StandardsCompliance (last edited 2022-06-09 12:56:15 by AmosJeffries)