cancel
Showing results for 
Search instead for 
Did you mean: 

SPWF01S.11 server HTTP/0.9 version pages blocked iOS10

be
Associate II
Posted on November 24, 2016 at 11:26

Hello,

I am using SPWF01.11 FW3.5 as webserver as described in a previous post.

This webserver is made of 1 HTML Frameset (main.html) + 3 HTML frames (m.html / sm.html / data.html) to override the 4ko limitation.

I am also using local jQuery (v 1.2.3) (53Ko).

My static pages are created with httpd_gen.exe creating outfile.img.

This webserver work well on my desktop PC + several smartphone using android or iOS 8.4.

I then try on different iphone with iOS 10 and the pages are blocked (I tested Safari/Firefox/Opera Mini with all the same problem).

Consulting safari error consol I get the message:

''Sandboxing m.html beacause it is using HTTP/0.9''

''Stopped document load from m.html beacause it is using HTTP/0.9 on a non default port''

The 3 HTML frames pages have the same problem.

The problem of non-default port is strange as my server is tested on port 80.

As I don't know much about HTTP version, my questions are:

    - does anyone encountered this problem ?

    - what is the HTTP web server version of SPWF01 V3.5

    - where is this version : in outfile.img / in the server lwIP/1.3.1 of the SPWF01 ?    

Thanks for help.

Vincent

#ios10-http
4 REPLIES 4
Posted on November 24, 2016 at 11:49

Hi Vincent,

HTTP server accepts requests >= HTTP/1.0. Version comes from client request (server is passive). Example:

GET /hello.htm HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.tutorialspoint.com
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: Keep-Alive

Filesystem does not contain HTTP version, and LWIP is not 1.3.1 Hope it helps j
be
Associate II
Posted on November 24, 2016 at 16:13

Hi Jerry,

Thank you for your quick answer.

I did 2 more tests :

-------------------------------------------------------------------

-------------------------------------------------------------------

TEST 1

- when I call the default m.html file from my outfile.img

=> I can access it ''normally'' from iOS10.

My firefox development network consol says:

-----------------------------------------------

HEADERS

URL: http://192.168.1.36/m.html

Method: GET

Address: 192.168.1.36:80

Stat code : 200 OK

Version: HTTP/1.0

-----------------------------------------------

ANSWER HEADERS

Content-Type: ''text/html''

Server:lwIP/1.3.1 (http://savannah.nongnu.org/projects/lwip)

-----------------------------------------------

REQUEST HEADERS

Host: ''192.168.1.36''

User-Agent: ''Mozilla/5.0 (Windows NT 5.1; rv:50.0) Gecko/20100101 Firefox/50.0''

...

-----------------------------------------------

Then my device creates (S.FSC) another m.html file ((exactly the same, but in RAM) rewriting the one in ROM.

This time, iOS10 blocks this file.

On my PC desktop with Firefox, it is OK but my firefox development network consol says:

-----------------------------------------------

HEADERS

URL: http://192.168.1.36/m.html

Method: GET

Address: 192.168.1.36:80

-----------------------------------------------

-----------------------------------------------

REQUEST HEADERS

Host: ''192.168.1.36''

User-Agent: ''Mozilla/5.0 (Windows NT 5.1; rv:50.0) Gecko/20100101 Firefox/50.0''

...

I get nor Stat code, nor HTTP version, nor ANSWER HEADERS.

-------------------------------------------------------------------

-------------------------------------------------------------------

TEST 2

I copy all my dynamic html pages on an Apache web server.

These copies are not blocked by iOS10.

-------------------------------------------------------------------

-------------------------------------------------------------------

So I wonder what is the difference between RAM files and ROM files

for web server and/or web clients.

Do you have a clue ?

Regards,

Vincent

Posted on November 24, 2016 at 17:20

Hi Vincent,

difference between RAM and ROM is into the header.

- in ROM files are (by default) built with the header;

- in RAM files are (by default) built without the header. Check AT+S.FSC into UM1695. Parameter #3 is the  http_header append option.

BR

j

be
Associate II
Posted on November 25, 2016 at 16:14

Hi Jerry,

Thank you for your useful (and fast) help, this post can be closed.

My solution with frames work well even on iOS10.

Precisions:

Now I create my HTML files like this:

at+s.fsc=/name.html,2000,0

The 3d parameter set to 0 stands for adding HTTP header automatically.

From UM1695 p24/55 (DocID025531 Rev 5)

I can read:

<http_header> 0=HTML header automatically added

            1=HTML header not added (as by default)

I think there is a confusion between ''HTML header'' and ''HTTP header'' in the manual description.

Nothing is added into HTML file, the added information are set for web client.

The HTTP header is necessary for iOS10 otherwise the pages are sandboxed and blocked.

I hope these notes will help other users.

Regards,

Vincent