Simple Object Access Protocol , eller SOAP , är ett sätt att leverera webbtjänster för komplicerade , interaktiva webbplatser . Representational State Transfer , eller vila , är en webb- arkitektur baserad på befintliga banstrukturer . De båda tillåter besökare att interagera med webbplatsen data och funktioner , men utföra dessa interaktioner på olika sätt . Till exempel när en besökare på en webbplats köper ett ljudspår , är det oftast SOAP eller REST som hittar den och placerar köpet i en kundvagn . Struktur
Medan både SOAP och REST Access-databaser eller andra filer för att uppfylla interaktiv webbplats funktioner , är programmeringen annorlunda . SOAP är en standard - baserat protokoll . Den har en struktur som består av ett huvud och en kropp. Huvudet anges de delar som deltar i transaktionen och kroppen innehåller meddelande eller kommando . REST , å andra sidan , inte har någon sådan fördefinierad struktur. Den använder de befintliga Extensible kommandon Markup Language av GET , POST , PUT och DELETE för att bedriva sin verksamhet .
Operation
SOAP och REST genomföra transaktioner på olika sätt . När en webbplats vill erbjuda en viss operation , definierar SOAP erforderliga åtgärder med hjälp av XML . Webbplatsen kallar SOAP - definierade åtgärder och soap definitionerna styra åtkomst till filer och webbsidor . REST definierar inte sådana åtgärder oberoende av varandra . Det använder XML- kommandon för att utföra operationer på vissa filer och sidor . Det eliminerar definition lagret och verkar direkt istället .
Programmering
SOAP är den äldre och mer mogen programmering teknik , som utvecklats av Microsoft under 1998 . REST är nyare , baserat på en Ph.D. avhandling av Roy Fielding år 2000 och ökar i popularitet med Google och Amazon . Som ett välkänt protokoll , har SOAP omfattande verktyg och stöd för programmerare , vilket gör den lämplig för komplexa uppgifter och hela webbplatsen applikationer . REST har en enklare konstruktion , men kräver att en programmerare skriver instruktionerna utan extra verktyg . Programmeraren måste veta vilket kommando som ska användas , kommandot klient och vilka filer eller sidor för att komma åt .
Prestanda
faktisk användning , servrar med hjälp av SOAP erfarenhet en högre lastning än de som använder REST . Svarstider för vila tjänster är 10 procent till 25 procent snabbare . Skillnaden är mindre för låg belastning , men ökar när servrarna behandla många klientbegäranden samtidigt . Genomströmningen i form av bearbetade kunder och överförda filer är likartad för REST och SOAP tjänster , men i allmänhet , Web services med REST prestera bättre och förbrukar mindre bandbredd än SOAP-tjänster .