Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%)
|
Witam , czy każdorazowe wykonanie żądania HTTP POST powoduje parsowanie całego dokumentu w języku PHP?
Ten post edytował Niktoś 28.01.2012, 21:23:38 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%)
|
Cytat .Myślałem ,że jak szerzej przedstawię swój problem,to jakaś życzliwa osoba wytłumaczy ,albo naprowadzi na właściwy tok rozumowania, abym mógł sobie sam poradzić z problemem, a tu tylko: Nie wiem czy zauważyłeś, ale kilka osób już się w tym wątku wypowiedziało, więc ktoś jednak jest życzliwy i chce Ci pomóc. Ale wybacz, czytając [...] zostaje przekierowany na moją stronę, w procesach serwerowych ta czynność widnieje jako GET czy czy każdorazowe wykonanie żądania HTTP POST powoduje parsowanie całego dokumentu w języku PHP? nie da się tego potraktować inaczej niż bełkot.Cytat Chłopie, jesteś naćpany czy co... Naprawdę próbowałem zrozumieć to co napisałeś, ale to jakiś bełkot. Najpierw odpowiedz czy poniższy opis przedstawia Twoją sytuację. Nie ma sensu dyskutować gdy nie jesteśmy pewni czy Cię w ogóle dobrze zrozumieliśmy. 1. Istnieją dwie strony internetowe na kompletnie oddzielnych serwerach, powiedzmy strona A i B. 2. Użytkownik znajduje się na stronie A. 3. Wypełnia formularz i go wysyła (czy też klika w jakiś link) w obrębie strony A. 4. Strona A przetwarza jego żądanie po czym zwraca nagłówek Location przekierowujący na stronę B. 5. Przeglądarka reaguje na nagłówek - użytkownik zostaje przekierowany na stronę B. Następnie upływa kilka sekund i... 6. Strona A samoczynnie (bez żadnej reakcji ze strony użytkownika) wysyła żądanie HTTP z jakimiś tam danymi do strony B. 7. Strona B odbiera to żądanie po czym w jakiś sposób odebrane dane powinny zostać przedstawione użytkownikowi na stronie z punktu #5. Innymi słowy w jakiś sposób na stronie B powinny nagle pojawić się użytkownikowi nowe dane. Czy ten opis jest poprawny? Jak nie to doprecyzuj. Po pierwsze to cały problem jest kompletnie niezależny od języka. Czy to PHP, Java, C# czy Python nie ma znaczenia bo problem jest na poziomie protokołu HTTP, a nie oprogramowania po stronie serwera. Po drugie podstawowa cecha protokołu HTTP - "brak stanu/bezstanowość" (ang. stateless - nie da się tego chyba sensownie przetłumaczyć). Oznacza to, że wszystkie żądania (punkt #3, #5 oraz #6) są kompletnie niezależne od siebie i nie mają żadnego powiązania pomiędzy sobą. Dlatego też wypadałoby wprowadzić jakiś identyfikator, który byłby współdzielony przez te wszystkie żądania (dokładnie w ten sam sposób co identyfikator w mechanizmach sesji), aby powiązać je wszystkie ze sobą. Nie chciałbyś w końcu odczytać danych innego użytkownika. Cała procedura mogłaby wyglądać następująco: A. W punkcie #5 generujesz jakiś w miarę unikalny identyfikator, który zostaje zapamiętany na stronie A oraz dołączony jako fragment URL-a strony B, do której użytkownik zostaje przekierowany: B. Strona B jest już wygenerowana, więc za 10 sek. nie będziesz wstanie wpłynąć już w żaden sposób na jej treść, dlatego też będziesz musiał skorzystać z AJAX-a* by co kilka sekund odpytywać serwer "czy pojawiły się już jakieś dane dla mojego identyfikatora?". Coś w stylu:
C. Mija kilka sekund, serwera A wysyła żądanie do serwera B. W żądaniu tym poza jakimiś tam danymi znajduje się jeszcze wcześniej wygenerowany identyfikator. D. Strona B zapisuje odebrane i przetworzone dane w bazie danych. E. Skrypt czy-sa-jakies-dane-dla-mojego-identyfikatora sprawdza czy dla podanego identyfikatora są zapisane w bazie jakieś dane, jeśli tak zwraca je. * AJAX nie jest tutaj najlepszym rozwiązaniem, ale jest najprostszym w implementacji. Jeżeli chciałbyś by na stronie B nie było bezsensownych, cyklicznych żądań do czy-sa-jakies-dane-dla-mojego-identyfikatora, ani zbędnych opóźnień (patrz: setInterval) powinieneś skorzystać z dwukierunkowej komunikacji serwerB-klientNaStroneB - Google: JavaScript WebSockets, Comet Server, Bidirectional AJAX etc. |
|
|
|
Niktoś Działanie HTTP POST i jego wpływ na aplikacje 28.01.2012, 17:19:15
l0ud Wybacz, ale to pytanie w takiej formie jest bez se... 28.01.2012, 18:10:01
Niktoś CytatWybacz, ale to pytanie w takiej formie jest b... 28.01.2012, 19:16:41
mls Nie da się wykonać $_POST - to jest tylko zmi... 28.01.2012, 21:03:10
Niktoś To nie tylko zmienna, chodziło mi o metodę przesył... 28.01.2012, 21:11:00
l0ud $_POST to globalna zmienna tablicowa a nie ża... 28.01.2012, 21:32:01
Niktoś @UP wreszcie rzeczowa odpowiedź.
To bez względu c... 28.01.2012, 21:43:50 
Theqos Cytat(Niktoś @ 28.01.2012, 21:43:50 )... 29.01.2012, 11:46:43
by_ikar POST wygląda bardzo podobnie do GET, tyle że w prz... 29.01.2012, 10:43:17
Crozin Czytam Twoje posty, próbuję cokolwiek sensownego w... 29.01.2012, 11:24:17
Niktoś Postaram się to wyjaśnić:
Użytkownik wypełnia dane... 29.01.2012, 12:25:49
mls Mówiąc krótko - nic nie zrobisz. To, co użytkownik... 29.01.2012, 13:27:13
Niktoś Niestety regulamin tamtego serwisu zabrania mi udo... 29.01.2012, 13:53:23
Niktoś Opis jak najbardziej poprawny.Dziękuję.No i właśni... 30.01.2012, 16:11:22
Crozin CytatPo przekierowaniu użytkownika na w/w stronę p... 30.01.2012, 19:12:56
Niktoś Chyba mnie to przerasta.
Te żądania ajaksowe wydaj... 5.02.2012, 19:13:02
Crozin I znowu bełkot... czytaj swoje posty przed wysłani... 5.02.2012, 19:57:10
kwiateusz Uff a myślałem że to ja ułomny jestem i znowu nie ... 5.02.2012, 20:57:47
Niktoś CytatI znowu bełkot... czytaj swoje posty przed wy... 6.02.2012, 11:31:49
strife @Niktoś - Nie no stary od razu lepiej, jaśniej i c... 6.02.2012, 13:47:33
piotrooo89 a jak tak z czystej ciekawości, mógłbyś podać jaki... 6.02.2012, 20:39:39
Crozin CytatCzy ja pisze po hiszpańsku??Nie zarzucaj bełk... 7.02.2012, 12:47:57 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 04:37 |