Objekt Response obsahuje metody pro vytváření odpovědi odesílané klientovi.
Metoda AddHeader slouží k vytváření nebo změně hodnoty HTTP hlaviček.
Například příkazem
Response.AddHeader "WWW-Authenticate", "BASIC"
nastavíme hodnotu hlavičky WWW-Authenticate na hodnotu BASIC.
Stejnou hlavičku můžeme lze nastavit i HTML příkazem:
<META HTTP-EQUIV="WWW-Authenticate" CONTENT="BASIC">
Všechny hlavičky musí být odeslány dříve, než je odeslán jakýkoli jiný výstup. Hlavičky přidané metodou AddHeader již nelze dodatečně odstranit. Názvy hlaviček nesmějí obsahovat podtržítko, protože by bylo nesprávně interpretováno jako pomlčka.
Metoda AppendToLog přidá zadaný text na konec logového souboru webserveru.
Metoda BinaryWrite zapíše obsah zadaného parametru do výstupního HTTP proudu, aniž by byla prováděna libovolná konverze znaků. Tato metoda je vhodná například pro odesílání binárních dat při generování souboru s obrázkem a podobně.
Metoda Clear vymaže obsah vyrovnávací paměti používané pro odesílání generované stránky. Tato metoda se často používá společně s metodou Response.End, chceme-li zabránit odeslání obsahu bufferu klientovi.
Pokud není atribut Response.Buffer nastaven na hodnotu True, způsobí použití metody Clear vyvolání runtime chyby.
Metoda Clear také nezruší odeslané HTTP hlavičky. Metoda Clear dokáže zrušit pouze obsah vygenerovaný po posledním použití metody Response.Flush.
Metoda End způsobí, že ASP přestane zpracovávat skript stránky a odešle dosud vygenerovaný obsah. Další příkazy skriptu již nejsou zpracovány.
Jestliže má atribut Buffer hodnotu True, odešle se obsah bufferu jako při zavolání metody Flush. Proto se obvykle používá společně s metodou Clear, aby se zabránilo odeslání obsahu bufferu.
Response.Clear Response.End
Metoda Flush způsobí odeslání obsahu bufferu klientovi.
Pokud není atribut Buffer nastaven na hodnotu True, dojde při volání metody k runtime chybě.
Zkratka PICS znamená Platform for Internet Control Selection. Jedná se o technologii umožňující označování stránek informací o typu obsahu. Označení PICS v sobě obsahuje například informace o množství násilí, nahoty, sexu a o stupni vulgárnosti jazyka použitého ve stránce. Více informací o označování stránek podle obsahu naleznete na stránkách Internet Content Rating Association.
Metoda Redirect odešle klientovi HTTP hlavičku "302 Object Moved", čímž způsobí přesměrování klienta na zadanou URL adresu.
Příklad přesměrování na stránky Západočeské univerzity v Plzni:
Response.Redirect "http://www.zcu.cz"
Přesměrování metodou Redirect je možné provést jen před odesláním libovolného generovaného obsahu, protože se provádí pomocí odeslání HTTP hlavičky.
Metoda Write zapíše zadaný text do výstupního HTTP proudu, čímž se text stane součástí obsahu odesílaného klientovi.
Místo volání
Response.Write(text)
je možné použít zkrácený zápis
<%= text %>
Při vícenásobném volání metody Response.Write není vhodné používat zkrácený zápis, neboť pak dochází k častému přepínání kontextu mezi ASP a HTML, což vyžaduje jistý čas.
Stránka bude zpracována rychleji, když použijeme
With Response .Write "Tento text " .Write "byl vypsán s použitím " .Write "konstrukce With." End With
než v případě použití
<%= "Tento text " %> <%= "byl vypsán s použitím " %> <%= "zkráceného zápisu." %>
Nastavování hodnot atributů objektu Response (kromě atributu IsClientConnected) ovlivňuje HTTP hlavičky odesílané klientovi. Proto je nutné tyto atributy nastavit před odesláním prvního znaku klientovi.
Hodnota atributu Buffer určuje, zda má ASP používat vyrovnávací paměť nebo zda má být veškeré informace klientovi odesílány přímo.
Hodnota tohoto atributu musí být nastavena ještě před odesíláním HTTP hlaviček.
V případě, že má atribut Buffer nastavenu hodnotu False, způsobí použití metod Response.Flush a Response.Clear runtime chybu.
Hodnota atributu CacheControl určuje, zda může proxy server ukládat vygenerovanou stránku do své paměti cache.
Atribut CacheControl může mít hodnotu "Private" (ukládání do cache je zakázáno) nebo "Public" (ukládání do cache je povoleno). Implicitně je nastavena hodnota "Private".
Hodnota atributu Charset slouží pro nastavení znakové sady dokumentu a je přidávána do HTTP hlavičky Content-Type. Tím je zajištěno správné zobrazení stránky v prohlížeči.
Příkaz
Response.Charset = 'iso-8859-2'
způsobí odeslání hlavičky
content-type: text/html; charset=iso-8859-2
Tento atribut slouží pro nastavení HTTP hlavičky Content-Type, která obsahuje informaci o typu dokumentu (tzv. MIME typ). Implicitní hodnota je "text/html".
Pokud například generujeme ASP skriptem obrázek ve formátu GIF, musíme nastavit hodnotu tohoto atributu na "image/gif".
Následující tabulka obsahuje přehled nejběžnějších MIME typů.
| Typ MIME | Popis | Přípona souboru |
|---|---|---|
| application/acad | Soubory AutoCAD Drawing | .dwg |
| application/clariscad | Soubory ClarisCAD | .ccad |
| application/dxf | DXF (AutoCAD) | .dxf |
| application/msaccess | Soubor Microsoft Access | .mdb |
| application/msword | Soubor Microsoft Word | .doc |
| application/octet-stream | Blíže neurčený binární soubor | .bin |
| application/pdf | PDF (Adobe Acrobat) | |
| application/postscript | PostScript, encapsulated PostScript, Adobe Illustrator | .ps, .eps, .ai |
| application/rtf | Rich Text Format | .rtf |
| application/vnd.ms-excel | Soubor Microsoft Excel | .xls |
| application/vnd.ms-powerpoint | Soubor Microsoft Power Point | .ppt |
| application/x-cdf | Chanel Definition File | .cdf |
| application/x-csh | Skript C-shell | .csh |
| application/x-dvi | TeX | .dvi |
| application/x-javascript | Zdrojový soubor JavaScript | .js |
| application/x-latex | Zdroj text pro LaTeX | .latex |
| application/x-mif | Formát FrameMaker MIF | .mif |
| application/x-msexcel | Soubor Microsoft Excel | .xls |
| application/x-mspowerpoint | Soubor Microsoft Power Point | .ppt |
| application/x-tcl | Skript TCL | .tcl |
| application/x-tex | Zdrojový text pro TeX | .tex |
| application/x-texinfo | Texinfo (emacs) | .texinfo, .texi |
| application/x-troff | Troff | .t, .tr, .troff |
| application/x-troff-man | Troff s makry MAN | .man |
| application/x-troff-me | Troff s makry ME | .me |
| application/x-troff-ms | Troff s makry MS | .ms |
| application/x-wais-source | Zdroj WAIS | .src |
| application/zip | Archív ZIP | .zip |
| audio/basic | Základní zvuk (obvykle m-law) | .au, .snd |
| audio/x-aiff | Zvuk AIFF | .aif, .aiff, .aifc |
| audio/x-wav | Zvuk Windows WAVE | .wav |
| image/gif | Obrázek GIF | .gif |
| image/ief | Image Exchange Format | .ief |
| image/jpeg | Obrázek JPEG | .jpeg, .jpg, .jpe |
| image/tiff | Obrázek TIFF | .tiff, .tif |
| image/x-cmu-raster | CMU Raster | .ras |
| image/x-portable-anymap | Formát PBM Anymap | .pnm |
| image/x-portable-bitmap | Formát PBM Bitmap | .pbm |
| image/x-portable-graymap | Formát PBM Graymap | .pgm |
| image/x-portable-pixmap | Formát PBM Pixmap | .ppm |
| image/x-rgb | Obrázek RGB | .rgb |
| image/x-xbitmap | X Bitmap | .xbm |
| image/x-xpixmap | X Pixmap | .xpm |
| image/x-xwindowdump | Formát X Windows Dump (xwd) | .xwd |
| multipart/x-gzip | Archív GNU ZIP | .gzip |
| multipart/x-zip | Archív PKZIP | .zip |
| text/css | Zdroj Cascading Style Sheet | .css |
| text/html | Soubor HTML | .html, .htm |
| text/plain | Plain Text | .txt |
| text/richtext | MIME Rich Text | .rtx |
| text/tab-separated-values | Text s hodnotami oddělenými tabulátory | .tsv |
| text/x-setext | Struct-Enhanced Text | .etx |
| text/xml | Text ve formátu XML | .xml |
| video/mpeg | Video MPEG | .mpeg, .mpg, .mpe |
| video/quicktime | Video QuickTime | .qt, .mov |
| video/x-msvideo | Video Microsoft Windows | .avi |
| video/x-sgi-movie | Formát SGI Movieplayer | .movie |
Další informace o MIME typech naleznete na adrese http://www.rad.com/networks/1995/mime/mime.htm.
V případě, že jste povolili nastavením atributu CacheControl ukládání stránky do cache, obsahuje tento atribut délku platnosti stránky v minutách. Do vypršení platnosti je klientovi zobrazována stránka uložená v cache. Po vypršení platnosti je stránka znovu vygenerována.
Chceme-li, aby platnost stránky byla 10 minut, použijeme:
Response.Expires = 10
Pokud chceme, aby se stránka neukládala v cache, nastavíme hodnotu atributu na velké záporné číslo (např. -10000), čímž se zamezí problémům s různými časy na serveru a klientovi.
Pokud je hodnota atributu v jedné stránce nastavena vícekrát, použije se první nastavená hodnota.
Tento atribut má stejnou funkci jako atribut Expires. V tomto atributu se však nenastavuje doba platnosti stránky, ale přímo datum a čas, kdy skončí platnost stránky.
Příklad nastavení času vypršení platnosti stránky:
Response.ExpiresAbsolute = #Dec 31, 2003 23:59:59#
Hodnotu tohoto atributu lze pouze číst. Hodnota True znamená, že je klient stále připojen a načítá stránku, hodnota False znamená, že klient již přestal stránku načítat.
Hodnota tohoto atributu může být použita například pro ukončení zpracování stránky v případě, že již klient přešel na jinou stránku, než se tato stránka kompletně zpracovala.
If Not Response.IsClientConnected Then
Response.End
End If
Tento atribut obsahuje stavovou hodnotu a zprávu, která se odešle klientovi jako informace, zda byla stránka úspěšne zpracována nebo zda došlo k nějaké chybě.
Příklady běžných zpráv:
Response.Status = "200 OK" Response.Status = "404 Not Found"
Objekt Response obsahuje jedinou kolekci.
Kolekce Response.Cookies slouží pro nastavení hodnot cookies odesílaných klientovi. Pro zjištění hodnot cookies uložených u klienta se používá kolekce Request.Cookies.
Obdrží-li klient odpověď na HTTP požadavek, uloží cookies podle obsahu kolekce Response.Cookies. Pokud již na klientovi je uložena cookie se zadaným jménem, je přepsána novou hodnotou.
Hodnota jednoduché cookie se nastaví např. příkazem:
Response.Cookies("UzivatelskeJmeno") = "JNovak"
Hodnoty pro vícehodnotovou cookie můžeme nastavit například příkazy:
Response.Cookies("Uzivatel", "Jmeno") = "Jan"
Response.Cookies("Uzivatel", "Prijmeni") = "Novák"
Každá položka kolekce Response.Cookie je opět kolekcí, která má kromě standardních vlastností všech kolekcí navíc ještě atributy Domain, Expires, HasKeys, Path a Secure.
Slouží pro nastavení domény, z níž bude daná cookie viditelná. Hodnotu tohoto atributu nelze číst, ale pouze nastavovat. Implicitní hodnota odpovídá doméně dané stránky.
Tento atribut umožňuje nastavit datum ukončení platnosti dané cookie. Hodnotu tohoto atributu nelze číst, ale pouze nastavovat. Hodnota se zadává jako absolutní časový údaj.
Chceme-li například nastavit, aby platnost cookie vypršela za 6 měsíců, použijeme příkaz:
Response.Cookies("UzivatelskeJmeno").Expires = DateAdd("m", 6, Now)
Chceme-li nastavit datum ukončení platnosti cookie na konkrétní datum, použijeme například:
Response.Cookies("UzivatelskeJmeno").Expires = #January 1, 2003#
Hodnotu tohoto atributu lze pouze číst. Hodnota False znamená, že se jedná o jednoduchou cookie, hodnota True znamená, že jde o vícehodnotovou cookie.
Pozor, pokud nastavíte hodnotu podklíče u vícehodnotové cookie, která již u klienta existuje, ztratí se i hodnoty ostatních podklíčů dané cookie.
Hodnotou tohoto atributu můžeme ovlivnit viditelnost dané cookie. Pokud nastavíme hodnotu atributu Path, bude daná cookie viditelná pouze ze stránek ležících v dané cestě.
Implicitně je nastaven kořenový adresář dané ASP aplikace.
Nastavíme-li hodnotu atributu Secure na hodnotu True, bude daná cookie předávána pouze při použití zabezpečeného protokolu HTTPS. Na straně klienta je však obsah cookie ukládán v otevřené (nezašifrované) podobě.