web前端和客户端与服务器端通信方式

本文介绍了Web前端常见的网络请求协议,包括HTTP、HTTPS、FTP、AJAX、WebSocket、EventSource以及MQTT,探讨了它们的特点、用途和优缺点,展示了从传统的HTTP到实时通信的不同解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

网络请求协议


   web前端常见的网络请求协议,包括HTTP协议、HTTPS协议、FTP协议、AJAX技术、WebSocket协议 、HTML5中的EventSource(see)强大的API


1、HTTP协议

HTTP(HyperText Transfer Protocol)是一种用于传输超文本的协议,是Web应用中最为常用的协议之一。HTTP协议是一种客户端-服务器模型的协议,客户端通过发送HTTP请求与Web服务器进行通信,Web服务器则通过发送HTTP应答来响应请求。

2、HTTPS协议

HTTPS(HyperText Transfer Protocol Secure)是一种更加安全的HTTP协议,在HTTP基础上添加了SSL/TLS加密措施,可以保证数据传输的安全性。HTTPS协议在请求数据时,先与服务器进行身份验证,然后通过加密数据传输来保证数据的安全。

3、FTP协议

   FTP(File Transfer Protocol)是一种用于文件传输的协议,可以通过FTP协议在Web应用中进行文件的上传和下载操作。FTP协议由客户端与服务器建立连接,然后进行文件传输操作。

4、AJAX技术

AJAX(Asynchronous JavaScript and XML)技术是一种使用JavaScript和XML等技术实现异步数据传输的技术。AJAX技术通过XMLHttpRequest对象与Web服务器进行交互,可以在不刷新整个页面的情况下更新部分页面内容。  
   
5. WebSocket协议通信
WebSocket是一种全双工通信协议,可以在客户端与服务器之间建立长连接,实现实时的双向数据传输。WebSocket协议使用HTTP协议进行握手,然后建立起一个WebSocket连接,这个连接会一直保持打开状态。
WebSocket 是浏览器端和服务器端建立实时连接的 一种通信协议,可以在服务器和浏览器端建立类似 socket 方式的消息通信。

特点:

服务器和浏览器之间可以实现双向数据实时通信,WebSocket 是独立的,建立在 TCP 协议之上,服务器的实现比较容易,
而且与 HTTP 协议有着良好的兼容性,默认端口是 80 和 443,
并且握手阶段采用 HTTP 协议,因此握手时不容易屏蔽,能通过各种 HTTP 代理服务器,没有同源限制,客户端可以与任意服务器通信。


忧点
1、没有同源限制
2、websocket支持服务器推送消息
缺点
1.websocket 是长连接,受网络限制比较大,需要处理好重连

6、HTML5 中的 EventSource(see) 是一项强大的 API,通过服务器推送实现实时通信

    EventSource 接口是 web 内容与服务器发送事件通信的接口。一个 EventSource 实例会对 HTTP 服务器开启一个持久化的连接,以 text/event-stream 格式发送事件,此连接会一直保持开启直到通过调用 EventSource.close() 关闭。
    特点:
    一旦连接开启,来自服务端传入的消息会以事件的形式分发至你代码中。如果接收消息中有一个 event 字段,触发的事件与 event 字段的值相同。如果不存在 event 字段,则将触发通用的 message 事件。

与 WebSocket 不同的是,服务器发送事件是单向的。数据消息只能从服务端到发送到客户端(如用户的浏览器)。这使其成为不需要从客户端往服务器发送消息的情况下的最佳选择。例如,对于处理如社交媒体状态更新、消息来源(news feed)或将数据传递到客户端存储机制(如 IndexedDB 或 web 存储)之类的,EventSource 无疑是一个有效方案。

7、MQ服务器端和客户端通信

    MQTT(Message Queuing Telemetry Transport)服务器是用于支持MQTT协议的消息代理服务器。MQTT是一种轻量级的发布-订阅消息传输协议,广泛应用于物联网和M2M(Machine-to-Machine)通信场景。stomp.js


8、Socket通信

   Socket 是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在用户进程与TCP/IP协议之间充当中间人,完成TCP/IP协议的书写。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dogface07

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值