Server-side Technologies
Server side technologies
• Hardware:
– Server
• Software:
– Web server
– Server side Programming Tools
– Utility Programming Tools
– Database Server
Web Server vs Web Application
• Web Application:
– Menggunakan bahasa Pemprograman(misal ASP, PHP, Java, .Net, Perl atau .NET)
• Web Server:
– Melayani permintaan client dan meneruskan ke aplikasi yang sesuai selanjutnya diproses oleh aplikasi yang sesuai (misal IIS, Apache, thttpd dll.)
• Web Application tidak bisa jalan tanpa Web Server
• Web Server bisa bekerja tanpa Web Application (Tapi hanya bisa melayani web dengan content statis)
Web Server
• Web Server: apache, xitami, PWS, IIS
• Biasanya diinstall bersama dengan PHP dan MySQL => ApacheTriad
– Aplikasi free, ukuran cukup besar
– Tidak perlu konfigurasi
• Hanya perlu user & password apache dan MySQL
• Bisa diinstall di Linux (XAMPP) dan Windows (WAMPP)
File konfigurasi Web Server
• httpd.conf
• srm.conf
• access.conf
• Juga perlu setting:
– Virtual Host
Httpd.conf
• ServerType – berdiri sendiri / manual inetd.
• ServerRoot – directory konfigurasi.
• PidFile – nomor proses ID
• ResourceConfig / AccessConfig
• TimeOut – batas waktu time out.
• KeepAlive – simultan koneksi dari satu IP.
• MaxKeepAliveRequest – max. keep alive.
• KeepAliveTimeOut
Httpd.conf
• MinSpareServers & MaxSpareServers – jumlah server untuk server farm.
• StartServers – server di jalankan.
• MaxClients – jmlh koneksi simultan di server.
• MaxRequestsPerChild
• BindAddress – IP yang di tempelkan.
• Port – port yang di dengar Apache.
• User & Group – owner dari Apache Web.
• ServerAdmin – e-mail admin Web server.
httpd.conf
• ServerName – nama server.
• ErrorLog
• LogLevel – level emerg, alert, crit, errors.
• CustomLog – catat akses client & virtual host.
• ServerSignature – dikirim saat file tidak ada.
• UserCanonicalName
• HostnameLookups – catat hostname akses.
srm.conf
• DocumentRoot – directory root HTML.
• UserDir – public_html, http://server/~user.
• DirectoryIndex – index file.
• FancyIndexing
• AccessFileName - .htaccess
• Alias – alias directory khusus, cgi-bin
• DefaultType – Default tipe dokumen
access.conf
Options FollowSymLinks
AllowOverride None
Options Indexes FollowSymLinks
AllowOverride None
Allow from all
Virtual Host – IP based
DocumentRoot /path/to/document
ServerName www.vhost1.com
Virtual Host – name based
NameVirtualHost 192.168.0.128
DocumentRoot /path/to/document1
ServerName www.vhost1.com
DocumentRoot /path/to/document2
ServerName www.vhost2.com
Susunan directory
• bin à file-file program
• build
• cgi-bin à script cgi
• conf à tempat konfigurasi
• error à error message
• htdocs à dokumen yang akan dipublish
• icons à gambar-gambar kecil
• include
• lib
• logs
• man à manual pages
• manual à dokumentasi
• modules à module
Server side programming
• Bahasa: PHP, ASP classic, ColdFusion, ASP.NET, JSP / JSF, Ruby on Rails
• PHP: PHP Hypertext Preprocessors
• Gratis dari www.php.net
• Mirip dengan bhs Java dan C
• Bhs scripting yg paling populer
• Rasmus Lerdorf, Andi Gutmans, Zeev Suraski
How PHP works?
• User mengetikkan suatu alamat:
– http://www.example.com/login.php
• Dilakukan DNS – Routing
• Diterima oleh web server (mis: Apache)
• Karena merupakan script PHP, maka isi script PHP diparsing dan diproses oleh interpreter php, dan dikembalikan dalam bentuk teks HTML
• Teks HTML dikembalikan ke user dan ditampilkan di browser
Why is PHP used?
1. Easy to Use
Code is embedded into HTML. The PHP code is enclosed in special start and end tags that allow you to jump into and out of "PHP mode".
echo "Hi, I'm a PHP script!";
?>
Why is PHP used?
2. Cross Platform
Runs on almost any Web server on several operating systems.
One of the strongest features is the wide range of supported databases
Web Servers: Apache, Microsoft IIS, Caudium, Netscape Enterprise Server
Operating Systems: UNIX (HP-UX,OpenBSD,Solaris,Linux), Mac OSX, Windows NT/98/2000/XP/2003
Supported Databases: Adabas D, dBase,Empress, FilePro (read-only), Hyperwave,IBM DB2, Informix, Ingres, InterBase, FrontBase, mSQL, Direct MS-SQL, MySQL, ODBC, Oracle (OCI7 and OCI8), Ovrimos, PostgreSQL, SQLite, Solid, Sybase, Velocis,Unix dbm
Why is PHP used?
3. Cost Benefits
PHP is free. Open source code means that the entire PHP community will contribute towards bug fixes. There are several add-on technologies (libraries) for PHP that are also free.
PHP Script
Komentar
• Tanda //,digunakan untuk komentar satu baris
• Tanda /* dan */, digunakan untuk mengawali dan mengakhiri komentar
• Tanda #, digunakan untuk komentar satu baris
Tipe data
• Tipe Skalar:
– boolean
– integer
– floating-point number (float)
– string
• Tipe Compound:
– array
– object
• Tipe Special:
– NULL
• Tipe Boolean:
– TRUE / FALSE
Tipe Data Numerik
• Numerik Bulat
• Desimal (base-10)
• Oktal (base-8, diawali 0 [nol])
• Hexadesimal (base-16, diawali 0x [nol x])
• Lebar 32 bit
Tipe Data Float
• Angka Desimal
• Lebar 64 bit
• Maksimum ~1.8e308
• Presisi 14
Konstanta
define(“USERNAME”,”Antonie”);
echo “User Name :”.USERNAME;
?>
Konversi String ke Angka
• Contoh:
– $a = 1 + “10.5”;
– $a = 1 + “-1.3e3”;
– $a = 1 + “bob-1.3e3”;
– $a = 1 + “bob3”;
– $a = 1 + “10 ayam kate”;
– $a = 1 + “10.2 ayam kate”;
– $a = “10.0 ayam” + 1;
Operator
• Arithmetic (+, -, *, /)
• Concatenation (.)
• Assigment(+=, -=, /=, *=, %=, .=)
• Comparison (==, !=, >, <, >=, <=)
• Logical (||, &&, !)
Custom Array
• Contoh pembuatan array dengan custom key
// This array is the same as ...
array(5 => 43, 32, 56, "b" => 12);
// ...this array
array(5 => 43, 6 => 32, 7 => 56, "b" => 12);
?>
• Size of array is not defined
• If you add a new element the maximum of the integer indices is taken, and the new key will be that maximum value + 1
Foreach (1)
$arr = array("one", "two", "three");
reset($arr);
while (list($key, $value) = each ($arr)) {
echo "Key: $key; Value: $value
\n";
}
foreach ($arr as $key => $value) {
echo "Key: $key; Value: $value
\n";
}
?>
Foreach (2)
$arr = array("one", "two", "three");
reset ($arr);
while (list(, $value) = each ($arr)) {
echo "Value: $value
\n";
}
foreach ($arr as $value) {
echo "Value: $value
\n";
}
?>
Contoh
$city[0]="Jogja";
$city[1]="Bandung";
$city[3]="Surabaya";
$strgabung = implode("-",$city);
echo "Stlh digabung: ".$strgabung."
";
$cityarray = explode("-",$strgabung);
foreach ($cityarray as $key=>$value){
echo "Array ke-".$key." = ".$value."
";
}
?>
NULL
• NULL menyatakan variabel yang tidak ada nilainya
• Sebuah variabel NULL, jika
– Dinyatakan sebagai NULL dengan opertor =
– Belum pernah diberikan suatu nilai literal
– Telah di unset()
• Untuk mengecek apakah variabel NULL atau tidak, dapat digunakan fungsi is_null()
Array global
• $_GET[“varname”]
• $_POST[“varname”]
• $_SESSION[“varname”]
• $_COOKIE[“varname”]
• $_REQUEST[“varname”]
• $_FILES[“varname”]
Session
• session_start() //dipaling atas
• session_register(
• session_unregister(
• if (session_is_registered(
• unset(
• session_destroy()
File upload
• If(copy(source, destination))
SERVER variable
• $_SERVER is an array containing information such as
– Headers
– Paths
– Script locations
• The entries in this array are created by the webserver. There is no guarantee that every webserver will provide any of these; servers may omit some, or provide others
SERVER variable
• $_SERVER is an array containing information such as
– Headers
– Paths
– Script locations
• The entries in this array are created by the webserver. There is no guarantee that every webserver will provide any of these; servers may omit some, or provide others
• 'argv'
– Array of arguments passed to the script. When the script is run on the command line, this gives C-style access to the command line parameters. When called via the GET method, this will contain the query string.
• 'argc'
– Contains the number of command line parameters passed to the script (if run on the command line).
SERVER variable
• 'REMOTE_ADDR'
– The IP address from which the user is viewing the current page.
• 'REMOTE_HOST'
– The Host name from which the user is viewing the current page. The reverse dns lookup is based off the REMOTE_ADDR of the user.
• 'REMOTE_PORT'
– The port being used on the user's machine to communicate with the web server.
• $_COOKIE
– An associative array of variables passed to the current script via HTTP cookies. Automatically global in any scope.
• $_POST
– An associative array of variables passed to the current script via the HTTP POST method.
Tidak ada komentar:
Posting Komentar