当前位置: 首页 > wzjs >正文

网站框架怎么建设seo每日

网站框架怎么建设,seo每日,深圳网站建设_企业网站设计定制,做网站维护有前途吗一.什么是SSE SSE协议是一种基于http协议的单向通信协议,服务端可以向客户端发送数据,但是客户端不能向服务器发送数据。客户端通过创建一个到服务器的单向连接来监听事件。可以将一次性返回数据包改为流式返回数据。SSE协议支持断线重连,也支…

一.什么是SSE

        SSE协议是一种基于http协议的单向通信协议,服务端可以向客户端发送数据,但是客户端不能向服务器发送数据。客户端通过创建一个到服务器的单向连接来监听事件。可以将一次性返回数据包改为流式返回数据。SSE协议支持断线重连,也支持自定义响应事件。比如ChatGpt使用的通信方式就是SSE协议,相比于websocket通信这是一个更为轻量级的通信方式,使用方法简单。但是在浏览器原生的EventSource不支持设置请求头,需要借助第三方包去实现,同时也需要后端设置接口的响应头Content-Type:text/event-stream

二.SSE和WebSocket的区别

        WebSocket  API

           WebSocket是基于TCP协议的一种用于应用层的网络协议,它实现了浏览器与服务器之间的全双工通信,它允许服务器主动发信息给客户端。所以,浏览器和服务器只需要完成一次握手就可以建立持久性的连接,并且能够实现双向数据传输。

        特点:

          1.传输的数据格式可以是文本也可以是二进制形式

          2.不受同源策略的限制,可以与任意服务端进行通信

          3.兼容HTTP协议,默认端口同样是80(ws)和443(ws)

          4.客户端和服务端通信时开销较少,与HTTP协议不同,不需要每次都携带完整的头部信息

          5.若在通信过程中连接中断,需要自己实现断线重连

        区别:

          1.sse协议仅支持服务端向客户端发送数据,而websocket支持双向通信,服务端和客户端之间可以互相通信

          2.sse是一种轻量级的通信协议,而websocket整体的一些方法事件较为复杂

          3.sse支持断线重连机制,而websocket需要自己实现断线重连

          4.sse是基于HTTP协议的通信协议,而websocket是基于TCP协议的网络层通信协议

三.前端使用SSE

 <h1>fetchSSE Demo</h1><button onclick="connectFetch()">建立 fetchSSE 连接</button><button onclick="closeSSE()">断开 fetchSSE 连接</button><br /><br /><div id="message"></div><script>const messageElement = document.getElementById('message')let controller = null// 建立 FETCH-SSE 连接const connectFetch = () => {controller = new AbortController()fetchEventSource('http://127.0.0.1:3001/fetch-sse', {method: 'POST',body: JSON.stringify({content: 'xxx'}),signal: controller.signal,onopen: () => {messageElement.innerHTML += `FETCH 连接成功<br />`},onclose: () => {messageElement.innerHTML += `FETCH 连接关闭<br />`},onmessage: (event) => {const data = JSON.parse(event)messageElement.innerHTML += `${data.id} --- ${data.time} --- body参数:${JSON.stringify(data.body)}` + '<br />'},onerror: (e) => {console.log(e)}})}// 断开 FETCH-SSE 连接const closeSSE = () => {if (controller) {controller.abort()controller = undefinedmessageElement.innerHTML += `FETCH 连接关闭<br />`}}const fetchEventSource = (url, options) => {fetch(url, options).then(response => {if (response.status === 200) {options.onopen && options.onopen()return response.body}}).then(rb => {const reader = rb.getReader()const push = () => {// done 为数据流是否接收完成,boolean// value 为返回数据,Uint8Arrayreturn reader.read().then(({ done, value }) => {if (done) {options.onclose && options.onclose()return}options.onmessage && options.onmessage(new TextDecoder().decode(value))// 持续读取流信息return push()})}// 开始读取流信息return push()}).catch((e) => {options.error && options.error(e)})}

        

        
        

http://www.dtcms.com/wzjs/371151.html

相关文章:

  • 哪个网站做视频有钱挣百度快速排名技术培训教程
  • 政务网站集约化建设推进情况添加友情链接的技巧
  • 微官网和公众号的区别宁波网络推广seo软件
  • 如果快速做网站全网网络营销推广
  • 系统网站怎么做的seo店铺描述例子
  • 河北省工程造价信息网官网沈阳百度seo关键词优化排名
  • 杭州大型网站建设广州竞价托管公司
  • wordpress 旅行社漳州seo网站快速排名
  • 自己不会代码让别人做网站怎么管理电视剧排行榜
  • 文化公司网站建设策划书竞价托管资讯
  • 个人音乐类网站服务器租借东莞网站自动化推广
  • 山西营销型网站建设爱站网关键词长尾挖掘工具
  • 南昌做网站流程四川省人民政府
  • 外贸服饰网站建设市场营销四大基本策略
  • 制作网站的软件主要有在线代理浏览网站免费
  • 商城网站建设招聘温州seo优化
  • 修改网站j广州网络公司厦门百度关键词优化
  • 京津冀协同发展交通一体化规划seo必备工具
  • 怎么修改网站上的内容石家庄关键词快速排名
  • 页游源码论坛安卓优化大师最新版下载
  • php面向对象网站开发石家庄网站建设公司
  • 动态网站制作新手教程兰州网站优化
  • 做游戏数据分析的网站深圳优化怎么做搜索
  • 江苏怎么做网站排名优化seo优化顾问
  • 北京知名的品牌设计公司廊坊网站seo
  • 果汁网站模板35个成功的市场营销策划案例
  • 公司网页设计费记哪个科目南京百度快速排名优化
  • 网站内怎么做链接网站关键词百度自然排名优化
  • 做暧暖爱视频1000部在线网站自媒体营销模式有哪些
  • 怎样发布自己的网站软文广告100字