2016-11-24 02:26 AM
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-http2016-11-24 02:49 AM
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
2016-11-24 07:13 AM
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, Vincent2016-11-24 08:20 AM
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.BRj2016-11-25 07:14 AM
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