iOS Web page errors over Cellular Data but not over Wifi? Recent change to AT&T Cellular network?
Asked Answered
Z

3

3

I'm encountering an issue with certain iOS web pages (in both mobile Safari, Chrome, and in also iOS Webviews in app) over cellular data vs. Wifi,

The issue is identical to what was previously posted by someone else here:

Mobile Safari Cellular Only Loading Error

Unfortunately no answers yet posted to the above URL.

Basically, I'm consistently seeing extraneous random garbage characters in the HTML that comes down from cellular data, but the same page loading perfectly okay via Wifi. This isn't a download speed or poor connection issue, it seems to be some inexplicable data transfer/interpretation malfunction over the cellular network. I've been able to replicate the same problem at different locations and with different devices.

An example of a page that loads okay with Wifi but loads with errors (JavaScript and CSS errors because of the aforementioned extraneous garbage characters) over data is here:

http://www.ear-say.com

Has anyone else encountered the same issue? Any insights greatly appreciated.

Zachar answered 1/9, 2014 at 6:55 Comment(0)
Z
7

The content-type wasn't the issue, but that got me thinking more about how the pages were possibly being transformed between my server, the network, and ultimately the client.

After some trial and error I eliminated JQuery references, after which the pages then loaded correctly over AT&T celullar data. That led to another Google search, and ultimately the answer to the problem as per the below URLs:

http://bugs.jquery.com/ticket/8917

... The above JQuery bug report referenced fixes at these two URLs, one of which was actually from stackoverflow:

http://mobiforge.com/design-development/setting-http-headers-advise-transcoding-proxies

Web site exhibits JavaScript error on iPad / iPhone under 3G but not under WiFi

In summary, the issue is with a recent change at the AT&T cellular data network, similar to that described in the above URLs. i.e. AT&T is in some way modifying certain web content before sending it on to iPhones and iPads. The fix is simple, just set the Cache-Control "no-transform" header for pages you don't want changed/transformed by the AT&T network.

I'm manually setting the header in PHP for select pages via:

header("Cache-Control: no-transform");

.... but I assume it could be globally set in a directory's .htaccess file, or for the domain in the virtual host file or the entire server in the httpd.conf file, e.g.:

Header set Cache-Control "no-transform"

I don't know how setting "no-transform" will effect performance, I'm far from an expert on Apache configuration settings or networks, but the above has at least for now solved the initial problem.

Zachar answered 10/9, 2014 at 6:37 Comment(1)
I should add that the entire transform issue w/ AT&T seems to only be a problem on older LAMP stacks. More recent and up to date (more recent Linux, Apache, and PHP versions) server stacks don't seem to exhibit this same server/network transform issue and hence didn't require the "no-transform" header fix.Zachar
V
0

I had the same issue and found a solution from another post Remove wierd characters in xml output

You have to set the header for your content for AT&T to work correctly. In your example it would be text/html I think because it's html.

<head>
  <title>Page name</title>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
</head>
Voidable answered 8/9, 2014 at 13:55 Comment(1)
Thank you, MrTippet. Please see my answer, setting the Cache-Control "no-transform" header seems to have solved the issue.Zachar
O
0

I had the issue and found that I configured IPv6 on DNS and FireWall but not on the server.

Removing IPv6 from DNS and everything works.

You can use https://ipv6-test.com/validate.php to test it.

Onrush answered 12/12, 2019 at 15:23 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.