HTML Forms, CGI och HTTP. Översikt Innehåll – Presentation – Beteende HTML Forms (innehåll) CGI (beteende) HTTP (beteende)

Slides:



Advertisements
Liknande presentationer
FTP, HTTP, HTML, XML och XHTML
Advertisements

Maria Kihl och Jens A Andersson Kapitel 9: Applikationer.
Förslag med resultat från HistoryKonfigurera flera olika Search Providers Snabbt lägga till Search Provider Visuell sök med bilder i resultatet.
Programmering B PHP Lektion 1
ASP.NET MVC MVC historik ● Traditionellt arkitekturmönster som ansetts särskilt lämpligt i webbapplikationer ● Separation of concerns & loose.
1 ITK:P2 F9 HTTP, Java servlets och Apache Tomcat DSV Peter Mozelius.
NETinfo 2009–10-09 Magnus Persson Epost: Telefon: 046 –
2007 Microsoft Office System - Klienten Pontus Haglund Mid Market Solutions Specialist Microsoft AB.
Next previous Innehåll Inledning Några enkla exempel Pekare till och kort beskrivning av större exempel Speciella referenser (som används i marginalen)
Next previous Lite mer om CGI-programmering Innehåll Vad är CGI? Vad är Forms? Vad är Perl? Forms, CGI och Perl. Något om Cookies. Internetprogrammering.
Next previous Lite mer om CGI-programmering Innehåll Vad är CGI? Vad är Forms? Vad är Perl? Forms, CGI och Perl Internetprogrammering F 14 Läs också: Kursboken.
Databaser i B2KUNO Johan Eklund. Hur går jag vidare? Avancerade tillämpningar:  Analysera data  Generera information Utveckla följande färdigheter:
Mahmud Al Hakim Webmaster DAG 11 VT09 Mahmud Al Hakim
WEBMASTER DAG 10 VT09 Mahmud Al Hakim
W EBMASTER DAG 11 HT08 Mahmud Al Hakim
WEBMASTER DAG 13 Mahmud Al Hakim
Programmering B PHP Lektion 1 Mahmud Al Hakim Folkuniversitetet
Andreas Cederbom Valideringstjänster.
För att uppdatera sidfotstexten, gå till menyfliken: Infoga | Sidhuvud och sidfot Fondbolagsträff 2015.
Exempelbaserade specifikationer med SpecFlow
Föreläsning 5, Kapitel 5 Använda Java-bibliotek för att få avancerad funktionalitet Kursbok: “Objects First with Java - A Practical Introduction using.
Microsoft Small Business Specialist. Microsoft har lanserat ett initiativ för partners som arbetar med småföretag. Fördelar för dig som partner är att.
Namnrum, räckvidd och rekursion Linda Mannila
Statistik C VT 2011 Informationssökning Magnus Olsson, Umeå UB Tel
Förr och nu Från innan GCP till Business Compliance Peter Jansson, AstraZeneca.
Network Services (Nätverkstjänster) Client/Servers And Their Interaction (Client/Server och deras interaktion)
IV1023 ht2013 nikos dimitrakas KTH/ICT/SCS 1 IV1023 ht2013 Avancerad Datahantering med XML XSLT nikos dimitrakas Rum 8522 Läsanvisningar.
Mashups Per K, Vad är en mashup? Mashup är en typ av webbapplikation som sammanställer information och funktionalitet från fler av varandra.
System arbetssystem informationssystem
Ingegerd Rabow, Biblioteksdirektionen, Lunds universitet ScieCom och DOAJ Nordiskt samrådsmöte Uppsala
Arkitektrollen. Ansvar och uppgifter Architecture notebook Mycket intensivt elaboration – inception Mål: en stabil arkitektur i slutet på elaboration.
Anders Sjögren Filer - långtidslagring. Anders Sjögren Filtyper i DOS talet ett ( intx=1; ) lagrat i en –textfil, (en sekvens av tecken ( bytes )) enligt.
Programmeringsteknik Föreläsning 17 Skolan för Datavetenskap och kommunikation.
Procedurellt potpurri Dagens samtalsämnen –Klipp (Cut) –If-then-else –fail/0 –repeat/0 Att läsa –The Art of Prolog, kapitel 11 –Relevant avsnitt i Learn.
 Who frågar efter en persons (eller personers) identitet (vem dem är).  Who is he?  Who are they?  Who is coming?
