RFC 2119 - Key words for use in RFCs to Indicate Requirement Levels (Parole chiave per indicare i livelli di requisito negli RFC)
Network Working Group (Gruppo di lavoro di rete): S. Bradner
Request for Comments (Richiesta di commenti): 2119
BCP: 14
Category (Categoria): Best Current Practice (Migliore pratica corrente)
Organization (Organizzazione): Harvard University (Università Harvard)
Date (Data): March 1997 (Marzo 1997)
Updated By (Aggiornato da): RFC 8174
Status of this Memo (Stato di questo promemoria)
This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements. Distribution of this memo is unlimited.
Questo documento specifica una migliore pratica corrente di Internet per la comunità Internet e richiede discussioni e suggerimenti per miglioramenti. La distribuzione di questo promemoria è illimitata.
Abstract (Sommario)
In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. Authors who follow these guidelines should incorporate this phrase near the beginning of their document:
In molti documenti di standardizzazione vengono utilizzate diverse parole per indicare i requisiti nella specifica. Queste parole sono spesso scritte in maiuscolo. Questo documento definisce queste parole come dovrebbero essere interpretate nei documenti IETF. Gli autori che seguono queste linee guida dovrebbero incorporare questa frase all'inizio del loro documento:
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.
Le parole chiave "MUST" (DEVE), "MUST NOT" (NON DEVE), "REQUIRED" (RICHIESTO), "SHALL" (DEVE), "SHALL NOT" (NON DEVE), "SHOULD" (DOVREBBE), "SHOULD NOT" (NON DOVREBBE), "RECOMMENDED" (RACCOMANDATO), "MAY" (PUÒ), e "OPTIONAL" (OPZIONALE) in questo documento devono essere interpretate come descritto nel RFC 2119.
Note that the force of these words is modified by the requirement level of the document in which they are used.
Si noti che la forza di queste parole è modificata dal livello di requisito del documento in cui vengono utilizzate.
1. MUST
This word, or the terms "REQUIRED" or "SHALL", mean that the definition is an absolute requirement of the specification.
Questa parola, o i termini "REQUIRED" o "SHALL", significano che la definizione è un requisito assoluto della specifica.
Parola italiana corrispondente: DEVE
Significato: La definizione è un requisito assoluto della specifica.
2. MUST NOT
This phrase, or the phrase "SHALL NOT", mean that the definition is an absolute prohibition of the specification.
Questa frase, o la frase "SHALL NOT", significano che la definizione è un divieto assoluto della specifica.
Parola italiana corrispondente: NON DEVE
Significato: La definizione è un divieto assoluto della specifica.
3. SHOULD
This word, or the adjective "RECOMMENDED", mean that there may exist valid reasons in particular circumstances to ignore a particular item, but the full implications must be understood and carefully weighed before choosing a different course.
Questa parola, o l'aggettivo "RECOMMENDED", significano che possono esistere ragioni valide in circostanze particolari per ignorare un elemento particolare, ma le implicazioni complete devono essere comprese e attentamente valutate prima di scegliere un corso diverso.
Parola italiana corrispondente: DOVREBBE
Significato: Fortemente raccomandato, ma le eccezioni possono esistere in circostanze specifiche. Le implicazioni devono essere pienamente comprese prima di scegliere un corso diverso.
4. SHOULD NOT
This phrase, or the phrase "NOT RECOMMENDED" mean that there may exist valid reasons in particular circumstances when the particular behavior is acceptable or even useful, but the full implications should be understood and the case carefully weighed before implementing any behavior described with this label.
Questa frase, o la frase "NOT RECOMMENDED", significano che possono esistere ragioni valide in circostanze particolari quando il comportamento particolare è accettabile o persino utile, ma le implicazioni complete dovrebbero essere comprese e il caso attentamente valutato prima di implementare qualsiasi comportamento descritto con questa etichetta.
Parola italiana corrispondente: NON DOVREBBE
Significato: Fortemente sconsigliato, ma le eccezioni possono esistere in circostanze specifiche. Le implicazioni dovrebbero essere pienamente comprese prima di implementare questo comportamento.
5. MAY
This word, or the adjective "OPTIONAL", mean that an item is truly optional. One vendor may choose to include the item because a particular marketplace requires it or because the vendor feels that it enhances the product while another vendor may omit the same item. An implementation which does not include a particular option MUST be prepared to interoperate with another implementation which does include the option, though perhaps with reduced functionality. In the same vein an implementation which does include a particular option MUST be prepared to interoperate with another implementation which does not include the option (except, of course, for the feature the option provides.)
Questa parola, o l'aggettivo "OPTIONAL", significano che un elemento è veramente opzionale. Un fornitore può scegliere di includere l'elemento perché un particolare mercato lo richiede o perché il fornitore ritiene che migliori il prodotto, mentre un altro fornitore può omettere lo stesso elemento. Un'implementazione che non include un'opzione particolare DEVE essere preparata a interoperare con un'altra implementazione che include l'opzione, anche se forse con funzionalità ridotte. Allo stesso modo, un'implementazione che include un'opzione particolare DEVE essere preparata a interoperare con un'altra implementazione che non include l'opzione (tranne, ovviamente, per la funzionalità che l'opzione fornisce.)
Parola italiana corrispondente: PUÒ
Significato: Completamente opzionale, gli implementatori possono scegliere liberamente se implementarlo o meno.
Requisiti di interoperabilità:
- Le implementazioni che non includono l'opzione DEVONO essere in grado di interoperare con le implementazioni che la includono
- Le implementazioni che includono l'opzione DEVONO essere in grado di interoperare con le implementazioni che non la includono
6. Guidance in the use of these Imperatives (Guida all'uso di questi imperativi)
Imperatives of the type defined in this memo must be used with care and sparingly. In particular, they MUST only be used where it is actually required for interoperation or to limit behavior which has potential for causing harm (e.g., limiting retransmissions). For example, they must not be used to try to impose a particular method on implementors where the method is not required for interoperability.
Gli imperativi del tipo definito in questo promemoria devono essere usati con cura e parsimonia. In particolare, DEVONO essere usati solo dove è effettivamente richiesto per l'interoperazione o per limitare comportamenti che hanno il potenziale di causare danni (ad esempio, limitare le ritrasmissioni). Ad esempio, non devono essere usati per cercare di imporre un metodo particolare agli implementatori dove il metodo non è richiesto per l'interoperabilità.
7. Security Considerations (Considerazioni sulla sicurezza)
These terms are frequently used to specify behavior with security implications. The effects on security of not implementing a MUST or SHOULD, or doing something the specification says MUST NOT or SHOULD NOT be done may be very subtle. Document authors should take the time to elaborate the security implications of not following recommendations or requirements as most implementors will not have had the benefit of the experience and discussion that produced the specification.
Questi termini sono frequentemente usati per specificare comportamenti con implicazioni di sicurezza. Gli effetti sulla sicurezza di non implementare un MUST o SHOULD, o di fare qualcosa che la specifica dice MUST NOT o SHOULD NOT essere fatto possono essere molto sottili. Gli autori dei documenti dovrebbero prendersi il tempo per elaborare le implicazioni di sicurezza del non seguire le raccomandazioni o i requisiti poiché la maggior parte degli implementatori non avrà avuto il beneficio dell'esperienza e della discussione che ha prodotto la specifica.
8. Acknowledgments (Ringraziamenti)
The definitions of these terms are an amalgam of definitions taken from a number of RFCs. In addition, suggestions have been incorporated from a number of people including Robert Ullmann, Thomas Narten, Neal McBurnett, and Robert Elz.
Le definizioni di questi termini sono un amalgama di definizioni prese da un numero di RFC. Inoltre, sono stati incorporati suggerimenti da un certo numero di persone tra cui Robert Ullmann, Thomas Narten, Neal McBurnett e Robert Elz.
9. Author's Address (Indirizzo dell'autore)
Scott Bradner
Harvard University
1350 Mass. Ave.
Cambridge, MA 02138
phone - +1 617 495 3864
email - [email protected]
References (Riferimenti)
- Testo ufficiale:
https://www.rfc-editor.org/rfc/rfc2119.txt - Data tracker:
https://datatracker.ietf.org/doc/html/rfc2119 - Aggiornato da: RFC 8174 -
https://www.rfc-editor.org/rfc/rfc8174.html
Tabella di riferimento rapido
| Parola chiave inglese | Parola italiana corrispondente | Livello di requisito | Può essere violato? |
|---|---|---|---|
| MUST | DEVE | Requisito assoluto | ❌ No |
| MUST NOT | NON DEVE | Divieto assoluto | ❌ No |
| REQUIRED | RICHIESTO | Requisito assoluto | ❌ No |
| SHALL | DEVE | Requisito assoluto | ❌ No |
| SHALL NOT | NON DEVE | Divieto assoluto | ❌ No |
| SHOULD | DOVREBBE | Fortemente raccomandato | ⚠️ Giustificazione richiesta |
| SHOULD NOT | NON DOVREBBE | Fortemente sconsigliato | ⚠️ Giustificazione richiesta |
| RECOMMENDED | RACCOMANDATO | Fortemente raccomandato | ⚠️ Giustificazione richiesta |
| NOT RECOMMENDED | NON RACCOMANDATO | Fortemente sconsigliato | ⚠️ Giustificazione richiesta |
| MAY | PUÒ | Opzionale | ✅ Sì |
| OPTIONAL | OPZIONALE | Opzionale | ✅ Sì |
Nota importante: Questa è una lettura obbligatoria per comprendere tutti i documenti RFC. Tutti i documenti di standardizzazione IETF dovrebbero seguire la semantica delle parole chiave definita in questa specifica.