Avatar billede kronsj Nybegynder
09. april 2008 - 22:14 Der er 16 kommentarer

Lidt forklaringer til URLs

Det er ofte let at se hvis websites er lavet med hhv asp, asp.net (.aspx), php, jsp ... osv.
Men på nogle sites står der ikke engang et filnavn efter domænet i url-adressen. Andre gange har jeg set .exe-filer som del af url-stien. På google, står der eks. search?hl=da&q=eksperten&meta=  når man søger efter eksperten.
Er det noget man sætter op på serveren, eller kræver det en speciel kompilering af webservice eller web applikation?
Avatar billede tingholm Mester
09. april 2008 - 22:40 #1
jeg tror det du tænker på er variabler sendt i url'en...
eks
www.side.dk/visside.php?id=10&pris=5
Så åbner du siden visside.php og fortæller den at værdien på 'id' er 10 og prisen er 5 (starter med '?' og adskiller sættene med '&')
Det kan så bruges til et indlægs-id eller ca 1000 andre ting...
Avatar billede arne_v Ekspert
09. april 2008 - 22:40 #2
De fleste web servere har mulighed for at lave rewrites/mappings hvor en
URL af formen /foo mappes til /xxx/bar.ext !
Avatar billede arne_v Ekspert
09. april 2008 - 22:41 #3
Avatar billede tingholm Mester
09. april 2008 - 22:42 #4
hvis der ikke står et filnavn er det op til serveren at vælge en fil... det er oftest sat til 'index' eller 'default' og kan være html, php, asp...
det kan både være på selve adressen www.side.dk men også undermapper www.side.dk/artikler
Avatar billede kronsj Nybegynder
11. april 2008 - 18:48 #5
Som jeg skriver i mit spørgsmål, har google.dk ikke noget filnavn(?)
http://www.google.dk/search?hl=da&q=eksperten&meta=
- det skulle så være Search (det med parametre på url-adresse kender jeg godt fra almindelig web-programmering
http://ekstrabladet.dk/sport/udenlandsk_fodbold/international_fodbold/article994876.ece  kunne tyde på at filen bliver genereret dynamisk, men er den lagret fysisk som en fil i html-format

http://www.siminn.dk/362 - fører ind på en præcis web-side, men uden noget filnavn (ihvertfald ikke nogen ekstension)

Bemærk venligst at de kopierede links ikke er ment som reklame, men blot eksempler på urls som jeg har studset lidt over.
Grunden til mit spørgsmål er at jeg er ved at lave et webprodukt, som meget gerne skulle indeholde så få "åbne" filer som muligt, så så meget af koden bliver genereret via en serverapp (sandsynligvis i C# eller VB.net)
Avatar billede kronsj Nybegynder
11. april 2008 - 18:56 #6
Her er iøvrigt en lille sød URL:
http://tess2.uspto.gov/bin/gate.exe?f=tess&state=90od4p.1.1
Det kunne tyde på at det er en exe-fil der kører en del af web-delen.
(den tilhører iøvrigt "United States Patent and Trademark Office" - men det er sagen uvedkommende)
- nogen forklaring hvordan man laver den slags exe-filer?
Avatar billede arne_v Ekspert
11. april 2008 - 19:01 #7
Der er vel en CGI exe.

De fleste web server understoetter at man laver "scripts" som EXE filer.

Protokollen mellem web server og disse exe filer er CGI.

Det er meget nemt at lave, men performance er ikke i top.
Avatar billede kronsj Nybegynder
11. april 2008 - 19:11 #8
Laver man så nogle cgi-scripts der bliver kaldt/exekveret via CGI.exe (ligesom man kalder andre windows exe-filer i en kommandolinje, hvor den så sender noget HTML til klienten, eller ligger det hele kompileret ind i en applikation?

Jeg vil blot vide om/hvordan man laver en web applikation der bruger så få åbne filer som muligt (eks. noget XSLT basepage)
Avatar billede arne_v Ekspert
11. april 2008 - 19:31 #9
Der er ikke nogen CGI.exe - web serveren taler direkte med script.exe via CGI protokollen.
Avatar billede kronsj Nybegynder
11. april 2008 - 22:37 #10
Det vil sige at gate.exe (i dette tilfælde) er en compileret webapplikation, der fyrer noget html/soap af mod klienten?

Kunne du evt. skrive nogle linjer "pseudokode" der kunne illustrere hvordan den slags kunne være lavet?
Avatar billede arne_v Ekspert
11. april 2008 - 22:48 #11
Jep.

Jeg kan nok finde nogle gamle eksempler.

Men ellers check:

http://www.cs.tut.fi/~jkorpela/forms/cgic.html
Avatar billede kronsj Nybegynder
15. april 2008 - 23:36 #12
Jeg tror det er ganske simpelt, i c#:

Opret et consol-projekt
I main-metoden, skal der blot være nogle console.writeline("<html>"); ... osv

MEN! Jeg får ikke rettigheder til at køre det.
Den kommer med flg. fejl: Exception from HRESULT: 0x80070057 (E_INVALIDARG))

Jeg har søgt efter problemet flere steder på nettet. Der var nogle der der havde stødt på samme besked, og havde prøvet med .net 1.1, hvilket jeg også prøvede (det første var skrevet/kompileret i 2.0)

I en kompilering i 1.1 miljøet, kom der trods alt noget frem, men der kom en fejl med at der manglede bl.a. en header (ikke den i html-teksten).

Er der nogen der kender til disse problemer?
Avatar billede arne_v Ekspert
16. april 2008 - 02:27 #13
Hvis du har fået det virtuelle dir sat op for IIS til at tillade CGI, så er
det næsten bare at skrive HTML.

Følgende virker hos mig:

using System;

public class Test
{
    public static void Main(string[] args)
    {
        Console.WriteLine("Content-type: text/plain");
        Console.WriteLine("");
        Console.WriteLine("Det virker !");
    }
}

[hvis du outputter HTML skal du naturligvis bruge text/html og ikke tex/plain]
Avatar billede arne_v Ekspert
09. juni 2008 - 04:44 #14
kronsj ?
Avatar billede kronsj Nybegynder
10. juni 2008 - 23:26 #15
Jeg får stadig flg. fejl:
The specified CGI application misbehaved by not returning a complete set of
HTTP headers.

... mystisk
Avatar billede arne_v Ekspert
13. juni 2008 - 18:22 #16
Med hvilken kode ?
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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