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 :
Jadi itukah HTTP sebenarnya?
POST /cgi-bin/code.cgi HTTP/1.1 [CRLF] Content-type: <mime-type> [CRLF] Content-length:
[CRLF] [CRLF] 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]
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: [CRLF][CRLF] 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
403
Forbidden
404
Not Found
500
Internal Server Error
501
Not Implemented
502
Bad Gateway
503
Service Unabailable
Kode ini semua wajib dihapal?
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