segmentfault上的一個有趣問題 |
雖然題目寫的好像是個有豐富經驗的解決文章, 但其實是希望能夠騙到各位前輩的經驗來讓這篇文章更加完備, 畢竟以我這不靈光的小小腦袋瓜, 的確還想不太出更高深的東西。
問題: 伺服器端 API 與 Ajax API 實作需求設計差異?
跟 Achi 隨便用一分鐘啦賽討論了一下, 列了兩個想到的差異:
- 認證 (Authentication): 使用 Ajax 的 API 在認證時可以額外直接採用 session 來進行驗證, 當然也可以採取 OAuth2 來認證, 不過用 session 就直接驗證不失一個簡便的好方法。API 呼叫來源也是個需要稍微注意一下的設計要點, 可以參考一下 fb 的 JavaScript SDK。
- 跨網域: 在設計利用 Ajax 可以使用的 API 時, 跨網域的設計通常需要被考量到, 因此在設計中有時需要加入 jsonp 的 callback 函數支援。
相關問題: 伺服器端該如何判斷來源是 Ajax 還是一般來源的請求呢?
現在大部分的瀏覽器在傳送 Ajax 的請求時, 都會在送出請求的 Header 中加一個 HTTP_X_REQUESTED_WITH, 所以其實簡單的判斷 Header 裡有沒有這個 Key 的存在, 就可以粗略的判斷是不是 Ajax 的請求了。
留言
張貼留言