Repository: moby/moby (language: go)

Issue:
Draft RFC link in pkg/archive outdated
### Description

I noticed the link to a Draft RFC in the file https://github.com/moby/moby/blob/master/pkg/archive/archive.go#L163 is outdated because the Draft RFC expired.

I suggest to change
```
https://tools.ietf.org/id/draft-kucherawy-dispatch-zstd-00.html#rfc.section.2
```
to
```
https://datatracker.ietf.org/doc/html/rfc8878#section-3
```

But i am not sure if `datatracker.ietf.org` is the preferred page for RFCs.

### Reproduce

Try access
```
https://tools.ietf.org/id/draft-kucherawy-dispatch-zstd-00.html#rfc.section.2
```

Will result in a 404 error

### Expected behavior

The link to the RFC should be valid.

### docker version

```bash
unrelated
```


### docker info

```bash
unrelated
```


### Additional Info

_No response_


Discussion / hints:
Hi @bobidle & @corhere , I'm a beginner who wants to start contributing to open-source projects. I reviewed this issue and checked the links. 

As you reported above, the previous link (https://tools.ietf.org/id/draft-kucherawy-dispatch-zstd-00.html#rfc.section.2) gives 404 error. While the other link (https://datatracker.ietf.org/doc/html/rfc8878#section-3) has the detailed information regarding Zstandard Compression. The same documentation can also be accessed using this link (https://datatracker.ietf.org/doc/rfc8878/). 

I want to contribute to this issue and need your guidance in this regard. Your feedback would be highly appreciated. 

Regards,
Linking to the most specific section of the RFC relevant to the code being documented would be preferred over linking to the top of the same.
👋 Another open source beginner here. Agree with the point about linking to the specific section in the RFC.

> But i am not sure if datatracker.ietf.org is the preferred page for RFCs.

Fwiw, grepping the code suggests to me that there is precedence in both this project and others for using `datatracker.ietf.org` links for RFCs. I was potentially interested in picking this issue up, but I'll let @binary-exe take the first stab at it 🙂.
> Linking to the most specific section of the RFC relevant to the code being documented would be preferred over linking to the top of the same.

@corhere Thanks for your guidance. I digged a little into RFC standards and found that Internet Engineering Task Force (IETF) is the maintainer of RFCs and the IETF Datatracker is official repository for RFCs. Hence, the link you recommended (https://datatracker.ietf.org/doc/html/rfc8878#section-3) is a preferred RFC reference document. 

Moreover, IETF provides a link to the same RFC 8878 as a pdf but with a slightly different format.  https://www.ietf.org/rfc/rfc8878.pdf
Another platform known as rfc-editor.org has the same document as the above pdf but in the form of a website link. https://www.rfc-editor.org/rfc/rfc8878#section-3

In short, we can use either of these three links as they all are Authorized from IETF. Please let me know if you find it helpful. 

Fix patch:
diff --git a/pkg/archive/archive.go b/pkg/archive/archive.go
index 43133a0950a1b..3418cfc50e053 100644
--- a/pkg/archive/archive.go
+++ b/pkg/archive/archive.go
@@ -159,7 +159,7 @@ func magicNumberMatcher(m []byte) matcher {
 // zstdMatcher detects zstd compression algorithm.
 // Zstandard compressed data is made of one or more frames.
 // There are two frame formats defined by Zstandard: Zstandard frames and Skippable frames.
-// See https://tools.ietf.org/id/draft-kucherawy-dispatch-zstd-00.html#rfc.section.2 for more details.
+// See https://datatracker.ietf.org/doc/html/rfc8878#section-3 for more details.
 func zstdMatcher() matcher {
 	return func(source []byte) bool {
 		if bytes.HasPrefix(source, zstdMagic) {


Test patch: