QNA > Q > Qual È La Differenza Tra Un'api E Un Protocollo?

Qual è la differenza tra un'API e un protocollo?

Un'API descrive tutti i messaggi validi che un programma può accettare. Non dice nulla sull'ordine corretto di questi messaggi, o sulla loro interazione con altri programmi.

I protocolli stanno sopra le API. Un protocollo descrive la sequenza valida di messaggi che fluiscono tra le API di più parti per realizzare qualche compito di livello superiore.

Così, un oggetto HTTPRequest potrebbe avere un'API come:

open(method)
addHeader(name, value)
send(data, progressHandler)
abort()

con una corrispondente API HTTPRequestProgressHandler come:

onprogress(percentComplete)
onsuccess()
onerror()
onaborted()

Il protocollo per inviare una richiesta con questa API potrebbe essere:

1. Chiamare open()
2. Chiamare addHeader() se necessario
3. Chiamare send(), passando opzionalmente un progressHandler
4. Il progressHandler avrà il suo metodo onprogress chiamato ripetutamente mentre il send() è in corso
5. Chiama abort() se necessario
6. Il progressHandler avrà il suo metodo onsucess, onerror, o onaborted chiamato quando la richiesta si completa.

Nota che il termine "messaggio" qui è concettuale. Le API e i protocolli possono avvenire su qualsiasi mezzo di comunicazione. I messaggi potrebbero essere chiamate di funzioni locali all'interno di un processo, chiamate IPC all'interno di una macchina, bit su un filo, chiamate REST attraverso internet, ecc.

Di Amil

Cos'è un file di registro web? :: Perché i messaggi possono rimanere bloccati nella posta in uscita in Outlook ma non in Gmail?
Link utili