Qual è la differenza tra i termini "protocollo" e "standard"?


13

Trovo confuso il termine "protocollo" (in termini di informatica). Se il protocollo è solo un insieme di regole, non sarebbe più semplice se usassimo invece il termine "standard" (come in "standard HTTP")?


8
Che cosa? Ho un protocollo non standard che uso ogni giorno per la comunicazione con un server. Chiaramente, le parole "protocollo" e "standard" non hanno nulla a che fare l'una con l'altra. Perché stai chiedendo? Dove hai visto queste parole in un contesto confuso? Espandi la tua domanda per spiegare più a fondo ciò che ti confonde.
S.Lott

@ S.Lott, Perché pensi che il tuo protocollo non sia standard?
Emanuil Rusev,

2
Non è standard perché l'ho inventato. So che non esiste uno standard esistente perché è unicamente mio. Ed è davvero brutto. E avrei dovuto usare HTTP, che è un protocollo standard. Il tuo commento non spiega la tua confusione. Spiega in che modo sei confuso tra Protocollo ("regole") e Standard ("approvato da un comitato")
S.Lott

Tutti gli standard sono inventati da qualcuno. Un insieme definito di regole è uno standard, indipendentemente da quante persone lo utilizzano. Ho sbagliato?
Emanuil Rusev,

1
Forse aiuta a pensare a un protocollo come a un tipo specifico di standard: uno standard che descrive il formato dei messaggi scambiati tra computer.
Kwebble

Risposte:


19

Non tutti i protocolli sono standard (alcuni sono proprietari). Non tutti gli standard sono protocolli (alcuni governano livelli diversi dalla comunicazione).


1
Uno standard non può essere proprietario?
Emanuil Rusev,

7
Gli standard proprietari non sono realmente standard; nessun altro può (o vorrebbe) implementarli e l'autore originale è libero di cambiarli a piacimento.
Scott C Wilson,

3
Uno standard proprietario può avere un processo formale per suggerire, approvare e apportare modifiche proprio come uno aperto. Non vi è alcun motivo per cui il processo debba essere "l'autore originale può fare ciò che vuole". In effetti, direi che sarebbe un'eccezione eccezionale alla regola. (Mantengo uno standard proprietario che la mia azienda è tenuta per contratto a cambiare solo in base a procedure documentate che includono la notifica e l'input da altre parti interessate presso le società partner. Questa è in realtà una clausola standard nelle politiche di gestione del cambiamento in molte grandi aziende.)
David Schwartz,

1
Non sono d'accordo sul fatto che non può essere uno standard se non è aperto. Nei primi 6 anni di PDF la specifica era proprietaria ma basata sull'adozione diffusa del formato proprietario penso che dovresti chiamarlo standard.
paparazzo,

Uno standard defacto può effettivamente essere proprietario ed è spesso l'inizio di uno standard o standardizzazione più aperto (da parte di un ente normativo).
Tracker1

9

Un protocollo non è un insieme di regole. Un protocollo è la cosa tali norme descrivono le regole di . Ecco perché i programmi implementano un protocollo e si conformano a uno standard.

I protocolli sono come le lingue. Gli standard sono come dizionari. Ad esempio, per analogia:

Questa risposta = Una pagina web
Lingua inglese = protocollo HTTP
Regole dell'inglese = standard HTTP


Non capisco Il protocollo HTTP può descrivere una risposta da un server, che sostanzialmente è una pagina web. Ciò dovrebbe significare che la stessa pagina web è un protocollo?
Emanuil Rusev,

1
Lo standard descrive il protocollo. Il protocollo non descrive nulla. La lingua inglese non descrive la mia risposta alla tua domanda. La mia risposta non è la lingua inglese.
David Schwartz,

2
@Emanuil, il protocollo HTTP non descrive una risposta da una pagina web; descrive le modalità di comunicazione con un server Web (inclusi i modi per ottenere pagine Web da detto server). Il protocollo stesso non è minimamente interessato alle pagine Web che sta trasportando; dal punto di vista del protocollo, il payload è solo una sequenza di parti, ognuna contenente una sequenza di caratteri. Ecco perché il contenuto può essere praticamente qualsiasi cosa: immagini, documenti XML e quant'altro. Ecco perché HTTP può essere utilizzato come meccanismo di trasporto per i servizi Web.
Péter Török,

2
@Emanuil, no. Considera cosa succede quando salvi una pagina web come file locale (gerarchia). Puoi ancora aprirlo nel browser e sembra esattamente lo stesso, anche se non è più coinvolto HTTP. Considera anche cosa succede quando scarichi un film, un documento PDF ecc. Dal web: il payload della risposta HTTP non ha nulla a che fare con una pagina web, è solo un file in un modo totalmente arbitrario (MPEG3, PDF, il tuo nome esso) formato.
Péter Török,