To practise speaking English for 3-4 minutes Genom undervisningen i ämnet engelska ska eleverna ges förutsättningar att utveckla sin förmåga att: formulera.
Windows Vista: Utrullning Maria Johansson Windows Imaging WIM-filer Flera images per WIM-fil Filbaserat Hårdvaruoberoende Komprimerade Fånga systemläget.
William Sandqvist Funktionsbibliotek När man utvecklat en funktion så långt att den är "färdigutvecklad" kan man lika gärna spara den på.
1-1 Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-1 Programmering 7.5 hp Programmering är... creativ, fascinerande, roligt,
Lab Contact 1  Lab Assistants:  Meng Liu, Group B  Sara Abbaspour, Group A
Från Webb 2:0 till Webb 3:0. WEBB 0 Webb 0 = ingen webb alls. Data kommunicerades med tal, skrift, tryckkonst samt analoga medier och så småningom elektroniska.
Swedish for international students Kie FM Sandra Uitto Swedish teacher Language Center, Aalto University U-wing, II floor.
Advice from Bronx Best Real Estate Attorney. Jagiani Law office of New York has been successfully working as divorce attorney & Real estate attorney for.
Digitization and Management Consulting
Law abiding grounds of filing a divorce Jagianilaw.com.
Bringapillow.com. Online Dating- A great way to find your love! The words ‘Love’ and ‘Relationship’ are close to every heart. Indeed, they are beautiful!
Lycka till med din dator! Fler guider på Good Luck!
Svarsfrekvensen i undersökningar från webbpaneler. Några resultat
How to Buy Engagement Rings for Women Online?. Buying engagement rings for women or tiffany celebration rings from the online market could be a bit challenging.
You Must Take Marriage Advice to Stop Divorce! Dontgetdivorced.com.
PhD Manufacturing Technology
Vattenfalls Idrotts- & Fritidsförbund
الانترنيت Internet.
Bättre länkning i Full Text Finder Loggfil för Holdings Management
Publish your presentations online we present SLIDEPLAYER.SI.
Publish your presentations online we present SLIDEPLAYER.RS.
Publish your presentations online we present SLIDEPLAYER.IN.
Publish your presentations online we present SLIDEPLAYER.VN.
Publish your presentations online we present SLIDEPLAYER.RO.
Publish your presentations online we present SLIDEPLAYER.EE.
Publish your presentations online we present SLIDEPLAYER.CO.IL.
Publish your presentations online we present SLIDEPLAYER.AE.
Publish your presentations online we present SLIDEPLAYER.BG.
Publish your presentations online we present SLIDEPLAYER.AFRICA.
Publish your presentations online we present SLIDEPLAYER.MX.
Publish your presentations online we present SLIDEPLAYER.LT.
Publish your presentations online we present SLIDEPLAYER.LV.
Publish your presentations online we present SLIDEPLAYER.SK.
Presentationens avskrift:

HTML Forms, CGI och HTTP

Översikt Innehåll – Presentation – Beteende HTML Forms (innehåll) CGI (beteende) HTTP (beteende)

Webben i bild Webbläsare HTML Webbservrar

HTML-formulär

Forms Tutorials forms.htmlhttp:// forms.html

CGI i praktiken

The Common Gateway Interface (CGI) The task of a web server is to respond to requests from client web browsers by returning output. Each time a request is received, the server analyzes what the request asks for, and returns the appropriate output. The two simplest ways, for the server, of doing this are the following: –if the request identifies a file stored on disk, return the contents of that file; –if the request identifies an executable command and possibly arguments, run the command and return its output CGI defines a standard way of doing the second.

Palindrom-exempel: HTML Palindrome Checker Palindrome Checker Enter a word and find out if it's palindrome:

