I have an aspx web page with various Telerik RadControls on it and each time this page is loaded, Safari mobile seems to download all the resource files again - for example the following files are downloaded on each page request to an ipad - nothing seems to get cached as it would be on other non-mobile browsers.
http://aspnet-scripts.telerikstatic.com/ajaxz/2010.3.1109/Common/Navigation/NavigationScripts.js
http://aspnet-scripts.telerikstatic.com/ajaxz/2010.3.1109/PanelBar/RadPanelBarScripts.js
http://aspnet-scripts.telerikstatic.com/ajaxz/2010.3.1109/Input/TextBox/RadInputScript.js
http://aspnet-scripts.telerikstatic.com/ajaxz/2010.3.1109/ListBox/RadListBoxScripts.js
http://aspnet-scripts.telerikstatic.com/ajaxz/2010.3.1109/ComboBox/RadComboBoxScripts.js
http://aspnet-scripts.telerikstatic.com/ajaxz/2010.3.1109/Grid/RadGridScripts.js
This is over 100K of javascript being passed down each time even though the CDN resources are set to cache and have ETAGS.
I've rigged up fiddler to both the ipad and a laptop running IE/FF/Safari each time the laptop browser is caching the resource files above and the ipad isn't.
I think this is why my app performs notably slower on the Ipad although it may be the slow javascipt parsing on the Ipad as well...
Has anyone else had this problem? Am i missing something obvious here?
Thanks.
EDIT
I am monitoring the iPad traffic on the laptop by making the laptop an http proxy for the iPad.
Extra Info from fiddler:
Fiddler v2.3.0.0, laptop results from IE8, iPad vers. 3.2.2.
From my laptop, If I go to http://demos.telerik.com/aspnet-ajax/listbox/examples/default/defaultcs.aspx
and after click "First Look" a few times the following in in fiddler:
# Result Protocol Host URL Body Caching Content-Type Process Comments Custom
1 200 HTTP demos.telerik.com /aspnet-ajax/listbox/examples/default/defaultcs.aspx 54,608 private text/html; charset=utf-8 iexplore:6172
2 200 HTTP demos.telerik.com /aspnet-ajax/Common/CodeViewer.js.aspx 5,534 private text/javascript; charset=utf-8 iexplore:6172
4 200 HTTP demos.telerik.com /aspnet-ajax/listbox/examples/default/defaultcs.aspx 54,608 private text/html; charset=utf-8 iexplore:6172
5 200 HTTP demos.telerik.com /aspnet-ajax/Common/CodeViewer.js.aspx 5,534 private text/javascript; charset=utf-8 iexplore:6172
7 200 HTTP demos.telerik.com /aspnet-ajax/listbox/examples/default/defaultcs.aspx 54,608 private text/html; charset=utf-8 iexplore:6172
8 200 HTTP demos.telerik.com /aspnet-ajax/Common/CodeViewer.js.aspx 5,534 private text/javascript; charset=utf-8 iexplore:6172
10 200 HTTP demos.telerik.com /aspnet-ajax/listbox/examples/default/defaultcs.aspx 54,608 private text/html; charset=utf-8 iexplore:6172
11 200 HTTP demos.telerik.com /aspnet-ajax/Common/CodeViewer.js.aspx 5,534 private text/javascript; charset=utf-8 iexplore:6172
If I do the same on my iPad the following is recorded by fiddler:
# Result Protocol Host URL Body Caching Content-Type Process Comments Custom
1 200 HTTP demos.telerik.com /aspnet-ajax/listbox/examples/default/defaultcs.aspx 54,380 private text/html; charset=utf-8
2 200 HTTP aspnet-scripts.telerikstatic.com /ajaxz/2010.3.1317/Common/Navigation/NavigationScripts.js 7,856 public, max-age=31536000 Expires: Sun, 17 Jan 2021 15:05:25 GMT application/x-javascript
3 200 HTTP aspnet-scripts.telerikstatic.com /ajaxz/2010.3.1317/ComboBox/RadComboBoxScripts.js 16,238 public, max-age=31536000 Expires: Sun, 17 Jan 2021 15:05:25 GMT application/x-javascript
4 200 HTTP aspnet-scripts.telerikstatic.com /ajaxz/2010.3.1317/Ajax/Ajax.js 7,509 public, max-age=31536000 Expires: Sun, 17 Jan 2021 15:05:25 GMT application/x-javascript
5 200 HTTP aspnet-scripts.telerikstatic.com /ajaxz/2010.3.1317/ToolBar/RadToolBarScripts.js 13,372 public, max-age=31536000 Expires: Sun, 17 Jan 2021 15:05:25 GMT application/x-javascript
6 200 HTTP demos.telerik.com /aspnet-ajax/Common/CodeViewer.js.aspx 5,534 private text/javascript; charset=utf-8
8 200 HTTP demos.telerik.com /aspnet-ajax/listbox/examples/default/defaultcs.aspx 54,380 private text/html; charset=utf-8
9 200 HTTP aspnet-scripts.telerikstatic.com /ajaxz/2010.3.1317/Common/Navigation/NavigationScripts.js 7,856 public, max-age=31536000 Expires: Sun, 17 Jan 2021 15:05:25 GMT application/x-javascript
10 200 HTTP aspnet-scripts.telerikstatic.com /ajaxz/2010.3.1317/ComboBox/RadComboBoxScripts.js 16,238 public, max-age=31536000 Expires: Sun, 17 Jan 2021 15:05:25 GMT application/x-javascript
11 200 HTTP aspnet-scripts.telerikstatic.com /ajaxz/2010.3.1317/ListBox/RadListBoxScripts.js 13,199 public, max-age=31536000 Expires: Sun, 17 Jan 2021 15:05:25 GMT application/x-javascript
12 200 HTTP demos.telerik.com /aspnet-ajax/Common/CodeViewer.js.aspx 5,534 private text/javascript; charset=utf-8
13 200 HTTP aspnet-scripts.telerikstatic.com /ajaxz/2010.3.1317/ToolBar/RadToolBarScripts.js 13,372 public, max-age=31536000 Expires: Sun, 17 Jan 2021 15:05:25 GMT application/x-javascript
15 200 HTTP demos.telerik.com /aspnet-ajax/listbox/examples/default/defaultcs.aspx 54,380 private text/html; charset=utf-8
16 200 HTTP aspnet-scripts.telerikstatic.com /ajaxz/2010.3.1317/Common/Navigation/NavigationScripts.js 7,856 publi开发者_如何转开发c, max-age=31536000 Expires: Sun, 17 Jan 2021 15:05:25 GMT application/x-javascript
17 200 HTTP aspnet-scripts.telerikstatic.com /ajaxz/2010.3.1317/ComboBox/RadComboBoxScripts.js 16,238 public, max-age=31536000 Expires: Sun, 17 Jan 2021 15:05:25 GMT application/x-javascript
18 200 HTTP aspnet-scripts.telerikstatic.com /ajaxz/2010.3.1317/ToolBar/RadToolBarScripts.js 13,372 public, max-age=31536000 Expires: Sun, 17 Jan 2021 15:05:25 GMT application/x-javascript
19 200 HTTP aspnet-scripts.telerikstatic.com /ajaxz/2010.3.1317/ListBox/RadListBoxScripts.js 13,199 public, max-age=31536000 Expires: Sun, 17 Jan 2021 15:05:25 GMT application/x-javascript
20 200 HTTP aspnet-scripts.telerikstatic.com /ajaxz/2010.3.1317/Ajax/Ajax.js 7,509 public, max-age=31536000 Expires: Sun, 17 Jan 2021 15:05:25 GMT application/x-javascript
21 200 HTTP demos.telerik.com /aspnet-ajax/Common/CodeViewer.js.aspx 5,534 private text/javascript; charset=utf-8
EDIT 2:
I have tried exactly the same test as above again today and noticed that:
1) The IPad is now caching the javascript
2) Telerik demos are not using the CDN but they were yesterday! (see results below compared to results above)
# Result Protocol Host URL Body Caching Content-Type Process Comments Custom
1 200 HTTP demos.telerik.com /aspnet-ajax/listbox/examples/default/defaultcs.aspx 53,036 private text/html; charset=utf-8
2 200 HTTP demos.telerik.com /aspnet-ajax/Telerik.Web.UI.WebResource.axd?compress=1&_TSM_CombinedScripts_=%3b%3bTelerik.Web.UI%2c+Version%3d2010.3.1317.40%2c+Culture%3dneutral%2c+PublicKeyToken%3d121fae78165ba3d4%3aen-US%3a9506cff2-3a86-46c5-b869-6ba1478f3c27%3a1c2121e%3ae8945d51%3af4636213%3ac531f12c%3a4d471440%3af7131199%3ac17ca3a3 10,599 public, max-age=31533429 Expires: Sat, 18 Feb 2012 10:06:39 GMT text/css
3 200 HTTP demos.telerik.com /aspnet-ajax/Telerik.Web.UI.WebResource.axd?_TSM_HiddenField_=RadScriptManager1_TSM&compress=1&_TSM_CombinedScripts_=%3b%3bSystem.Web.Extensions%2c+Version%3d4.0.0.0%2c+Culture%3dneutral%2c+PublicKeyToken%3d31bf3856ad364e35%3aen-US%3a8f393b2b-3315-402f-b504-cd6d2db001f6%3aea597d4b%3ab25378d2%3bTelerik.Web.UI%3aen-US%3a9506cff2-3a86-46c5-b869-6ba1478f3c27%3a16e4e7cd%3af7645509%3a24ee1bba%3af46195d3%3a1e771326%3aaa288e2d%3a628ebdd0%3a9cdfc6e7%3aed16cbdc%3a2bef5fcc%3aa7e79140 160,387 public, max-age=31533429 Expires: Sat, 18 Feb 2012 10:06:40 GMT application/x-javascript
4 200 HTTP demos.telerik.com /aspnet-ajax/Common/CodeViewer.js.aspx 5,534 private text/javascript; charset=utf-8
10 200 HTTP demos.telerik.com /aspnet-ajax/listbox/examples/default/defaultcs.aspx 53,032 private text/html; charset=utf-8
11 200 HTTP demos.telerik.com /aspnet-ajax/Common/CodeViewer.js.aspx 5,534 private text/javascript; charset=utf-8
14 200 HTTP demos.telerik.com /aspnet-ajax/listbox/examples/default/defaultcs.aspx 53,032 private text/html; charset=utf-8
15 200 HTTP demos.telerik.com /aspnet-ajax/Common/CodeViewer.js.aspx 5,534 private text/javascript; charset=utf-8
18 200 HTTP demos.telerik.com /aspnet-ajax/listbox/examples/default/defaultcs.aspx 53,032 private text/html; charset=utf-8
19 200 HTTP demos.telerik.com /aspnet-ajax/Common/CodeViewer.js.aspx 5,534 private text/javascript; charset=utf-8
I've just tested it with Fiddler - opened a RadListBox on a page with version 2010.3.1109 on an iPad (iOS 4.2) and it seems to me the CDN resources are cached properly and are not refreshed from the CDN every time as you are experiencing.
Can you share some more details about this issue, like a sample page or a live URL where we can test it? You can open a support ticket in your Telerik account to send those if you prefer the privacy.
EDIT:
I've also tested with 3.2.2 and I still can't reproduce this issue. Are you using some specific iPad settings or network setup worth mentioning?
精彩评论