2
@Emanuil, HTTP in effetti definisce l'aspetto del pacchetto (un messaggio HTTP), ma definisce anche quali parti diverse (server, client, proxy) devono / possono / non possono fare con il messaggio: come (non) può essere modificato e / o archiviato, quali risposte inviare in situazioni specifiche, ecc. ecc.
Péter Török

8

Un protocollo definisce un insieme di regole utilizzate da due o più parti per interagire tra loro.

Uno standard è un protocollo formalizzato accettato dalla maggior parte delle parti che lo implementano.


È ovvio, grazie +1 per questo
Owais Qureshi,

Non tutti gli standard sono protocolli. Ad esempio, ISO 216 definisce quanto sono grandi i fogli di carta. Non ha nulla a che fare con i protocolli.
Simon B,

@SimonB "A4" è 210x297mm, "A3" è 297x420, ecc. Queste regole formano un protocollo che è quello che usi per comunicare quando vai in un negozio e chiedi a qualcuno di stampare qualcosa. ISO 216 formalizza questo protocollo, così come lo ha scritto.
Trasplazio Garzuglio,

3

I protocolli di comunicazione sono, per definizione, insiemi di regole che regolano i formati e le interazioni tra le parti comunicanti. Queste regole possono essere implicite e informali, come nelle tipiche interazioni sociali quotidiane tra le persone. Ma l'elettronica, e in particolare i computer digitali, richiedono che le cose siano molto più esplicite e formalizzate affinché avvenga una comunicazione affidabile.

Uno standard in questo contesto è un tentativo di risolvere un'area di potenziale fraintendimento o disaccordo. I protocolli di comunicazione sono una delle molte aree alle quali possono essere applicati gli standard. Un notevole insieme di standard che non sono protocolli di comunicazione, ad esempio, sono gli standard di misurazione e peso SI. Questi forniscono un riferimento fisso al quale è possibile confrontare qualsiasi dato quantitativo per misurarlo in un modo che non sarà ambiguo per tutti con accesso allo standard o una ragionevole approssimazione di esso.

Uno standard di protocollo di comunicazione è quindi una formalizzazione delle regole di un protocollo di comunicazione in modo tale che coloro che hanno accesso allo standard possano (idealmente) inequivocabilmente determinare se un particolare tentativo di comunicazione è conforme a tali regole. Così come il confronto di una particolare massa di metallo con il chilogrammo standard SI determinerà quanto è vicina la massa a un chilogrammo, il confronto di una particolare implementazione del protocollo con uno standard protocollo determinerà se sta davvero seguendo quel protocollo secondo lo standard. Quando tutte le parti seguono correttamente il protocollo come formalizzato nello standard, è (di nuovo, idealmente) garantito che si traduca nel livello di comunicazione che il protocollo è stato progettato per adattarsi.

Una specifica del protocollo di comunicazione è un mezzo mediante il quale le regole e i formati di un protocollo di comunicazione possono essere descritti a livello formale ed è spesso parte di (in effetti, la maggior parte di) uno standard di protocollo di comunicazione. Anche se lo scopo di uno standard è quello di creare un mezzo per determinare se qualcosa è davvero un esempio di cosa standardizzata, lo scopo di una specifica è quello di definire esattamente ciò che la cosa è nel caso in cui la cosa è definita da regole e formati, come è un protocollo di comunicazione. Una definizione inequivocabile di cosa sia qualcosa può essere usata sia per creare una nuova istanza di quella cosa sia per determinare se una cosa esistente è un'istanza della cosa che viene definita.

Quindi una specifica può essere usata come standard, ma essere una norma comporta anche il peso di un accordo sociale secondo cui esiste un valore nel conformarsi alla specifica abbastanza bene da consentire a più implementazioni di avere una certa sicurezza di lavorare insieme. Le parti interessate al presente accordo lavorano insieme per formare un organismo di standardizzazione al fine di definire gli standard su cui concorderanno ai fini del loro desiderio di poter fare affidamento sulla conformità a un protocollo. Senza la presenza di questo accordo sociale e dell'ente normativo mediante il quale vengono prodotti gli standard, le specifiche del protocollo non sono generalmente considerate standard, sebbene le specifiche ben definite abbiano sicuramente il potenziale per essere utilizzate come standard.


2

