Workshop PHP For Newbie Disampaikan dalam rangka workshop untuk programmer PHP newbie STMIK Palangka Raya Yan Friskantoni
Jadi, Anda mengira bisa ngoding web based application tanpa tahu dasar cara kerja dulu? Hwew.. so HARDCORE HAH?
Internet? The Internet is a gigantic collection of millions of computers, all linked together on a computer network COMPUTER NETWORK http://computer.howstuffworks.com/web-server3.htm
Client vs Server? Bahasa mudahnya: Client: pengakses layanan Server: pemberi layanan
Diagram Simple Web System
Tentang HTTP Hypertext Transfer Protocol adalah protokol yang digunakan oleh World Wide Web ( WWW ), mendukung transfer dari type yang dispesifikasikan oleh MIME ( multiple multipurpose internet mail extension ), termasuk data gambar ( image ) dan text. Spesifikasi MIME, akan dispesifikasikan di header dari dokumen HTTP, dengan syntak : content-type : <major-type>/<minor-type>. Misal : Content-type : text/html, maka text adalah major typenya, dan html adalah minor typenya. Untuk file dengan format.zip, maka MIMEnya adalah application/zip. 6 Ayo terus semangat lahap dasarnya dulu Oh My.
HTTP Structure HTTP Request -request line -Header -Body HTTP Response -status line -Header -Body 7 Di browser, yang ditampilkan hanyalah bagian body saja.
HTTP Request HTTP Request : 1. Request line request-line = Method SP request-uri SP HTTP-Version CRLF 2. Method mengidentifikasikan metode yang akan dilakukan Method = OPTIONS GET HEAD POST PUT DELETE TRACE CONNECT extention-methode 3. Request-URI Sekumpulan string yang memiliki format tertentu, merujuk pada identitas dari nama, kolasi atau berbagai karakteristik dari resource. 8
HTTP Request HTTP Request : Contoh GET HTTP Request tanpa header GET http://www.foobar.co/foo/bar.com HTTP/1.1 [CRLF] [CRLF] Contoh dengan header GET http://www.foobar.co/foo/bar.com HTTP/1.1 [CRLF] User-Agent: Mozzila/IE6.0 Win98SE [CRLF] [CRLF] Contoh POST HTTP request : POST /cgi-bin/code.cgi HTTP/1.1 [CRLF] Content-type: <mime-type> [CRLF] Content-length: <length> [CRLF] [CRLF] <body> Jadi itukah HTTP sebenarnya? 9
HTTP Response HTTP Response Response yang dilakukan oleh web server terhadap request yang dikirimkan dan diterima dari client, isinya akan bergantung dari type dari request dan apakah request bisa dilayani 1. Status line status-line = HTTP-ver SP Status-code SP reason-phrase CRLF 2. Status-code status-code yang paling sering didapatkan biasanya 200, yang berarti request telah berhasil dilayani oleh web server; 404 dokumen yang diminta tidak ditemukan 10
HTTP Response HTTP Response : Sebuah response sederhana, bisa seperti ini (pada HTTP 1.0): HTTP/1.0 200 OK[CRLF][CRLF] <body> Sebuah response bisa diikuti oleh beberapa field header, yang berisi informasi tambahan tentang dokumen yang diminta, misalnya type dari data yang diminta, atau kapan terakhir kali dimodifikasi. Contohnya : HTTP/1.1 200 OK[CRLF] Content-type: text/html[crlf] Content-length: <length of body>[crlf][crlf] <body> 11 Ternyata ada Response juga yah Astagaaaaaa...
HTTP response code Code Meaning 200 OK 201 Created 202 Accepted 204 No Content 301 Moved Permanently 302 Moved Temporarily 304 Not Modified 400 Bad Request 401 Unauthorized Kode ini semua wajib dihapal? 403 Forbidden 404 Not Found 500 Internal Server Error 501 Not Implemented 502 Bad Gateway 503 Service Unabailable 12 Tentu saja tidak, uhm, sebagian ya :D
Download Halaman Web Untung semua sudah ditangani oleh web client & server http://computerswithredin.files.wordpress.com/2008/01/webclientserverdiagram.jpg
Jadi semua teory panjang lebar membosankan diatas hanya berkesimpulan bahwa HTTP adalah dasar WWW bekerja?
Mengapa Kode PHP ku Tidak Jalan????????? Pemahaman cara kerja aplikasi berbasis web akan memberikan pemahaman disaat Anda mengalami kendala pada bagian penanganan kesalahan (maintenance, debugging etc.. you named it..)
PHP sebegitu rumitkah????
PHP ITU MUDAH. Bagi yang mau belajar PHP. PHPGusta