You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Philippe Boismoreau <pb...@kleegroup.com> on 2007/06/20 12:28:56 UTC

monitoring mod_jk / ajp13 requests

Hi,

I'm requesting a .pdf file through IE6 > Apache 2.0 > mod_jk / ajp13 > Tomcat 5.0 > "my servlet who checks user's read rights" (declared as a <filter> in the web.xml of my webapp)

the problem is :

-> IE6 loads a white page (nothing). When I retry, it loads correctly the document in the plugin for pdf files
-> if I request the .pdf from Tomcat directly (through localhost:8080), it works fine.

Acccording to support.microsoft.com (http://support.microsoft.com/?scid=kb%3Ben-us%3B293792&x=12&y=10), it should be about the content-type or content-lenght header of http requests:

"The first behavior is by design. When an initial request is sent for the server file, this returns a data stream with a content-type that is handled by a plug-in (not an ActiveX control), and Internet Explorer closes the initial port and sends a new request with userAgent = contype.

The only information that is needed in return from the contype request is the content-type. However, because most developers are unaware of this request style, they treat each GET the same and return the entire document. This is where the second problem can manifest itself. Internet Explorer is hard coded to time out in only 10 seconds if the contype request is not answered. If you are reading large files from disk or opening a database to retrieve the file, you can easily exceed the 10 second time-out limit.

In Internet Explorer 4.x and 5, the browser first generates a GET request to the server. The server responds with the content-type, and the browser looks at the registry to check which application it will invoke. Then the browser generates a second GET request, and, after the server responds with the same content-type, the browser invokes the targeted application inside the browser window. Lastly, the browser sends a third GET request, and this time the browser renders the content of the server file inside the browser and completes the process. "

Any idea about how to monitor requests exchange between mod_k and Tomcat or Apache (headers, ...) ? Any other idea would be fine too!

thanks for your help.

Philippe BOISMOREAU

www.kleegroup.com
Centre d'Affaires La Boursidière BP 159
92357 Le Plessis Robinsson - France
mailto:pboismoreau@kleegroup.com
Tél : 33 (0)1 46 29 33 97
Std : 33 (0)1 46 29 25 25


Re: monitoring mod_jk / ajp13 requests

Posted by Johnny Kewl <jo...@kewlstuff.co.za>.
No... think its something else.
As I understand it, you just trying to serve up a PDF file to a browser, 
whether by filter or servlet, from tc, or thru jk, dont think it makes any 
difference.

I think what MS is waffling on about there, is that if the OBJECT tag is 
used by a plugin, and not a typical activeX control, weird stuff happens.
Thats also an issue with other things like applets, MS made Object tags, the 
rest of the world made Embed tags, and it made use all nuts....

But if you not using "Object" tags.... ie its not a PDF displayed in a 
little frame in the middle of normal html.... and just the PDF needs to 
viewed, then you only need to worry about mime types.

In your servlet or whatever.... make sure you do this
response.setContentType("application/pdf");
and this
response.setContentLength(length of pdf file);

Then just send the file.....

I actually think you have the size wrong.... so the browser doesnt know when 
its in.
Maybe it chunks thru JK, but is able to fit it all in a buffer directly from 
TC.
Browsers like Opera are also very smart, so they may display it, even though 
its wrong and IE cant.... dont think its an IE thing, think the stream len 
is undefined.

have fun.....

----- Original Message ----- 
From: "Philippe Boismoreau" <pb...@kleegroup.com>
To: <us...@tomcat.apache.org>
Sent: Wednesday, June 20, 2007 12:28 PM
Subject: monitoring mod_jk / ajp13 requests


Hi,

I'm requesting a .pdf file through IE6 > Apache 2.0 > mod_jk / ajp13 > 
Tomcat 5.0 > "my servlet who checks user's read rights" (declared as a 
<filter> in the web.xml of my webapp)

the problem is :

-> IE6 loads a white page (nothing). When I retry, it loads correctly the 
document in the plugin for pdf files
-> if I request the .pdf from Tomcat directly (through localhost:8080), it 
works fine.

Acccording to support.microsoft.com 
(http://support.microsoft.com/?scid=kb%3Ben-us%3B293792&x=12&y=10), it 
should be about the content-type or content-lenght header of http requests:

"The first behavior is by design. When an initial request is sent for the 
server file, this returns a data stream with a content-type that is handled 
by a plug-in (not an ActiveX control), and Internet Explorer closes the 
initial port and sends a new request with userAgent = contype.

The only information that is needed in return from the contype request is 
the content-type. However, because most developers are unaware of this 
request style, they treat each GET the same and return the entire document. 
This is where the second problem can manifest itself. Internet Explorer is 
hard coded to time out in only 10 seconds if the contype request is not 
answered. If you are reading large files from disk or opening a database to 
retrieve the file, you can easily exceed the 10 second time-out limit.

In Internet Explorer 4.x and 5, the browser first generates a GET request to 
the server. The server responds with the content-type, and the browser looks 
at the registry to check which application it will invoke. Then the browser 
generates a second GET request, and, after the server responds with the same 
content-type, the browser invokes the targeted application inside the 
browser window. Lastly, the browser sends a third GET request, and this time 
the browser renders the content of the server file inside the browser and 
completes the process. "

Any idea about how to monitor requests exchange between mod_k and Tomcat or 
Apache (headers, ...) ? Any other idea would be fine too!

thanks for your help.

Philippe BOISMOREAU

www.kleegroup.com
Centre d'Affaires La Boursidière BP 159
92357 Le Plessis Robinsson - France
mailto:pboismoreau@kleegroup.com
Tél : 33 (0)1 46 29 33 97
Std : 33 (0)1 46 29 25 25



---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: monitoring mod_jk / ajp13 requests

Posted by Rainer Jung <ra...@kippdata.de>.
Hi,

if you are only interested in communication between mod_jk and Tomcat, 
set JkLogLevel to debug. It will dump alle headers and data packets. The 
data packets are truncated at 1024 bytes in the debug log. In case you 
need more, set JkLogLevel to trace.

Try to do this without much load on the server, otherwise you will have 
a hard time to match the corresponding lines using the process and 
thread IDs. Also debug and trace have a huge performance impact, so it 
works best in a test environment.

Regards,

Rainer

Philippe Boismoreau wrote:
> Hi,
> 
> I'm requesting a .pdf file through IE6 > Apache 2.0 > mod_jk / ajp13 > Tomcat 5.0 > "my servlet who checks user's read rights" (declared as a <filter> in the web.xml of my webapp)
> 
> the problem is :
> 
> -> IE6 loads a white page (nothing). When I retry, it loads correctly the document in the plugin for pdf files
> -> if I request the .pdf from Tomcat directly (through localhost:8080), it works fine.
> 
> Acccording to support.microsoft.com (http://support.microsoft.com/?scid=kb%3Ben-us%3B293792&x=12&y=10), it should be about the content-type or content-lenght header of http requests:
> 
> "The first behavior is by design. When an initial request is sent for the server file, this returns a data stream with a content-type that is handled by a plug-in (not an ActiveX control), and Internet Explorer closes the initial port and sends a new request with userAgent = contype.
> 
> The only information that is needed in return from the contype request is the content-type. However, because most developers are unaware of this request style, they treat each GET the same and return the entire document. This is where the second problem can manifest itself. Internet Explorer is hard coded to time out in only 10 seconds if the contype request is not answered. If you are reading large files from disk or opening a database to retrieve the file, you can easily exceed the 10 second time-out limit.
> 
> In Internet Explorer 4.x and 5, the browser first generates a GET request to the server. The server responds with the content-type, and the browser looks at the registry to check which application it will invoke. Then the browser generates a second GET request, and, after the server responds with the same content-type, the browser invokes the targeted application inside the browser window. Lastly, the browser sends a third GET request, and this time the browser renders the content of the server file inside the browser and completes the process. "
> 
> Any idea about how to monitor requests exchange between mod_k and Tomcat or Apache (headers, ...) ? Any other idea would be fine too!
> 
> thanks for your help.
> 
> Philippe BOISMOREAU
> 
> www.kleegroup.com
> Centre d'Affaires La Boursidière BP 159
> 92357 Le Plessis Robinsson - France
> mailto:pboismoreau@kleegroup.com
> Tél : 33 (0)1 46 29 33 97
> Std : 33 (0)1 46 29 25 25

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: monitoring mod_jk / ajp13 requests

Posted by Tim Funk <fu...@joedog.org>.
See Fiddler

http://www.fiddlertool.com/fiddler/

-Tim

Philippe Boismoreau wrote:
> Hi,
> 
> I'm requesting a .pdf file through IE6 > Apache 2.0 > mod_jk / ajp13 > Tomcat 5.0 > "my servlet who checks user's read rights" (declared as a <filter> in the web.xml of my webapp)
> 
> the problem is :
> 
> -> IE6 loads a white page (nothing). When I retry, it loads correctly the document in the plugin for pdf files
> -> if I request the .pdf from Tomcat directly (through localhost:8080), it works fine.
> 
> Acccording to support.microsoft.com (http://support.microsoft.com/?scid=kb%3Ben-us%3B293792&x=12&y=10), it should be about the content-type or content-lenght header of http requests:
> 
> "The first behavior is by design. When an initial request is sent for the server file, this returns a data stream with a content-type that is handled by a plug-in (not an ActiveX control), and Internet Explorer closes the initial port and sends a new request with userAgent = contype.
> 
> The only information that is needed in return from the contype request is the content-type. However, because most developers are unaware of this request style, they treat each GET the same and return the entire document. This is where the second problem can manifest itself. Internet Explorer is hard coded to time out in only 10 seconds if the contype request is not answered. If you are reading large files from disk or opening a database to retrieve the file, you can easily exceed the 10 second time-out limit.
> 
> In Internet Explorer 4.x and 5, the browser first generates a GET request to the server. The server responds with the content-type, and the browser looks at the registry to check which application it will invoke. Then the browser generates a second GET request, and, after the server responds with the same content-type, the browser invokes the targeted application inside the browser window. Lastly, the browser sends a third GET request, and this time the browser renders the content of the server file inside the browser and completes the process. "
> 
> Any idea about how to monitor requests exchange between mod_k and Tomcat or Apache (headers, ...) ? Any other idea would be fine too!
> 

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org