Avatar billede bongii Nybegynder
03. januar 2008 - 22:32 Der er 13 kommentarer og
1 løsning

Forskel på GET og POST

Hej.

Jeg har altid brugt POST i mine formularer. Er GET bedre, hvad er egentlig forskellen?
Avatar billede w13 Novice
03. januar 2008 - 22:35 #1
Nej, GET er langt mere usikkert og medfører flere problemer.
Hvor POST overfører data i hukommelsen, som kan hentes med Request.Form("feltnavn"), så overfører GET i adresselinjen, så det f.eks. kan se således ud: http://www.minside.dk/side.asp?feltnavn=erik&id=5
Og en sådan data kan hentes med Request.Querystring("feltnavn") og Request.Querystring("id")
Men som sagt bør du bruge POST, medmindre der er en klar fordel i at bruge GET.
Avatar billede arne_v Ekspert
03. januar 2008 - 22:40 #2
Data sendes fra browser til server lidt forskelligt.

Ved GET vil data blive vist i URL.

Jeg finder det mest naturligt at bruge POST i forme.
Avatar billede thesurfer Nybegynder
03. januar 2008 - 22:45 #3
Hvis det er data der skal kunne redigeres af brugeren, brug GET.
Hvis det er data brugeren helst ikke skal redigere, brug POST.

Jeg skriver "helst ikke" fordi brugeren til enhver tid kan kigge i kildekoden, og afvikle JavaScript kode i adresse feltet.


HUSK!!:
Ved login skal du ALTID bruge POST! Hvis du bruger GET vil brugernavn og kodeord blive gemt i oversigten over besøgte adresser.
Det betyder, at når du engang logger af og forlader computeren, kan den næste person logge ind via dit brugernavn og kodeord, ved at finde adressen i oversigten.
Avatar billede bongii Nybegynder
03. januar 2008 - 23:05 #4
Men der er ingen forskel på hvordan formen submittes til en andne site osv.?
Er det ligemeget hvor meget der står i de forskellige input felter ved GET? Tænkte på store textarea osv?
Avatar billede thesurfer Nybegynder
03. januar 2008 - 23:20 #5
bongii> Nej, der er en begrænsning på hvor meget der kan sendes..

Begrænsningen ligger ikke i felterne (og deres værdier), men i hvor lang en url kan være.. jeg er sikker på at arne_v har et tal til dig.. :-)

Jeg kan ikke lige huske hvor mange tegn..

Det er meget dumt at sende lange adresser afsted.. alt for grimt og uoverskueligt.. det er sådan noget offentlige instutitioner kan finde på, med deres latterlige navngivning til deres sider (sider/filer, ikke domæner)..
Avatar billede kennedk Nybegynder
03. januar 2008 - 23:58 #6
Avatar billede arne_v Ekspert
04. januar 2008 - 02:50 #7
Som linket siger er max. længde af URL ikke specificeret i standarden, men afhænger
af softwaren.

Brug af GET og max. længde på URL er i virkeligheden lidt en "gammel historie".

Fordi udover de nævnte restriktioner er der en restriktion i CGI scripts på den
maksimale kommando længde i kommando fortolkeren.

I gamle dage da CGI scripts var almindelige anbefalede man ofte 256 som max. længde.
Avatar billede arne_v Ekspert
04. januar 2008 - 02:52 #8
Og tænk sig at Boutell stadig er "aktiv".

Det står stadig tydeligt i min erindring da han fik problemer med GD fordi Unisys
lige pludselig begyndte at håndhæve deres LZW patent.
Avatar billede bongii Nybegynder
04. januar 2008 - 08:23 #9
Men hvorfor er GET så brugt så meget? Det virker som uvidenhed af programmøren der ikke har kendt til POST.
Avatar billede w13 Novice
04. januar 2008 - 10:22 #10
Jeg mener ikke, GET er brugt så meget. I enkelte situationer kan det være fornuftigt at bruge, og så bør man.

GET er dog ikke nødvendigvis det samme som at overføre med querystrings. Følgende linkeksempel kan man f.eks. gøre god brug af: side.asp?id=5&method=write
Avatar billede bongii Nybegynder
04. januar 2008 - 11:40 #11
Okay der er vist ikke mere suppe og koge på denne. Hvem vil have de 15 point? Vil i dele?

Takker drenge.
Avatar billede w13 Novice
04. januar 2008 - 11:43 #12
Ikke til mig, tak. =)
Avatar billede thesurfer Nybegynder
04. januar 2008 - 20:47 #13
Jeg springer over.. :-)
Avatar billede bongii Nybegynder
05. januar 2008 - 17:32 #14
;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester