js和c#区别的一点心得(js前端渲染和后端渲染区别的最佳实践之一)

最近我在尝试用blazor框架做页面通过api keys去访问chatgpt,一开始我是用C#去和chatgpt网站做交互的,一直连接失败,

后来改用js和chatgpt做交互一次就连通了,但是别人访问我的网址的时候还是无法和chatgpt聊天

这个现象很神奇,究其原因,很是有意思,特此记录:

首先有一个前提,我的谷歌浏览器加了脚本做了配置,是可以访问外网的,我电脑上只有谷歌浏览器可以!

  1. C#开发的时候我本机是无法访问外网的,所以连不通,现在想来这很合理!
  2. 改为js开发之后其实只有在我的谷歌可以访问,在本机火狐也无法访问!因为没有外网权限
  3. 别人无法通过我的ip去访问是因为他在访问我的网址的时候js会被拉取并缓存到本地,在交互时浏览器调用的是他本机的js,而他的浏览器没有访问外网的能力,所以请求失败,无法对话!

总结一下,无法正常对话的原因只有一个点:没有外网权限! 但是因为使用环境的不同,所以有了以上三种不同的情况。

一点点思考:js会被拉取到客户机,这看起来是不仅是不安全的,不同的客户机环境执行相同的业务代码,可能会产生各种料想不到的问题,这样的话理论上除了样式控制,业务代码不应该写在js内部(当前,这个前提是js是做前端渲染,并不是作为后端语言来开发项目,这种情况肯定不一样)

js和c#区别的一点心得(js前端渲染和后端渲染区别的最佳实践之一)_第1张图片

你可能感兴趣的:(前端,javascript,开发语言)