浏览器和服务器通讯方式的不完整总结

浏览器和服务器通讯方式的不完整总结

💡 原文中文,约9800字,阅读约需24分钟。
📝

内容提要

文章讨论了浏览器与服务器的通信方式,包括单工、半双工和全双工。介绍了短连接与长连接、短轮询与长轮询的区别,以及跨域请求的同源策略和解决方案。提到现代通信方法如服务器推送技术、Ajax、Fetch、SSE和WebSocket,强调应使用现代技术而非过时的插件和技巧。

🎯

关键要点

  • 单工通信是单向的,半双工通信允许双方交替发送信息,全双工通信则允许双方同时发送信息。
  • 短连接每次请求都建立新连接,长连接则复用连接直到请求完成。
  • 短轮询是浏览器定期向服务器请求信息,长轮询则保持连接直到服务器有消息返回。
  • 跨域请求受到同源策略限制,CORS是解决跨域问题的方案。
  • 服务器推送技术在现代有SSE和WebSocket等实现,避免了旧时代的复杂插件。
  • Ajax和Fetch是用于发送HTTP请求的技术,Fetch基于Promise设计,避免了回调地狱。
  • SSE是持续的HTTP请求,适合接收服务器数据,但不能发送数据。
  • WebSocket是唯一可靠的全双工通信API,适合需要双向实时通信的场景。
  • 现代前端开发应使用标准技术如Axios、SSE、WebSocket和CORS,而非过时的技巧。

延伸问答

什么是单工、半双工和全双工通信?

单工通信是单向的,半双工允许双方交替发送信息,全双工则允许双方同时发送信息。

短连接和长连接有什么区别?

短连接每次请求都建立新连接,长连接则复用连接直到请求完成。

什么是跨域请求,如何解决?

跨域请求受到同源策略限制,CORS是解决跨域问题的方案。

什么是长轮询和短轮询?

短轮询是浏览器定期向服务器请求信息,长轮询则保持连接直到服务器有消息返回。

WebSocket与其他通信方式有什么不同?

WebSocket是唯一可靠的全双工通信API,适合需要双向实时通信的场景。

现代前端开发应使用哪些技术?

现代前端开发应使用Axios、SSE、WebSocket和CORS等标准技术,而非过时的技巧。

➡️

继续阅读