18 messages in com.mysql.lists.win32Re: Mysql over HTTP
FromSent OnAttachments
Jangita07 Apr 2006 11:57 
Radovan Chytracek07 Apr 2006 12:08 
Daniel da Veiga07 Apr 2006 12:17 
Brandon Schenz07 Apr 2006 12:21 
Jonathan G. Lampe07 Apr 2006 12:21 
Jangita07 Apr 2006 12:33 
Jangita07 Apr 2006 12:33 
Jangita07 Apr 2006 12:34 
Daniel da Veiga07 Apr 2006 12:36 
Jangita07 Apr 2006 12:36 
Brandon Schenz07 Apr 2006 12:38 
J.R. Bullington07 Apr 2006 12:41 
Jangita07 Apr 2006 12:43 
Daniel da Veiga07 Apr 2006 12:44 
Daniel da Veiga07 Apr 2006 12:48 
Jangita07 Apr 2006 16:33 
Harpreet10 Apr 2006 21:40 
Shawn Green11 Apr 2006 06:32 
Subject:Re: Mysql over HTTP
From:Daniel da Veiga (dani@gmail.com)
Date:04/07/2006 12:17:17 PM
List:com.mysql.lists.win32

On 4/7/06, Jangita <jang@jangita.com> wrote:

Hi all,

It's all well and good having mysql using port 3309 (or any other port for that matter); I'm writing an application that will be used by loads of users off the internet - so I'm expecting firewall issues.

One easy way is to have the mysql traffic flow over port 80; that works sometimes but not with intelligent firewalls that only allow http traffic or companies that have only http ports open (yes there are many of these)

One method I've thought about that goes around this is to write an interface that sits in-front of the mysql client and translates the mysql traffic into http get or put requests and use wininet.dll to send these requests to the server. Since these are get and put requests I'll have to write and install a cgi or isapi dll on the webserver which translates these requests into normal traffic and relays it to the mysql server and vice versa.

This would in effect produce an environment where as long as you can browse you can use the mysql client application (with iexplore because of wininet) - and with linux to some extent and this will also be able to go thru http proxies etc (basically anything that ie can go thru)

Before I get my hands dirty; is there anything like this that exists out there? I have a week leave from Monday and if there isn't well im about to start writing one.

Is there any specific reason for you not to write your application using a web language like PHP, Perl, ASP, .NET or anything like that? You mentioned some weird convertions regarding TCP packages headers and filtering, while searching for a solution to let an app access MySQL trough firewalls and/or proxies, why not simply write a CGI or server-side based app?

You'll have LOTS of problems while dealing with TCP/IP packaging and headers and converting it all to HTTP traffic, besides, you'll probably load your server a LOT while still having to write a client-side AND a server-side conversion tool for traffic. Besides, it won't be fail proof as you can still step in some routers that may block your converted packages.

If you want to use a browser-like app, why not let the browser do its work?