app开发人员应该知道的Cookie和会话
移动应用
浏览:944 次

如今的移动应用程序基本上被Android和iOS所划分。我们知道,Androidapp目前是使用Android/Kotlin开发的,而iOSapp是使用Object-C/Swift开发的。他们的共同点是调用手机的原生组件,这可以充分利用手机的原始性能。与React Native开发的app相比,它在界面美观性和使用流畅性方面具有很大的优势。他们的发展也落后于PC端。为了促进PC端页面的兼容性,它们都有用于加载网页的特定组件:Android中使用WebView,iOS中使用UIWebView/WKWebView。因此,作为一名移动开发人员,您需要对传统网页的前端请求/后台响应的实现过程有基本的了解。
我们知道,一个完整的请求过程包括两个过程:请求/响应:
请求/响应
第一步是PC发送请求,并通过请求行、请求头和请求正文发送详细的请求;步骤2服务器将在收到请求后处理该请求,并根据请求的具体内容进行响应。在PC端和服务器端之间的这种对话中,如果服务器想要管理会话,则需要解决以下两个问题:
1如何识别不同的电脑?
2如何识别服务器上的不同请求?
问题1是确定客户。如果为会话的客户端定义了ID ID,则服务器可以为客户端提供个性化服务。这就像去一家新的理发店理发一样。一开始,理发店只能按照既定的流程为新人提供服务:如“强烈推荐办卡”、“询问你喜欢什么发型”等。但如果你成为理发店的VIP并拥有会员卡(带身份证),理发师可以根据你的服务记录提供服务,比如推荐你最喜欢的发型,询问你对上一次发型的感受。

实际网络请求中的解决方案与上述过程非常相似。Cookie用作标识客户端的ID。在第一个网络请求会话期间,服务器定义一个cookie,用于标识客户端,将其返回给客户端,并将其存储在客户端的缓存中。当客户端再次发送请求时,它会将自己的cookie传递给服务器,服务器可以在被服务器识别后提供定制的响应。例如,我们在浏览论坛时经常看到的最后一次浏览时间,以及我们在购物网站上看到的历史浏览记录都是基于cookie的。通过Google Developer Tools访问个人资料簿时会生成以下Cookie:
曲奇
Cookie具有以下特点:
1.它有有效期,就像美发师卡中的余额一样,到期后会失效;
2也可以为同一请求设置多个cookie。同样,一个人可以在理发店处理饼干
多个VIP享受不同的服务类型;
3同一台电脑可以有不同的cookie来对应不同的服务器;

在问题2中,服务器使用会话来区分不同的网络请求。就像一个人去理发店时,店长(服务器)会安排理发师(网络请求)为他服务。因此,会话和cookie一一对应。两者都由服务器创建和定义。区别在于会话存储在服务器中,而cookie由服务器创建并存储在客户端中。会话还可以实现cookie实现的效果。存储在
服务器端的会话可以避免存储在客户端的信息被用户手动清除的问题,但另一方面,它也增加了服务器端的存储压力。
总之,cookie/会话是网络请求中的相应标识符。Cookie在客户端使用,会话存储在服务器端。cookie/会话服务器可以实现对网络请求的定制响应。
IDEA可用于模拟PC端网页请求/响应过程。需要以下环境:
1台Tomcat服务器;
2.采用Java Servlet作为后台服务程序;
3 IntelliJ IDEA作为IDE;

如果您不知道如何使用IntelliJ IDEA配置Tomcat和Java Servlet,请参阅我之前的文章:
喜欢和关心是对我的鼓励和支持~