根据我的理解,HTTP/2
带有状态头压缩称为HPACK
.它不会改变HTTP协议的无状态语义吗?将Web应用程序视为HTTP/2
无状态协议是否安全?最后,是否HTTP/2
兼容现有的负载均衡器?
对不起,也许这是许多其他人提出的问题,但我真的很困惑,因为一些参考文献有很多不同的方法.
我使用React SPA,Express,Express-session,Passport,JWT
所以我对Cookies,Session和JWT/Passport感到困惑.
许多网站使用cookie来存储购物车令牌.到目前为止,我已根据会话ID存储购物车数据,而不添加任何cookie.
因此,当用户访问我的网站时,我会将其与他们匹配
req.sessionID
,然后检索数据库中的数据,如购物车和用户会话.
所以我的问题是我需要存储cookie吗?因为我可以通过req.sessionID访问它来获取所需的数据.
第二个
我使用了一个身份验证passport-google-oauth20
.在我成功登录后,数据被保存到会话中.并将其发送到客户端我必须通过URL查询发送它?token='sdsaxas'
.
在这种情况下,我得到了很多意见分歧.有人将其保存到本地存储中,有人通过使用JWT将其转换为令牌将其保存为cookie.
jwt.sign(
payload,
keys.jwt.secretOrPrivateKey,
{
expiresIn:keys.jwt.expiresIn // < i dont know what is this expired for cookies or localstorage ?
}, (err, token) => {
res.redirect(keys.origin.url + "?token=" + token);
});
Run Code Online (Sandbox Code Playgroud)
结论是一切都与会话有关所以我可以用sessionID做所有事情?没有cookies或localstorage
只有通过执行一次或每次页面刷新并检索数据然后保存到redux,因为我使用React SPA
我想要澄清HTTPS是有状态还是无状态?这是关于我构建的RESTful API.我们最初使用的是HTTP.由于HTTP本质上是在无状态的TCP/IP上工作,因此HTTP是无状态的,但是当我切换到HTTPS时,我的API变为有状态.我想知道我的结论是HTTPS是有状态的.是对还是不对?我使用名为webMethods的中间件工具创建了我的API.谢谢
假设我已登录到从IIS运行的应用程序.现在我还没有退出,但关闭了浏览器.当我再次访问应用程序时,它默认为登录页面.IIS如何识别它是一个新请求并将用户重定向到登录页面?
我有另一个问题.假设我没有关闭我登录时使用的浏览器.我打开新浏览器以请求来自同一应用程序的页面.IIS识别出它是对应用程序的新请求,并将用户重定向到登录页面.为什么它不使用第一个浏览器使用的现有会话或cookie?
请不要因为我的连续问题而烦恼......我有很大的困惑.我们说HTTP是无状态协议.一旦页面被请求我已登录.并且IIS和浏览器之间的HTTP协议连接将被终止,对吧?然后我导航到该登录应用程序中的其他页面.现在IIS识别用户已登录此浏览器.但是,当我打开一个新的浏览器并请求该应用程序时,IIS如何识别它是一个新的请求?由于HTTP协议已断开连接,它在第一种情况下如何工作?
几天前有人问我这个问题我没有答案:
因为HTTP是无状态协议.当我们打开www.google.com时,它可以被称为REST呼叫吗?
我的想法:
当我们在google.com上进行搜索时,所有信息都会通过Cookie和网址参数传递.它看起来像一个无国籍的请求.但搜索结果并不独立于用户的过去请求.搜索结果特定于用户兴趣和行为.现在,它看起来不像无状态请求.
我知道这是一个老问题,我已经阅读了许多SO答案,例如为什么HTTP是无状态协议?但我仍然无法理解在谷歌或亚马逊(基于过去购买的推荐)或任何其他基于用户活动的推荐网站上跟踪用户活动时会发生什么.
它是RESTful还是RESTless?
如果我想创建一个Web应用程序,我在其中使用REST架构并仍提供特定于用户的响应,该怎么办?
def delete_users
users = User.active.where(:id=>params[:users])
users.each do |user|
array = []
if user.active?
array << user
end
end
if (array.count > 0)
user.update_attributes(:status => "inactive")
else
"I want an alert/popup here saying no users, when 'delete_users' is called and the condition comes here."
........ do other stuff ......
end
end
Run Code Online (Sandbox Code Playgroud)
结束
在一个控制器中,我有这个方法,ajax调用将进入这个方法,当条件来到其他时,我需要一个警告/弹出窗口说没有用户在那里删除,然后我可以更新一些其他的东西.
提前致谢.
我刚刚开始学习PHP,只是用$_POST
/ 完成$_GET
.现在我想知道,让PHP从同一文件中的表单处理数据,或者将数据发送到另一个文件(action="anotherfile"
)的专业人员是什么?
逻辑上我会认为将它发送到另一个文件会增加处理它的时间,但这是真的吗?当我在同一个文件中有PHP脚本时,当我点击提交按钮(但内容发生变化)时,页面似乎没有重新加载.或者是吗?如果是这样,那么唯一的区别就是我必须在两个文件中键入菜单的脚本(假设你在所有页面上都有相同的菜单)?哪会导致更多编码/更少空间?