Understanding AJAX and SOCKET.IO concepts

Seoul, 11:20 PM, 2016-11-03, Đang trùm đầu tại bàn làm việc.

Trời bắt đầu vào thu, chớm lạnh vô tinh lướt qua một câu hỏi của một bạn :“ajax và socket.io khác nhau thế nào?“. Nay mình post answer trên này cho ai cùng thắc mắc nhé.

Socket:

  • Cho phép thao tác trên layer 3, 4 và 7 trong OSI model. Còn ajax là một giao thức ở layer 7 application.
  • Socket cho phép can thiệp mạnh mẽ hơn vào networking phù hợp với các ứng dụng có độ tùy biến cao.

Ajax (javascript and XML):

  • Tối ưu việc request/response data trong trang html.
  • Thực ra ở dưới cái ajax cũng phải có 1 cái socket thì mới chạy dược. ajax (html) -> IP -> TCP
  • Mạng gồm nhiều tầng logic khác nhau. Mỗi tầng đảm nhận một nhiệm vụ. Ajax dựa trên giao thức HTML ở tầng Application còn Socket cho phép can thiệp các tầng sâu hơn.
  • Khi em mở 1 web site đầu tiên trình duyệt phải mở 1 socket (TCP/IP) tới Server. Sau đó gửi dữ liệu thông qua giao thức HTML. Server trả dữ liệu trình duyệt mới hiện lên.
  • Nếu nhìn từ góc độ ứng dụng thì có nhiều thứ anh nghĩ ajax không thể làm. Ví dụ streaming video, streaming voice, chia file thành nhiều phần để truyền đi.
  • Còn khi em làm việc với một web page thì có thể dùng ajax như một cách truyền hoặc lấy dữ liệu cho trang web mà ko phải reload trang.

Leave a comment