|
| Hvor lang kan en querystring eller en sess~ Fra : Jakob Munck |
Dato : 09-11-01 09:52 |
|
Jeg har på min site en postfunktion, hvor brugerne kan svar på hinandens
breve, og når man svar på et brev skal man samtidig kunne se teksten på det
brev man svarer på. I overskriften skal stå "Re:....." for at vise at dette
er et svar, og under formfeltet skal teksten for det brev man svarer på
kunne ses.
Overskriften (max. 40 karakterer) overfører jeg fra den ene til den anden
funktion ved en sessionvariabel, men hvordan overfører jeg selve brevets
brødtekst, der kan være op til 3000 karakterer langt? Kan man overføre 3000
karakterer v.hj.a. en querystring eller kan man gøre dem til en
sessionvariabel? Eller findes der en anden metode, ud over det at jeg
naturligvis kan lave et nyt databasekald og hente teksten derfra endnu en
gang.
Kan en querystring eller en sessionvariabel være på 3000 karakterer? Hvor er
max-grænsen?
v.h.
Jakob Munck
| |
Zamme Röha (09-11-2001)
| Kommentar Fra : Zamme Röha |
Dato : 09-11-01 15:14 |
|
On Fri, 9 Nov 2001 09:51:38 +0100, Jakob Munck wrote:
> Jeg har på min site en postfunktion, hvor brugerne kan svar på hinandens
> breve, og når man svar på et brev skal man samtidig kunne se teksten på det
> brev man svarer på. I overskriften skal stå "Re:....." for at vise at dette
> er et svar, og under formfeltet skal teksten for det brev man svarer på
> kunne ses.
>
> Overskriften (max. 40 karakterer) overfører jeg fra den ene til den anden
> funktion ved en sessionvariabel, men hvordan overfører jeg selve brevets
> brødtekst, der kan være op til 3000 karakterer langt? Kan man overføre 3000
> karakterer v.hj.a. en querystring eller kan man gøre dem til en
> sessionvariabel? Eller findes der en anden metode, ud over det at jeg
> naturligvis kan lave et nyt databasekald og hente teksten derfra endnu en
> gang.
>
> Kan en querystring eller en sessionvariabel være på 3000 karakterer? Hvor er
> max-grænsen?
4096 bytes
>
>
> v.h.
> Jakob Munck
>
>
--
Zamme Röha, Sældomptør og søløve
Red verdens sæler.
| |
Jakob Munck (09-11-2001)
| Kommentar Fra : Jakob Munck |
Dato : 09-11-01 15:36 |
|
>
> 4096 bytes
>
> >
Tak for det. Og hvor mange bogstaver svarer det så til?
ca. 4000 ???
v.h.
Jakob Munck
| |
Anders Holbøll (09-11-2001)
| Kommentar Fra : Anders Holbøll |
Dato : 09-11-01 16:29 |
|
Jakob Munck wrote:
>
> Jeg har på min site en postfunktion, hvor brugerne kan svar på
> hinandens breve, og når man svar på et brev skal man samtidig
> kunne se teksten på det brev man svarer på.
Hvorfor overfører du ikke blot en "pointer" til det brev, der skal
svares på? Altså hvis brevet ligger i en database overfører du
primærnøglen fra tabellen, hvis det ligger på en pop3-server overfører
du Message-ID (eller hvad der nu er), ...
Jeg har altid selv afholdt mig fra at sende "fritekst" i querystringen.
--
Anders
| |
Jakob Munck (09-11-2001)
| Kommentar Fra : Jakob Munck |
Dato : 09-11-01 16:56 |
|
>
> Hvorfor overfører du ikke blot en "pointer" til det brev, der skal
> svares på? Altså hvis brevet ligger i en database overfører du
> primærnøglen fra tabellen, hvis det ligger på en pop3-server overfører
> du Message-ID (eller hvad der nu er), ...
Ja, men så skal jeg jo stadig lave et nyt databasekald for at hente teksten,
der hører til denne "pointer", og det var det jeg gerne ville undgå.
v.h.
Jakob Munck
| |
Anders Holbøll (09-11-2001)
| Kommentar Fra : Anders Holbøll |
Dato : 09-11-01 17:17 |
|
Jakob Munck wrote:
>
> >
> > Hvorfor overfører du ikke blot en "pointer" til det brev,
> > der skal svares på?
>
> Ja, men så skal jeg jo stadig lave et nyt databasekald for
> at hente teksten, der hører til denne "pointer",
Ja.
> og det var det jeg gerne ville undgå.
Hvorfor? Har du regnet på hvad, der tager længst tid: At hente data ud
af databasen eller at sende 6kb over et 56kB/s modem?
--
Anders
| |
Jakob Munck (09-11-2001)
| Kommentar Fra : Jakob Munck |
Dato : 09-11-01 18:26 |
|
> > og det var det jeg gerne ville undgå.
> Hvorfor? Har du regnet på hvad, der tager længst tid: At hente data ud
> af databasen eller at sende 6kb over et 56kB/s modem?
>
> --
Den tid det tager at sende informationerne over modem ud til brugeren er vel
nøjagtig den samme, og datamængden også, uanset hvordan jeg løser problemet.
Det der gør en forskel er hvad der er hurtigst, at flytte X antal kb som en
sessionvariabel, eller at hente dem igen fra databasen ved at lave et nyt
kald. Min fornemmelse er, at det er hurtigst at sende dem som en
sessionvariabel, og det er min begrundelse for at sigte mod denne løsning,
hvis det kan lade sig gøre.
v.h.
Jakob Munck
| |
Anders Holbøll (11-11-2001)
| Kommentar Fra : Anders Holbøll |
Dato : 11-11-01 23:22 |
|
Jakob Munck wrote:
>
> > > og det var det jeg gerne ville undgå.
> > Hvorfor? Har du regnet på hvad, der tager længst tid: At
> > hente data ud af databasen eller at sende 6kb over et
> > 56kB/s modem?
>
> Den tid det tager at sende informationerne over modem ud til
> brugeren er vel nøjagtig den samme, og datamængden også,
> uanset hvordan jeg løser problemet.
Ikke hvis ud har valgt at lægge 3kb data i en url: Først skal url'en
vises på en side, derfor skal den sendes over internettet, når brugeren
klikker på url'en, skal den igen over internettet. Ialt sendes 6kb
ekstra (i forhold til en url, som kun indeholder i pointer på 10-20
bytes) over internettet.
> Det der gør en forskel er hvad der er hurtigst, at flytte X
> antal kb som en sessionvariabel, eller at hente dem igen fra
> databasen ved at lave et nyt kald. Min fornemmelse er, at det
> er hurtigst at sende dem som en sessionvariabel, og det er min
> begrundelse for at sigte mod denne løsning, hvis det kan lade
> sig gøre.
Det er sikkert hurtigst med et session objekt, men hvis brugeren har
slået cookies fra eller vil bookmarke siden, er det jo ikke en gode ide
(jeg kan ikke lide session (ikke hovedløs brug af session i hvert
fald)). Da det sikkert er få, der vil skrive et nyt indlæg (i forhold
til antalet af besøgende, der kun vil læse) er det ikke så relevant at
optimerer med skrivning for øje (hvis det kan gå ud over
"læse-hastigheden").
--
Anders
| |
Jakob Munck (12-11-2001)
| Kommentar Fra : Jakob Munck |
Dato : 12-11-01 00:52 |
|
> Det er sikkert hurtigst med et session objekt, men hvis brugeren har
> slået cookies fra eller vil bookmarke siden, er det jo ikke en gode ide
> (jeg kan ikke lide session (ikke hovedløs brug af session i hvert
Hvordan mener du at det forhold, at cookies måtte være slået fra og det at
brugeren måske vil bookmarke siden har noget at gøre med fornuften i at
anvende session-objektet til at overføre data?
v.h.
Jakob Munck
| |
Anders Holbøll (12-11-2001)
| Kommentar Fra : Anders Holbøll |
Dato : 12-11-01 11:41 |
|
Jakob Munck wrote:
>
> > Det er sikkert hurtigst med et session objekt, men hvis brugeren har
> > slået cookies fra eller vil bookmarke siden, er det jo ikke en gode ide
> > (jeg kan ikke lide session (ikke hovedløs brug af session i hvert
>
> Hvordan mener du at det forhold, at cookies måtte være slået fra og det at
> brugeren måske vil bookmarke siden har noget at gøre med fornuften i at
> anvende session-objektet til at overføre data?
Session-objektet anvender cookies og sessions lever kun i 15 minutter
fra sidste besøgte side.
--
Anders
| |
Jakob Munck (12-11-2001)
| Kommentar Fra : Jakob Munck |
Dato : 12-11-01 11:58 |
|
>
> Session-objektet anvender cookies og sessions lever kun i 15 minutter
> fra sidste besøgte side.
>
Tak for gode råd. Det er godt at vide at session-objektet anvender cookies,
og det giver selvfølgelig et problem, når brugere har slået denne funktion
fra. Men hvad er det fornuftige alternativ?
Man kan anvende querystrings, når det er begrænsede datamængder, men hvad
når det drejer sig om lidt større? Er det bedre at anvende
application-variable? Eller bliver de også lagret som cookies?
Hvad er dit forslag?
v.h.
Jakob Munck
| |
Anders Holbøll (12-11-2001)
| Kommentar Fra : Anders Holbøll |
Dato : 12-11-01 17:14 |
|
Jakob Munck wrote:
> > Session-objektet anvender cookies og sessions lever kun i 15
> > minutter fra sidste besøgte side.
>
> Men hvad er det fornuftige alternativ?
Hvad var der galt med at bruge "pointer"? Det var jo netop en måde til
at begrændse mængden information i querystring'en til en endelig mængde,
samt at sørge for at der ikke var brug for nogen "state-information" på
serveren (al "state-information" var istedet indkodet i querystringen).
--
Anders
| |
Jakob Munck (12-11-2001)
| Kommentar Fra : Jakob Munck |
Dato : 12-11-01 17:21 |
|
OK, jeg har også valgt en løsning med et nyt kald til databasen, altså
v.hj.a. en "pointer".
Tak for hjælpen.
v.h.
Jakob Munck
| |
|
|