小程序是否将浏览器用于 HTTP 请求?

2022-09-04 21:24:38

在发出 HTTP 请求时,小程序与其托管浏览器之间是否存在任何交互,或者请求是否完全独立于本机浏览器代码?

具体来说,在浏览器中运行的 Java 小程序是否有某种隐式方式来共享浏览器的会话状态和缓存?

我读过一些来自非权威来源的帖子,说当一个小程序发出HTTP请求时,它将使用浏览器的缓存,并且它还可以访问(以某种方式)浏览器的cookie。

我使用的测试表明情况并非如此,我的直觉是,这听起来太方便了,难以置信。我假设JVM中没有任何东西知道该JVM以外的世界,这意味着唯一可行的其他方式是,如果JVM实现特定于浏览器,则其实现的URL相关方法委托给本机浏览器代码?URLConnection

如果 Cookie 数据未隐式共享或不可用,则最佳做法是将标记中的会话 ID 传递给小程序?此方法是否存在安全问题?如果小程序不使用浏览器的缓存来执行请求,那么小程序中的缓存请求如何工作?param


答案 1

小程序由Java插件执行,Java插件是一个浏览器插件。小程序确实是浏览器加载的HTML页面的一部分,可以与浏览器DOM和页面中的JavaScript代码进行通信,并使用浏览器向其原始服务器发送请求。

有关详细信息,请参阅 http://docs.oracle.com/javase/tutorial/deployment/applet/appletExecutionEnv.htmlhttp://docs.oracle.com/javase/tutorial/deployment/applet/server.html


答案 2

我对Windows 7,Java 1.6.23和Firefox,Chrome和Internet Explorer的测试是,从小程序的JVM中与浏览器进行交互它们不使用缓存,也没有添加 Cookie 标头。HttpURLConnection


推荐