Secondo la mia comprensione, un protocollo descrive la comunicazione tra due punti. Un punto crea alcuni dati che l'altro punto deve interpretare. Un protocollo descrive il formato dei dati, gli stati, le richieste e le risposte e così via. Ad esempio una richiesta HTTP dal client e la risposta dal server.

Per un problema specifico, ci sono un gazillion di protocolli possibili. Di questi, uno standard sceglie un protocollo specifico e lo rende un po 'obbligatorio. Se tutti gli endpoint di comunicazione agiscono di conseguenza allo standard, possono comunicare tra loro e capirsi.

Questo può accadere ufficialmente o ufficiosamente, perché tutti i partner di comunicazione usano semplicemente lo stesso protocollo che poi è diventato il protocollo standard.


0

Definizione del protocollo:

una bozza originale, un verbale o un record da cui viene preparato un documento, in particolare un trattato.

Definizione di standard:

qualcosa considerato da un'autorità o dal consenso generale come base di confronto; un modello approvato.

Torna alla tua domanda

Se il protocollo è solo un insieme di regole, non sarebbe più semplice se usassimo invece il termine "standard" (come in "standard HTTP")?

HTTP è sia un protocollo che uno standard. È, infatti, un protocollo standard.

Citato da wiki

Lo sviluppo di standard di HTTP è stato coordinato dall'Internet Engineering Task Force (IETF) e dal World Wide Web Consortium (W3C), culminando nella pubblicazione di una serie di Request for Comments (RFC), in particolare RFC 2616 (giugno 1999) , che definisce HTTP / 1.1, la versione di HTTP di uso comune.


In altre parole, un "protocollo" è ciò che formalizza una specifica.
David Schwartz,

0

Un protocollo informatico è un insieme di regole che determinano il formato e il trasferimento dei dati. Il termine protocollo viene utilizzato perché rispecchia da vicino le regole di comportamento tra individui o nazioni. L'insieme di regole formali comuni nei protocolli informatici è molto simile alle regole della diplomazia (protocollo diplomatico) o dell'etichetta (protocollo personale). Uno standard è qualcosa di diverso e non una parola ricca per descrivere le interazioni che sono espresse all'interno di un protocollo. Inoltre, come notato da altri, potrebbe non essere necessario un protocollo standard.

Infine, C3PO era un droide di protocollo. Poteva quindi mediare tra i Droidi Astro Mech, i Vaporatori di Umidità e gli Ewok. Definirlo un droide standard non avrebbe così ampiamente descritto la sua funzione.


0

Sì, un protocollo è un insieme di regole.

Ciò non significa che qualsiasi insieme di regole sia un protocollo.
Una legge è un insieme di regole che non definirei protocollo.
HTML è un insieme di regole per il formato che non definirei un protocollo.

Uno standard è ampiamente adottato.
Uno standard non è limitato al protocollo o alle regole.
Un cerchio da 16 "per auto è qualcosa che definirei uno standard.

Un protocollo di comunicazione è un insieme di regole specifiche per la comunicazione . Può essere standard o proprietario. Se esiste un organismo di standard, allora è sicuramente uno standard.

Hai anche Open. Open è pubblicato e potrebbe essere o meno uno standard. Potrei avere un protocollo proprietario Open che significa che è qui e qui è fuori, io lavoro in modo che possa essere utilizzato ma non sto proponendo che sia uno standard del settore.

Può anche essere uno standard e proprietario. All'inizio il formato PDF era proprietario, ma era ancora presentato come standard.

In sintesi il protocollo e lo standard sono semplicemente la stessa cosa.


-3

Penso che per rispondere a questa domanda, possiamo includere anche altri termini, per rendere più chiari i concetti:

  1. Protocollo: un insieme di regole per la comunicazione tra computer (quindi, si sente il protocollo di solito nel campo della rete)
  2. Standard: un livello di qualità; Pertanto, è possibile scrivere codice, che funziona, ma non è un codice di qualità o non standard.
  3. Convenzione: solo una specie di accordo, come dire a qualcuno di mettere le immagini nella imgcartella. Non seguire le convenzioni non rompe la funzionalità, ma è considerato negativo tra le persone che hanno concordato quella convenzione.
  4. Specifica: una descrizione dettagliata, in particolare una che fornisce le informazioni necessarie per creare, costruire o produrre qualcosa.

Il protocollo non è la cosa astratta di cui le regole descrivono le regole? Il gioco degli scacchi non è lo stesso delle regole degli scacchi, vero? I protocolli non sono più simili ai giochi che alle regole?
David Schwartz,

1
"Un livello di qualità" è troppo stretto di una definizione. In che modo la norma ISO 3166-1 è un livello una qualità?
Emanuil Rusev,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.