HTTP上的SOAP之所以如此常用,原因有以下幾個:
HTTP協議無處不在-它隨處可見。
HTTP協議與防火墻兼容性很好,它只使用一些大家熟悉的端口,而且防火墻幾乎總是配置為允許HTTP協議通過。
HTTP協議使用HTTPS的“安全套接字層(SecureSocketLayer)”進行加密,并使用各種證書類型進行認證,很容易保護。
這些原因中的一部分也適用于SMTP協議。電子郵件和Web瀏覽一樣普遍-我們許多人都有多個可供每天查對的電子郵件帳戶。SMTP使用的是一個大家都熟悉的端口,所以很容易設置允許它通過的防火墻,而幾乎每個防火墻都被配置為允許該協議通過。加密沒有這么普遍,但通過PGP或其他方式的數字簽名還是很容易設置的。
此外,SMTP協議是異步的。調用者可以通過電子郵件發送請求,而且如果目標服務器宕機了,那么為了確保該電子郵件的發送,任何中間服務器都將重發好幾次。另一方面,如果目標服務器在請求時不可用,那么HTTP協議也將失敗。