Applet是否使用浏览器进行HTTP请求?

Eng*_*_DJ 13 java browser applet caching urlconnection

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

具体来说,在浏览器中运行的Java applet是否有一些隐含的方式来共享浏览器的会话状态和缓存?

我读过一些来自非权威人士的帖子说,当一个applet发出一个HTTP请求,它将使用浏览器的缓存,并且它也可以访问(以某种方式)浏览器的cookie.

我用过的测试URLConnection表明情况并非如此,我的直觉是听起来太方便了.我假设JVM中的任何内容都不知道JVM之外的世界,这意味着唯一可行的方法是,如果JVM实现特定于浏览器,则其URL相关方法的实现委托给本机浏览器代码?

如果cookie数据未被隐式共享或可用,最佳做法是将param标记中的会话ID传递给applet?这种方法是否存在安全问题?如果小程序不使用浏览器的缓存请求,如何在一个applet工作缓存请求?

JB *_*zet 5

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

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


Eng*_*_DJ 5

我使用Windows 7,Java 1.6.23和Firefox,Chrome和Internet Explorer进行的测试是HttpURLConnection在applet的JVM 与浏览器无关.他们使用缓存,也没有添加cookie头.