140 likes | 275 Views
Ievads tīmekļa programmēšanā. Web aplik āciju tehnoloģijas. Kas ir web-programmēšana?. Kā tiek apstrādāts pieprasījums uz servera?. pārlūkprogramma ver vaļā savienojums ar serveri pārlūkprogramma nosūta serverim pieprasījumu uz lapas saņemšanu
E N D
Ievads tīmekļa programmēšanā Web aplikāciju tehnoloģijas
Kā tiek apstrādāts pieprasījums uz servera? • pārlūkprogramma ver vaļā savienojums ar serveri • pārlūkprogramma nosūta serverim pieprasījumu uz lapas saņemšanu • serveris noformē atbildi (visbiežāk HTML kods) un aizver savienojumu • pārlūkprogramma apstrādā HTML-kodu un parāda rezultāta lapu
Datu aizsūtīšanas metodes uz serveri • <formmethod="GET" action="/cgi-bin/form_handler.cgi"> • Ievadiet vārdu: <inputtype="text" name="name"> • <br> • <inputtype="submit" name="okbutton" value="OK"> • </form>
Atribūts ACTION • URL adrese KUR tiek nosūtīti dati
Atribūts METHOD • GET vai POST • URL rindas GET parametru sintakse: • http://<Script_name>[?<par>=<value>[&<par>=<val>]] • name=Jānis&okbutton=OK
CGI tehnoloģija • CGI – CommonGatewayInterface
Vides mainīgie • REQUEST_METHOD • QUERY_STRING • CONTENT_LENGTH
CGI programmas piemērs #include <stdio.h> #include <stdlib.h> intmain(void) { char *query_string = getenv("QUERY_STRING"); char *request_method = getenv("REQUEST_METHOD"); char *post_data; intpost_length = 0; if (strcmp(request_method, "POST") == 0) { post_length = atoi(getenv("CONTENT_LENGTH")); if (post_length) { post_data = (char*)malloc(post_length+1); fread(post_data, post_length, 1, stdin); post_data[post_length] = 0; } } printf("Content-type:text/html\r\n\r\n"); printf("<h1>Labdien!</h1>\r\n"); if (strlen(query_string)) { printf("<p>GET formas parametri: %s\r\n", query_string); } if (post_length) { printf("<p>formas POST parametri: %s (pieprasījuma ķermeņa garums: %d)\r\n", post_data, post_length); free(post_data); } return 0; }
Hiperteksta “preprocessor” valodas • Perl • PHP • ASP1.0
PHP skripta piemērs <html> <body> <?php echo "<h1>Labdien, <b>" . $_POST['name'] . "</b></h1>!"; ?> </body> </html>
Globālo mainīgo glabāšanas problēmas • Mainīgie dzīvo tikai 1-ā lapas eksemplāra • Mainīgo saglabāšanas iespējas: • Formas (<input type=hidden>) • Cookies (nav droši) • Session (labi) • Datnes (starp darba seansiem) • OS reģistrs (grūti, nav droši) • Datu bāze (starp darba seansiem)