Textovß reklama zdarma: TextLink.cz | Katalog WAP odkaz∙: Ceskywap.cz | WAP browser: SmithBrowser | WAP poΦφtadlo: Pocitadlo.Ceskywap.cz |
Vyhledßvßnφ na serveru |
Katalog ASP odkaz∙: Hledßte informace o ASP? Zkuste nßÜ nov² katalog odkaz∙ na ASP weby. Vφce zde... |
Objekt Response aneb vklßdejte data do toku HTTP
P°ehled vlastnostφBufferResponse.Buffer = [True | False]Tato vlastnost nastavuje, zda-li se bude generovanß ASP strßnka zasφlat klientovi postupn∞, jak se generuje nebo se poΦkß, a₧ si server celou strßnku vygeneruje a potΘ bude strßnka zaslßna klientovi. True: Je-li Response.Buffer nastaven na True dokument bude zaslßn a₧ po dokonΦenφ na stran∞ serveru. False: Dokument se bude zasφlat pr∙b∞₧n∞. Tato hodnota je v²chozφ, kdy₧ se Response.Buffer na strßnce nenastavuje. Poznßmka: Tato vlastnost se musφ nastavit p°ed HTML tagem < HTML >. Pokud nastavφte tuto vlastnost pod znaΦkou < HTML >, nastane chyba scriptu. Response.CacheControlResponse.CacheControl = [Private | Public ]Tato vlastnost umo₧≥uje nastavit zda m∙₧e proxy server p°es kter² je VaÜe strßnka posφlßna uklßdat strßnku na sv∙j disk (do cache). Tuto vlastnost doporuΦuji nastavit pouze pokud se jednß o ASP strßnku, kterß se Φasto nem∞nφ. Private: Volba, kterß je nastavena implicitn∞. Znamenß v₧dy brßt data ze serveru. Public: Zvolenφm tΘto vlastnosti povolφte naΦφtßnφ ASP strßnky z cache serveru. Poznßmka: I tuto vlastnout musφte nastavit p°ed zaΦßtkem vlastnφ HTML strßnky, tedy p°ed znaΦkou < HTML >. Dßle musφm z vlastnφ zkuÜenosti konstatovat, ₧e ne vÜechny proxy-servery majφ zapnutΘ cachovßnφ strßnek a tedy ani hodnota Response.CacheControl nastavenß na Public nezaruΦuje jejφ zrychlenφ p°i naΦφtßnφ. ContentTypeResponse.ContentTypeNastavuje typ dokumentu. V²chozφ hodnota je text/html. Tuto vlastnost lze v praxi pou₧φt pokud z databßze vypisujete obrßzek, tak lze nastavit ContentType na Response.Write = "image/JPEG" ExpiresResponse.Expires = doba v minutßchNastavφ, po jakΘ dob∞ vyprÜφ aktußlnost strßnky. V praxi se jednß o toto: Otev°ete-li strßnku p°ed vyprÜenφm limitu Expires, prohlφ₧eΦ naΦte strßnku ze svΘ cache, ale pokud p°φjdete po vyprÜenφ tΘto doby bude strßnka naΦtena znova ze serveru. Doba se udßvß v minutßch. Poznßmka: Nastavφte-li hodnotu na 0 bude se strßnka naΦφtat v₧dy znovu. Pokud nastavφte vlastnost Expires ve skriptu vφcekrßt, pou₧ije se nejkratÜφ doba nikoliv ta, kterou zadßte jako poslednφ. IsClientConnectedResponse.IsClientConnectedVlastnost, kterß vracφ, zda-li se ji₧ u₧ivatel strßnky odpojil nebo je stßle aktvinφ. Vyu₧itφ mß tato vlastnost v dlouh²ch strßnkßch, kde se generujφ slo₧itΘ SQL dotazy a u₧ivatel musφ Φekat na zpracovßnφ serverem. Hodnota je True pokud je klient stßle p°ipojen na server nebo False, jestli₧e se klient p°edΦasn∞ odpojil. PICSResponse.PICS(string)Tato vlastnost vlo₧φ do hlaviΦky HTTP oznaΦenφ PICS (Platform for Internet Content Selection) PICS jednoznaΦn∞ oznaΦuje obsah VaÜich strßnek pro hodnotφcφ slu₧by (RSAC). Tento parametr je vhodnΘ pou₧φvat na strßnkßch, kam si nep°ejete, aby nevstupovali d∞ti. Samoz°ejm∞ to nenφ 100% °eÜenφ, ale pokud na poΦφtaΦi, kde je strßnka zobrazena b∞₧φ hodnotφcφ program a vy do svΘ strßnky napφÜete, ₧e nenφ pro d∞ti, tak se na n∞j dφt∞ nedostane. StatusResponse.StatusZadßvß stavovou informaci, kterß se odeÜle klientovi z webovskΘho serveru. Poznßmka: Tuto vlastnost objektu Response je nutno pou₧φt p°ed HTML tagem < HTML > jinak dojde k chyb∞. Dßle se dozvφte, jak do strßnky vepsat prom∞nnou, jak oÜet°it chybu ve strßnce, jak p°esm∞rovat strßnku a samoz°ejm∞ jeÜt∞ spoustu dalÜφho. P°ehled kolekcφCookiesResponse.Cookies(ôCookieö)[(KlφΦ)|.Atribut] = hodnotaKde Cookie reprezentuje jmΘno specifikovanΘ cookie, u kterΘ se bude nastavovat hodnota. KlφΦ je °et∞zcov² volen² parametr podklφΦe cookie, pokud bude zadßn, bude cookie tzv. ôdirectoryö a hodnota klφΦe bude nastavena na hodnota. Atribut dopl≥uje informace o samotnΘ cookie. Pro lepÜφ pochopenφ se podφvejme na p°φklad, kter² demonstruje vytvo°enφ Cookies s nßzvem "Test" a klφΦem "lock", kter² je nastaven na hodnotu "pokus" <% Response.Cookies("Test")("lock") = "pokus" %>V hlaviΦce strßnky se objevφ n∞co jako Set-Cookie:TEST=lock=pokus Pro lepÜφ pochopenφ celΘ problematiky okolo Cookies je nutno si o nich °φct vφce. Opat°ete si proto dopl≥ujφcφ informace. P°ehled metodAddHeaderResponse.AddHeader name, valueTato metoda slou₧φ k p°idßnφ vlastnφ hlaviΦky do HTTP strßnky s Vßmi zadan²mi hotnotami. Pokud budete chtφt vlo₧it hlaviΦku s ji₧ existujφcφm nßzvem, tak p°edchozφ hlaviΦka nebude p°epsßna. Proto doporuΦuji v nßzvech VaÜich hlaviΦek nepou₧φvat "_" (podtr₧φtka), jeliko₧ kolekce ServerVariables by p°eklßdala tento znak jako pomlΦku, a tudφ₧ by doÜlo k nesprßvnΘ interpretaci. Hodnota, kterß se zadßvß jako value je °et∞zec. Jeliko₧ HTTP protokol vy₧aduje odeslßnφ hlaviΦek p°ed obsahem strßnky, je nutno vÜechny hlaviΦky do strßnky "napustit" p°ed znaΦkou < HTML >. Pokud zavolßte Response.AddHeaeder pod znaΦkou < HTML > nastane neoΦekßvanß chyba ;) AppendToLogResponse.AppendToLog °et∞zecMetoda p°idß do zßznamu o po₧adavku strßnky na server °et∞zec. Maximßlnφ dΘlka je 80 znak∙, ale pokud pot°eujete vklßdat delÜφ ret∞zec je mo₧nΘ metodu pou₧φt vφcekrßt. Dßle °et∞zec nesmφ obsahovat znak ","(Φßrka), jeliko₧ pole, kam se data zapisujφ v IIS jsou odd∞leny Φßrkami. Praxe: Mßte-li web a chcete identifikovat u₧ivatele mßte mo₧nost si pomocφ AppendToLog zaznamenßvat, jak se u₧ivatel pohyboval na webu, pop°φpad∞ kolikrßt se na web vrßtil. BinaryWriteResponse.BinaryWrite DataBinaryWrite zapφÜe, jak ji₧ nßzev napovφdß p°φmo do toku HTTP data, kterß zadßte jako parametr Data. Mφsto Data je nutno vlo₧it pole bajt∙, kterΘ chcete vlo₧it. Nemusφte se tedy bßt, ₧e zde dojde ke konverzi znak∙. PraktickΘ vyu₧itφ naleznete, kdy₧ musφte ve svΘ webovskΘ aplikaci zapisovat binßrnφ data pro klienta. Na prvnφ pohled se m∙₧e zdßt, ₧e tato metoda nemß p°φliÜ velkΘ praktickΘ vyu₧itφ. Myslφm, ₧e nßzor zm∞nφte pokud budete pot°ebovat vypsat obrßzek z databßze. P°φkaz Response.BinaryWrite je v tomto p°φpad∞ neoceniteln². ClearResponse.ClearMetoda Clear vyma₧e obsah p°ipravovanΘho v²stupu pro klienta (strßnku, kterß by se m∞la poslat klientovi). Tuto metodu lze pou₧φt pokud mßte nastaveno Response.Buffer na hodnotu True. Strßnka se neodesφlß okam₧it∞ klientovi a vy mßte mo₧nost nap°φklad v p°φpadu chyby smazat obsah strßnky. PraktickΘ vyu₧itφ naleznete ve strßnce, kde m∙₧e nastat chyba a vy nechcete, aby se u₧ivateli zobrazila. Nastavφte si Response.Buffer a potΘ generujete strßnku. Na konci otestujete zda-li je strßnka v po°ßdku. Pokud ano, nic se ned∞je, ale pokud nastala chyba, pou₧ijete Response.Clear a u₧ivatel se o niΦem nedovφ. Nakonec m∙₧ete nap°φklad dodat hlßÜku, ₧e doÜlo k neoΦekßvanΘ chyb∞. EndResponse.EndMetoda End zakonΦφ veÜkerou prßci serveru na generovßnφ strßnky a zaÜle jφ klientovi. Sma₧e po sob∞ veÜkerΘ spojenφ s databßzφ a uvolnφ po sob∞ pam∞¥. Pokud p°i pou₧itφ mßte nastavenou vlastnost Buffer na True, pak se zßsobnφk vyprßzdnφ stejn∞, jako by jste zavolali metodu Flush. Jedin² rozdφl je vÜak ten, ₧e po zavolßnφ tΘto metody se ji₧ ₧ßdn² k≤d nezpracuje, ale u Flush se strßnka pouze odeÜle klientovi a prßce na strßnce pokraΦuje sm∞le dßl ;) FlushResponse.FlushOkam₧it∞ odeÜle souΦasnou verzi strßnky na stranu klienta. Znamenß to tedy zrychlenφ naΦφtßnφ strßnek pokud mßte na strßnce dva a vφce SQL dotaz∙, kterΘ nemusejφ Φekat na sebe a m∙₧ou se v²sledky postupn∞ posφlat klientovi, kter² je zobrazφ v browseru a je mo₧nΘ si je nap°φklad prohlφ₧et v dob∞, kdy server generuje zbytek strßnky. Tento p°φkaz bohu₧el nemß upla¥n∞nφ pokud mßte celou strßnku v tabulce, kdy jsou sice data u klienta, ale browser Φekß na zbytek dat, aby mohl naΦφst celou tabulku. Pro lepÜφ pochopenφ zde uvßdφm p°φklad: <HTML> <HEAD> <TITLE>Pokusnß strßnka s vyu₧itφm Response.Flush <BODY> <% Set Conn = ServerCreateObject("ADODB.Connection") Conn.Open nazev_databaze Narocny_SQL = " [VLASTNI SQL DOTAZ]" Set vysledek = Conn.Execute(Narocny_SQL) Zde se provedl prvnφ dotaz. Abychom urychlili naΦφtßnφ stßnky na stran∞ klienta, zaÜleme mu ji p°ed dokonΦenφm naΦφtßnφ strßnky. Response.Flush Druhy_Dlouhy_SQL = "[VLASTNI SQL DOTAZ]" Set vysledek = Conn.Execute(Druhy_Dlouhy_SQL) %> </BODY> </HTML> RedirectResponse.Redirect urlP°esm∞ruje klienta na URL (Uniform Resource Locator). Tato metoda se volß p°ed tagem < HTML >. WriteResponse.Write dataAsi nejpou₧φvan∞jÜφ metoda objektu Response. Metoda zapφÜe informace p°φmo do t∞la odpov∞di HTTP. Za data lze doplnit jak text, tak znaΦky HTML, ale data nesmejφ obsahovat "% >". Za tyto znaky je nutnΘ napsat "% \ >". Tomuto server rozumφ. :) P°φklad: <% Response.Write "<IMG SRC = "aaa.jpg" %\>" %> Klientovi dorazφ <IMG SRC = "aaa.jpg" > Poznßmka: Pot°ebujete-li odeslat znak konce °ßdku nebo uvozovky, pou₧ijte funkci Chr. P°φklad: Response.Write "Test uvozovek - " & Chr(34) & " - Konec testu" O Response.Write by se zaslou₧il cel² Φlßnek, ale ten zatφm nenφ, tak₧e jeÜt∞ struΦn∞ podotknu, ₧e pomocφ Response.Write lze jednoduÜe vypisovat hodnoty prom∞nn²ch. P°φklad: <% pro1 = 548 Response.Write ("Vypsßnφ prom∞nnΘ: " & pro1) %> Klient dostane: Vypsßnφ prom∞nnΘ: 548 Toto je doufßm jasnΘ. Pro spojenφ se pou₧φvß znak "&". Jako poslednφ v∞c, kterß m∞ k Response.Write napadß je jejφ zjednoduÜenΘ pou₧itφ ve form∞ <%=promena1%>. VÜe jist∞ pochopφte na p°φkladu. P°φklad: Vypsßnφ prom∞nnΘ: <%=pro1%> Tento druh² p°φklad je ve v²slednΘ fßzi zcela toto₧n² s p°edchozφm. Toto je prozatφm o objektu Response vÜechno. VeÜkerΘ funkce si m∙₧ete vyzkouÜet za pou₧itφ PWS (Personal Web Serveru), o kterΘm jste zde mohli takΘ nalΘzt Φlßnek. Zden∞k Cendra Souvisejφcφ Φlßnky |
|