Zum Inhalt springen

Digital Audio Access Protocol

aus Wikipedia, der freien Enzyklopädie
{{#if: | {{{title}}} | DAAP}} im TCP/IP-Protokollstapel:
Anwendung {{#if: | DAAP | DAAP}}

{{#if: |

HTTP [[{{{A2}}}]]
HTTP

}}

Transport TCP
Internet IP (IPv4, IPv6)
Netzzugang Ethernet Token
Bus
Token
Ring
FDDI

{{#invoke:Vorlage:lang|flat}} ({{#invoke:Vorlage:lang|flat}}, englisch für ‚Digitalaudio-Zugriffsprotokoll‘) ist ein Netzwerkprotokoll, um auf einem Rechner gespeicherte Audiodateien über ein Rechnernetz anderen Nutzern zugänglich zu machen. Es wurde erstmals von dem Musikabspielprogramm iTunes 4.0 des US-amerikanischen Unternehmens Apple verwendet.

Beschreibung und Einsatz

Eine offizielle Spezifikation des Protokolls hat der Hersteller Apple nicht veröffentlicht, jedoch liegt eine offene Beschreibung auf SourceForge vor, die durch Untersuchung der Wirkungsweise (Reverse Engineering) gewonnen wurde. Es handelt sich um ein erweitertes HTTP, dessen Server Anfragen standardmäßig auf TCP-Port 3689 empfängt. Die Verfügbarkeit des Dienstes wird über Bonjour (Apples Umsetzung von Zeroconf) im Netzwerk bekannt gemacht und kann so von DAAP-Clients automatisch gefunden werden.

Inzwischen existieren neben iTunes (Mac OS X, Microsoft Windows) zahlreiche Anwendungen, die einen DAAP-Client, DAAP-Server oder beides enthalten, z. B. die quelloffenen Programme Rhythmbox, Banshee und seit der Version 1.4.2 auch Amarok. Alle drei sind für unixoide Betriebssysteme ausgelegt. Für das Betriebssystem Windows existiert beispielsweise der DAAP-Client {{#invoke:Vorlage:lang|flat}}. Betriebssystemübergreifend kann auch Songbird über eine Erweiterung als DAAP-Client dienen. Noch in der Entwicklung, aber ebenfalls betriebssystemübergreifend, fungiert auch XMMS2 als DAAP-Client (Stand 2014).

DAAP-Authentifizierung

Mit Version 4.2 von iTunes führte Apple eine Authentifizierung für den Zugang zu einem iTunes-Server ein, die mit Version 4.5 verändert wurde. Die Protokolle beider Versionen wurden innerhalb von wenigen Monaten durch Reverse Engineering ermittelt und in die oben genannten Anwendungen eingebaut.

Mit iTunes 7.0 wurde ein Client-Überprüfungsmechanismus beim Verbinden mit einem iTunes-Server eingeführt. Dieser verhindert, dass sich „inoffizielle“ DAAP-Clients (also mit Ausnahme von iTunes ab Version 7.0 und der offiziell unterstützten SoundBridge der Firma Roku) mit einem aktuellen iTunes-Server verbinden können.

Weblinks

      | {{#ifeq: 20140117013119 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: OpenDAAP | {{#invoke:WLink|getEscapedTitle|OpenDAAP}} | {{#invoke:Webarchiv|getdomain|http://www.opendaap.org/}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20140117013119}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: OpenDAAP | {{#invoke:WLink|getEscapedTitle|OpenDAAP}} | {{#invoke:Webarchiv|getdomain|http://www.opendaap.org/}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20140117013119}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: OpenDAAP | {{#invoke:WLink|getEscapedTitle|OpenDAAP}} | {{#invoke:Webarchiv|getdomain|http://www.opendaap.org/}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: OpenDAAP | {{#invoke:WLink|getEscapedTitle|OpenDAAP}} | {{#invoke:Webarchiv|getdomain|http://www.opendaap.org/}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: OpenDAAP | {{#invoke:WLink|getEscapedTitle|OpenDAAP}} | {{#invoke:Webarchiv|getdomain|http://www.opendaap.org/}} }} (Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: OpenDAAP | {{#invoke:WLink|getEscapedTitle|OpenDAAP}} | {{#invoke:Webarchiv|getdomain|http://www.opendaap.org/}} }}  
                 }}}}}}}}{{#if:
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20140117013119|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://www.opendaap.org/}}
    || {{#if:  || }}
  }}{{#if: OpenDAAP
    | {{#if: {{#invoke:WLink|isBracketedLink|OpenDAAP}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://www.opendaap.org/%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://www.opendaap.org/%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://www.opendaap.org/ }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }} (englisch)
  • <templatestyles src="Webarchiv/styles.css" />{{#if:20120222074557
      | {{#ifeq: 20120222074557 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: DAAP Protocol documentation v0.2 | {{#invoke:WLink|getEscapedTitle|DAAP Protocol documentation v0.2}} | {{#invoke:Webarchiv|getdomain|http://tapjam.net/daap/}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20120222074557}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: DAAP Protocol documentation v0.2 | {{#invoke:WLink|getEscapedTitle|DAAP Protocol documentation v0.2}} | {{#invoke:Webarchiv|getdomain|http://tapjam.net/daap/}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20120222074557}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: DAAP Protocol documentation v0.2 | {{#invoke:WLink|getEscapedTitle|DAAP Protocol documentation v0.2}} | {{#invoke:Webarchiv|getdomain|http://tapjam.net/daap/}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: DAAP Protocol documentation v0.2 | {{#invoke:WLink|getEscapedTitle|DAAP Protocol documentation v0.2}} | {{#invoke:Webarchiv|getdomain|http://tapjam.net/daap/}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: DAAP Protocol documentation v0.2 | {{#invoke:WLink|getEscapedTitle|DAAP Protocol documentation v0.2}} | {{#invoke:Webarchiv|getdomain|http://tapjam.net/daap/}} }} (Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: DAAP Protocol documentation v0.2 | {{#invoke:WLink|getEscapedTitle|DAAP Protocol documentation v0.2}} | {{#invoke:Webarchiv|getdomain|http://tapjam.net/daap/}} }}  
                 }}}}}}}}{{#if:
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20120222074557|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://tapjam.net/daap/}}
    || {{#if:  || }}
  }}{{#if: DAAP Protocol documentation v0.2
    | {{#if: {{#invoke:WLink|isBracketedLink|DAAP Protocol documentation v0.2}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://tapjam.net/daap/%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://tapjam.net/daap/%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://tapjam.net/daap/ }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }} (englisch)