IM軟體允許使用者傳遞各樣型態的資料,使用者透過指令傳遞一包含內文(body)的HTTP request到Messenger Server,Server接收後便會回送一個response,Server回應的response 包含一個header,內含一個IP address以及session ID供下一次發送request用。當使用者閒置時,用戶端IM軟體會定時傳送訊息給Server,以確認使用者狀態。
2.1 發送機制原理
目前IM軟體多採用HTTP通訊協定,因此在intranet中透過設定代理伺服器即能輕易接取到主機,倘若網管人員使用Websense之類的網址過濾軟體,亦可輕鬆阻隔intranet內IM用戶對外的存取。
以MSN client端為例,MSN client是以每兩秒鐘遞送一次狀態訊息。Client端所傳遞的訊息必須經過URL-encoding或XML-encoding驗證,包含使用者暱稱、群組名稱、顯示訊息等,以確保這些資料不會包含空字元、newlines或是其他不合法字元。架構在HTTP協定之上,各家IM軟體client與server間也有各自的傳輸協定,以MSN Messenger為例,在MEN Messenger 6.0以上即採用MSNP9、MSNP10兩種協定。