Selasa, 18 Januari 2011

Hypertext Transfer Protocol

Hypertext Transfer Protocol
Hypertext Transfer Protocol (HTTP) adalah sebuah protokol jaringan lapisan aplikasi yang digunakan untuk sistem informasi terdistribusi, kolaboratif, dan menggunakan hipermedia. Penggunaannya banyak pada pengambilan sumber daya yang saling terhubung dengan tautan, yang disebut dengan dokumen hiperteks, yang kemudian membentuk World Wide Web pada tahun 1990 oleh fisikawan Inggris, Tim Berners-Lee. Hingga kini, ada dua versi mayor dari protokol HTTP, yakni HTTP/1.0 yang menggunakan koneksi terpisah untuk setiap dokumen, dan HTTP/1.1 yang dapat menggunakan koneksi yang sama untuk melakukan transaksi. Dengan demikian, HTTP/1.1 bisa lebih cepat karena memang tidak usah membuang waktu untuk pembuatan koneksi berulang-ulang.
Pengembangan standar HTTP telah dilaksanakan oleh Konsorsium World Wide Web (World Wide Web Consortium/W3C) dan juga Internet Engineering Task Force (IETF), yang berujung pada publikasi beberapa dokumen Request for Comments (RFC), dan yang paling banyak dirujuk adalah RFC 2616 (yang dipublikasikan pada bulan Juni 1999), yang mendefinisikan HTTP/1.1.
Dukungan untuk HTTP/1.1 yang belum disahkan, yang pada waktu itu RFC 2068, secara cepat diadopsi oleh banyak pengembang penjelajah Web pada tahun 1996 awal. Hingga Maret 1996, HTTP/1.1 yang belum disahkan itu didukung oleh Netscape 2.0, Netscape Navigator Gold 2.01, Mosaic 2.7, Lynx 2.5, dan dalam Microsoft Internet Explorer 3.0. Adopsi yang dilakukan oleh pengguna akhir penjelajah Web pun juga cepat. Pada bulan Maret 2006, salah satu perusahaan Web hosting melaporkan bahwa lebih dari 40% dari penjelajah Web yang digunakan di Internet adalah penjelajah Web yang mendukung HTTP/1.1. [1]Perusahaan yang sama juga melaporkan bahwa hingga Juni 1996, 65% dari semua penjelajah yang mengakses server-server mereka merupakan penjelajah Web yang mendukung HTTP/1.1. Standar HTTP/1.1 yang didefinisikan dalam RFC 2068 secara resmi dirilis pada bulan Januari 1997. Peningkatan dan pembaruan terhadap standar HTTP/1.1 dirilis dengan dokumen RFC 2616 pada bulan Juni 1999.
HTTP adalah sebuah protokol meminta/menjawab antara klien dan server. Sebuah klien HTTP (seperti web browser atau robot dan lain sebagainya), biasanya memulai permintaan dengan membuat hubungan ke port tertentu di sebuah server Webhosting tertentu (biasanya port 80). Klien yang mengirimkan permintaan HTTP juga dikenal dengan user agent. Server yang meresponsnya, yang menyimpan sumber daya seperti berkas HTML dan gambar, dikenal juga sebagai origin server. Di antara user agent dan juga origin server, bisa saja ada penghubung, seperti halnya proxy, gateway, dan juga tunnel.
HTTP tidaklah terbatas untuk penggunaan dengan TCP/IP, meskipun HTTP merupakan salah satu protokol aplikasi TCP/IP paling populer melalui Internet. Memang HTTP dapat diimplementasikan di atas protokol yang lain di atas Internet atau di atas jaringan lainnya. seperti disebutkan dalam "implemented on top of any other protocol on the Internet, or on other networks.", tapi HTTP membutuhkan sebuah protokol lapisan transport yang dapat diandalkan. Protokol lainnya yang menyediakan layanan dan jaminan seperti itu juga dapat digunakan.."[2]
Sumber daya yang hendak diakses dengan menggunakan HTTP diidentifikasi dengan menggunakan Uniform Resource Identifier (URI), atau lebih khusus melalui Uniform Resource Locator (URL), menggunakan skema URI http: atau https:.

Sesuai dengan perkembangan infrastruktur internet maka pada tahun 1999 dikeluarkan HTTP versi 1.1 untuk mengakomodasi proxy, cache dan koneksi yang persisten.

Bootloader untuk Mikrokontroler AVR

Posted on by nextsystem
Secara umum, bootloader adalah sebuah program kecil yang dijalankan pada saat boot dan memiliki kemampuan untuk me-load sebuah program aplikasi lengkap ke dalam memori prosesor sehingga dapat di-eksekusi.
Dalam kasus prosesor AVR, program bootloader umumnya 256-4096 instruksi assembly dan menempati bagian khusus dari memori flash yang disebut bootblock. Pada saat boot (ketika prosesor di-reset), bootloader mulai dan memiliki kemampuan untuk berkomunikasi dengan dunia luar untuk menarik program baru dan memrogramnnya ke dalam flash memory prosesor. Tergantung pada bootloader dan hardware yang tersedia, kode aplikasi baru dapat di-load dari berbagai sumber, termasuk port serial, SPI atau antar muka I2C, memori eksternal, hard disk, flash disk, dan lainnya. Satu kali pemrograman tuntas, program bootloader keluar atau prosesor di-reset dan mulai menjalankan kode yang baru di-load. Hanya prosesor AVR yang memiliki fitur self-programming memory yang dapat menjalankan bootloader.
Prosedur yang harus di lakukan untuk memasang bootloader :
  • Program bootloader dapat di-download ke dalam chip menggunakan software programmer, seperti: AVR Studio, PonyProg, AVRdude, dll.
  • Atur ukuran bootblock agar sesuai dengan ukuran program bootloader (fuse bit: BOOTSZ1 dan BOOTSZ0, lihat datasheet).
  • Set reset vector agar menunjuk pada boot block, bukan alamat default 0×0000, dengan mengaktifkan BOOTRST (programmed bit=0).
  • Pastikan memilih Bootloader Protection Mode 2 untuk menghindari bootloader menulis di area boot block.
