硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2299|回复: 6
收起左侧

[RL-TCPnet V7.X] 关于HTTP Server cgi部分探讨

[复制链接]

8

主题

28

回帖

52

积分

初级会员

积分
52
发表于 2020-6-28 15:17:53 | 显示全部楼层 |阅读模式
最近开始学习硬汉的RL-TCPnet新版教程,对于HTTP Server这一部分,有一些看法,不知对错,个人对前端web原理和机制知之甚少,欢迎讨论和指正。
  将web 页面的htm文件改为cgi文件时,如果文件过多或者htm文件变更,改来改去,会比较耗费时间,也不利于管理,于是设想:
1、页面还是采用原生的htm文件,不用改成cgi文件,直接由服务端发送给浏览器显示。
2、传统的cgi处理是解析脚本后,将更新后的页面发送给浏览器。而此时能否先将htm页面发送给浏览器,然后采用Ajax,在页面加载时就发送一次HttpRequest请求,然后通过JS在响应中更新页面数据。
3、这样的好处是,省去了“中间商cgi文件”和脚本解析部分,不用每次更改htm文件后,再对应修改为cgi文件,也便于管理。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106721
QQ
发表于 2020-6-28 15:22:51 | 显示全部楼层
cgi的修改,有个专业的上位机上位机可以一键修改就爽了。

你说的方式可以试试。
回复

使用道具 举报

8

主题

28

回帖

52

积分

初级会员

积分
52
 楼主| 发表于 2020-6-28 15:37:22 | 显示全部楼层
eric2013 发表于 2020-6-28 15:22
cgi的修改,有个专业的上位机上位机可以一键修改就爽了。

你说的方式可以试试。

1、上位机不大好处理吧,毕竟也不好分辨htm文件里哪些是包含,哪些是命令
2、硬汉,我的思路没有问题吧,可以的话我就搞起来
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106721
QQ
发表于 2020-6-28 15:40:34 | 显示全部楼层
jiulinzeng 发表于 2020-6-28 15:37
1、上位机不大好处理吧,毕竟也不好分辨htm文件里哪些是包含,哪些是命令
2、硬汉,我的思路没有问题吧 ...

这个的关键还是TCPnet的处理都在那个CGI接口函数里面,你可以按照你的思路试试看。
回复

使用道具 举报

8

主题

28

回帖

52

积分

初级会员

积分
52
 楼主| 发表于 2020-6-28 15:45:21 | 显示全部楼层
eric2013 发表于 2020-6-28 15:40
这个的关键还是TCPnet的处理都在那个CGI接口函数里面,你可以按照你的思路试试看。

是的,这样的话,表单提交和数据更新就都在GET或者POST接口函数里了,CGI接口基本就没用了,总感觉TCPnet这么预留接口肯定是有考虑的
回复

使用道具 举报

8

主题

28

回帖

52

积分

初级会员

积分
52
 楼主| 发表于 2020-6-29 14:25:13 | 显示全部楼层
硬汉哥,我简单地实践了一下,证明是可行的,浏览器在页面加载时,触发onload事件,调用JS函数,发送Ajax请求,服务端调用CGI接口函数,将解释后的xml格式的响应发送给浏览器,浏览器调用对应的JS回调函数,刷新部分页面。这样的话,以后可以不用把所有的页面文件转换为cgi文件,而只需把要更新的部分,改为cgx文件即可。而且,初始加载和周期性更新都在一个CGI接口里面处理,逻辑更清晰!
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106721
QQ
发表于 2020-6-29 15:56:35 | 显示全部楼层
jiulinzeng 发表于 2020-6-29 14:25
硬汉哥,我简单地实践了一下,证明是可行的,浏览器在页面加载时,触发onload事件,调用JS函数,发送Ajax请 ...

好的,后面新版V7.X教程更新到这个章节后,整整,页面多了,的确省事。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-1 08:29 , Processed in 0.271651 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表