![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 278 Pomógł: 35 Dołączył: 25.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Mam plik na serwerze. Co w nim jest - nieistotne, może to być echo 'hello world.'; Problem jest taki, że jeśli odpalam ten plik w przeglądarce ( dotyczy to tylko IE, na innych jest w porządku), to czasem wyświetli się oczekiwana odpowiedź, a czasem puste okno...
Tak wyglądają logi odwiedzin serwera: Kod [27/Mar/2012:02:49:18 +0200] "GET /path/file.php?service=order HTTP/1.0" 200 539 "-" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)" [27/Mar/2012:02:49:18 +0200] "GET /path/file.php?service=order HTTP/1.0" 200 343 "-" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)" [27/Mar/2012:02:49:19 +0200] "GET /path/file.php?service=order HTTP/1.0" 200 539 "-" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)" [27/Mar/2012:02:49:19 +0200] "GET /path/file.php?service=order HTTP/1.0" 200 539 "-" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)" [27/Mar/2012:02:49:20 +0200] "GET /path/file.php?service=order HTTP/1.0" 200 539 "-" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)" [27/Mar/2012:02:49:21 +0200] "GET /path/file.php?service=order HTTP/1.0" 200 539 "-" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)" [27/Mar/2012:02:49:23 +0200] "GET /path/file.php?service=order HTTP/1.0" 200 343 "-" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)" [27/Mar/2012:02:49:23 +0200] "GET /path/file.php?service=order HTTP/1.0" 200 539 "-" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)" [27/Mar/2012:02:49:24 +0200] "GET /path/file.php?service=order HTTP/1.0" 200 539 "-" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)" [27/Mar/2012:02:49:25 +0200] "GET /path/file.php?service=order HTTP/1.0" 200 539 "-" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)" [27/Mar/2012:02:49:26 +0200] "GET /path/file.php?service=order HTTP/1.0" 200 343 "-" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)" [27/Mar/2012:02:49:27 +0200] "GET /path/file.php?service=order HTTP/1.0" 200 539 "-" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)" [27/Mar/2012:02:49:28 +0200] "GET /path/file.php?service=order HTTP/1.0" 200 343 "-" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)" Wpisy gdzie zwrócona liczba bajtów wyosi 539 odpowiada sytuacji gdy strona się wyświetliła, gdy bajtów było 343 - dostawałem puste okno. Jeśli plik ma wykonać jakąć czynność ( np. zapis do bazy ) - to tak samo: raz się zapisze, a raz nie. Będę bardzo wdzięczny, jeśli ktoś podpowie gdzie szukać ![]() |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) ![]() ![]() |
343 to zapewne wielkość nagłówków... ustaw w nagłówkach albo długość odpowiedzi (musiałbyś to zbuforować) "Content-Length: ..." lub wyślij odpowiedź w trybie chunked - też powinno pomóc gdyż tam też podaje się rozmiar odpowiedzi...
http://www.httpwatch.com/httpgallery/chunked/ Chunked transfer encoding zresztą mógłbyś dać linka do przykładowej strony... -------------------- Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 278 Pomógł: 35 Dołączył: 25.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Tu jednak nie chodzi o długość zwracanej odpowiedzi. To co dzieje się nie tak, odbywa się gdzieś wcześniej...
Chodzi o to że serwer za kazdym razem widzi odwiedziny danego pliku, ale nie zawsze go wykona - czasem reaguje jakby był to zupełnie pusty plik. Stąd tak jak mówiłem, jeśli plik ma wykonywać zapis do bazy, to raz go wykona, a raz nie. Zauważyłem ponadto, że jeśli wywalę .htaccess i odwołam się bezpośrednio do pliku - wszystko działa jak należy. .htaccess którego używam to: Kod RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([a-zA-Z0-9\_\-\/]+)(.php|.htm|.html)?$ index.php?a=$1.php [L,QSA] logi błędów serwera są puste. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) ![]() ![]() |
tak, ale jak wspomniałeś problem dotyczy tylko IE - jak dla mnie to przeglądarka zrywa połączenie... możesz to zresztą sprawdzić korzystając z funkcji typu ignore_user_abort
-------------------- Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 278 Pomógł: 35 Dołączył: 25.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
zegarek84 trochę mnie naprowadziłeś na rozwiązanie
![]() Wszystkie pliki były kierowane do pliku index.php który z nimi coś tam robił. Plik ten korzystał z metody którą zrobiłem do startowania sesji:
Przy kolejnych odświeżaniach strony w IE9, do serwera była wysyłana inna wartość IP, przez co wykonywało się Czemu IP wysyła się różne (mimo że mam stałe IP) to nie wiem... Chociaż - w końcu to explorer ![]() Dzięki za pomoc ![]() |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) ![]() ![]() |
Czemu IP wysyła się różne (mimo że mam stałe IP) to nie wiem... możesz mieć ustawione proxy w IE lub w jakimś antywirusie np. dla IE (chyba w COMODO taką opcję dla stron internetowych widziałem...) albo tor'a jeśli instalowałeś ustawiłeś na IE i zapomniałeś wyłączyć... -------------------- Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 278 Pomógł: 35 Dołączył: 25.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
No właśnie nic z tych rzeczy
![]() ![]() ![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 06:12 |