Bootloader berikut ditulis untuk meng-emulasi Atmel STK500. STK500 menggunakan protokol block transfer untuk memrogram prosesor dengan cepat menggunakan koneksi port serial standard dan signaling RS232 biasa. Dengan bootloader terpasang, kita dapat memrogram prosesor dari Atmel AVR Studio, seperti halnya menggunakan board STK500. Untuk kebanyakan prosesor, satu siklus pemrograman lengkap memerlukan 5-10 detik.
Dengan bootloader terpasang, prosesor akan berlaku seperti STK500 pada 3 detik pertama setelah RESET. Bila dalam tiga detik tersebut kita membuat sesi pemrograman STK500 pada AVR Studio, prosesor akan ter-deteksi secara otomatis dan kita dapat me-load kode aplikasi baru. Setelah kode aplikasi baru di-load, kita dapat keluar dari bootloader dengan menekan RESET.
Bila dalam waktu tiga detik setelah RESET, tidak ada instruksi pemrograman melalui port serial, bootloader akan timeout dan aplikasi yang sudah di-load akan dijalankan secara otomatis. Bila tidak ada aplikasi yang di-load, misalnya memori flash kosong, maka bootloader akan run berulang-ulang sampai perintah pemrograman diterima.

Daftar distribusi Linux

Distribusi-distribusi Linux dapat dikategorikan berdasarkan sistem manajemen paket, bebas dan tidak, tujuan pembuatan, perangkat lunak dasar yang digunakan, dan lain sebagainya.

[sunting] Distribusi bebas berbasis Debian

[sunting] Distribusi berbasiskan RPM


[sunting] Distribusi bebas berbasis Slackware

[sunting] Distribusi bebas berbasis lainnya

Distribusi-distribusi Linux berikut ini memakai sistem manajemen paket sendiri, gabungan atau tidak sama sekali
  • Arch Linux (dengan sistem manajemen paket Pacman)
  • Coyote Linux (distro Router/firewall)
  • CRUX (menggunakan manajemen paket berbasis tar.gz yang sederhana, BSD-style initscripts)
  • DD-WRT (embedded firewall)
  • DeLi Linux (kombinasi Slackware dan CRUX)
  • Devil-Linux (distro firewall/router/server)
  • DSLinux (Linux untuk Nintendo DS)
  • dyne:bolic (instalasi software baru cukup dengan menyalin [copy] ke direktori tertentu)
  • Familiar Linux (distro untuk iPAQ handhelds)
  • Fli4l (distro yang muat dalam satu floppy disk)
  • Foresight Linux (menggunakan sistem manajemen paket Conary)
  • FREESCO (router)
  • GeeXboX (media center)
  • GoboLinux (manajemen paket sendiri yang menggunakan symlink)
  • Hikarunix (distro khusus untuk main Go)
  • IPCop (distro Router/firewall)
  • iPodLinux (linux untuk Apple iPod berbasis µCLinux kernel)
  • Jlime (distro untuk HP Jornada 6xx dan 7xx dan NEC MobilePro 900(c) handhelds)
  • Lunar Linux (distro berbasis source code)
  • MCC Interim Linux (mungkin ini distro Linux pertama; dibuat oleh Manchester Computing Centre di bulan February 1992)
  • MkLinux distro untuk PowerPC, menjalankan Linux kernel sebagai server di atas Mach microkernel)
  • Mobilinux (buatan Montavista untuk smartphones)
  • MontaVista Linux (embedded systems distro buatan MontaVista Software)
  • NASLite (distro floppy-disk untuk menjalankan perangkat Network Attached Storage / NAS)
  • Nitix (autonomic server buatan Net Integration Technologies Inc.)
  • OpenWrt (embedded firewall)
  • Pardus (buatan Turki; menggunakan sistem manajemen paket PISI, dan COMAR configuration framework)
  • PS2 Linux (distro Sony Computer Entertainment unuk PlayStation 2 video game console)
  • Puppy Linux (sistem manajemen paket PetGet dan DotPup; tapi mulai versi 3 juga bisa menggunakan paket Slackware)
  • Rocks Cluster Distribution (untuk computer cluster = gabungan beberapa komputer menjadi satu super komputer)
  • rPath (menggunakan sistem manajemen paket Conary)
  • Sentry Firewall (firewall, server sistem)
  • SliTaz GNU/Linux
  • Smallfoot
  • SmoothWall (router/firewall)
  • Softlanding Linux System (salah satu distro tertua, dibangun tahun 1992-1994; basis awal Slackware)
  • Sorcerer (berbasis source code)
  • Source Mage GNU/Linux (berbasis source code)
  • Tinfoil Hat Linux (distro floppy-disk)
  • tomsrtbt (root boot disk)