Palindrom-exempel : Python #!/usr/local/bin/python import cgi form = cgi.FieldStorage() word = form["word"].value print "Content-type: text/html\n\n" print " " if word == word[::-1]: print " Yes, %s is a palindrome " %(word,) else: print " No, %s is not a palindrome " %(word,) print " "

Palindrom-exempel: Prolog #!/usr/local/bin/plcon -q -g main -s :- use_module(library(cgi)). main :- cgi_get_form(Arguments), member(word(Atom),Arguments), atom_chars(Atom,Charlist), format('Content-type: text/html~n~n', []), format(" "), ( reverse(Charlist,Charlist) -> format(" Yes, ~w is a palindrome! ",[Atom]) ; format(" No, ~w is not a palindrome... ",[Atom]) ), format(" "), halt.

Installation av CGI-skript på HAL Ditt CGI-skript installerar du så här: 1.Skapa ett underbibliotek 'cgi-bin' i ditt www-bibliotek. 2.Placera palindrome.py (eller palindrome.pl) i detta bibliotek. 3.Byt namnet på filen till 'palindrome.cgi'. 4.Kör kommandot chmod a+rx palindrome.cgi för att sätta nödvändiga läs- och skrivrättigheter. 5.Ändra värdet på attributet ’action’ i elementet ’form’ i filen ”palindrome.html” så att det passar din installation. 6.Logga in på för att aktivera ditt skript. 7.Provkör!

Ditt www-bibliotek www/ index.html css/ main.css cgi-bin/ palindrome.cgi kurser/ webbteknologi/ index.html...

Provkörning file://C:/www/kurser/Webteknologi/webtechnology/cgi_test/palindrome.html

HTTP

Hypertext Transfer Protocol Webbens kommunikationsprotokoll Exempel: Från läsaren till servern (request): GET 2004/Talks/0914-tbl-speech/text HTTP/1.1 Från servern till läsaren (response): HTTP/ OK … Webbläsare HTML Webbservrar

Palindrom-exemplet igen… Testa i Firefox: Inspektera requests och responses m.h.a. verktyget LiveHTTPHeaders

HTTP request message GET /cgi-bin/palindrome.py?word=apa HTTP/1.1 Host: localhost User-Agent: Mozilla/5.0 (Windows; U; … Accept: text/xml,application/xml,... Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip,deflate Accept-Charset: ISO ,utf-8… Keep-Alive: 300 Connection: keep-alive

HTTP request message GET /cgi-bin/palindrome.py?word=apa HTTP/1.1 Host: localhost User-Agent: Mozilla/5.0 (Windows; U; … Accept: text/xml,application/xml,... Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip,deflate Accept-Charset: ISO ,utf-8… Keep-Alive: 300 Connection: keep-alive Data (if POST is used) request line (GET, POST,… commands) request headers extra carriage return, line feed) query

More about the query I webbläsaren: Request (en del av den): GET /cgi-bin/palindrome.py?word=apa HTTP/1.1 I CGI-skriptet –Hanteras oftast av ett bibliotek (library) och parsas och översätts där till en datastruktur där informationen blir lättåtkomlig

More about the query (cont’d) Ett sådan bibliotek har en del att göra: &client=firefox 8&aq=t&rls=org.mozilla:en-US:official&client=firefox Det som webbläsaren gör här kallas för “url encoding” Så CGI programmet måste alltså utföra “url decoding” Tur att man sällan behöver bry sig!!

HTTP response message HTTP/1.x 200 OK Date: Mon, 18 Feb :08:20 GMT Server: Apache/ (Win32) Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: text/html Yes, apa is a palindrome

HTTP response message HTTP/1.x 200 OK Date: Mon, 18 Feb :08:20 GMT Server: Apache/ (Win32) Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: text/html Yes, apa is a palindrome status line (protocol, status code, status phrase) response headers data

HTTP response status codes A few sample codes: –200 OK request succeeded, requested object later in this message –404 Not Found requested document not found on this server –500 Internal Server Error something is wrong with the server, or (more likely) with your CGI script

Laborationen