Animasi

Different Types Of Peace Symbol

HTTP

A.    Pengertian HTTP
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 yang sama untuk melakukan transaksi. Dengan demikian, HTTP/1.1 bisa lebih cepat karena memang tidak perlu 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. 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 meresponnya, 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 disesbutkan 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. Protokkol lainnya yang menyediakan layanan dan jaminan seperti itu juga dapat digunakan.
Sumberdaya yang hendak diakses dengan menggunakan HTTP diidentifikasi dengan menggunakan uniform resource identifier (URI), atau lebih khusus melalui Uniform resource locator (URL), dengan menggunakan skema URI http: atau https:.
B.     Ikhtisan Teknis
HTTP berfungsi sebagai permintaan-respon protokol di klien-server model komputasi. Sebuah web browser, misalnya mungkin klien adn aplikasi yang berjalan pada komputer hosting yang sebuah situs web mungkin server. Klien menyampaikan pesan permintaan HTTP ke server, server yang menyediakan sumber daya seperti HTML file dan konten lainnya, atau melakukan fungsi lain atas nama klien, dengan mengembalikan sebuah pesan respon ke klien. Respon ini berisi informasi status tentang penyelesaian permintaan dan juga mungkin mengandung konten yang diminta dalam tubuh pesannya.
Sebuah web browser adalah contoh dari agen pengguna UA). Jenis lain dari agen pengguna termasuk perangkat lunak pengindeksan digunakan oleh penyedia layanan pencarian (web crawler), browser suara, aplikasi mobile dan perangkat lunak lain yang mengakses, mengkonsumsi dan menampilkan konten web.
HTTP dirancang untuk mengizinkan elemen jaringan menengah untuk memperbaiki atau mengaktifkan komunikasi antara klien dan server yang memberikan konten atas nama server hulu untuk meningkatkan waktu respon. Web browser cache yang sebelumnya diakses sumber web dan menggunakan kembali mereka jika memungkinkan untuk mengurangi lalu lintas jaringan. HTTP proxy server di jaringan pribdai batas dapat memfasilitasi komunikasi untuk klien tanpa alaat global routable, dengan menyampaikan pesan dengan server eksternal.
HTTP adalah sebuah layar aplikasi protokol yang dirancang dalam kerangka dari internet protocol suite. Definisi mengandaikan sebuah mendasari dan dapt diandalkan lapisan transport  protokol, dan Transmission Contol Protocol (TCP) mendominasi untuk tujuan ini. Namun HTTP dapat menggunakan protokol tidak bisa diandalkan seperti User Datagram Protocol (UDP), misalnya dalam Simple Service Discovery Protocol (SSDP).
HTTP sumberdaya diidentifikasi dan terletak pada jaringan dengan Uniform Resource Identifier (URI)-atau, lebih khusus, Uniform Resource Locators (URL)-menggunakan http atau https URI skema . URI dan hyperlink di Hypertext Markup Language (HTML) dokumen membentuk jaring antar-link hypertext dokumen. Di Internet yang World Wide Web didirikan pada tahun 1990 oleh ilmuwan komputer Inggris dan inovator Tim Berners-Lee .
HTTP/1.1 merupakan revisi dari HTTP asli (HTTP/1.0). Dalam HTTP/1.0 terpisah koneksi ke server yang sama dibuat untuk setiap permintaan sumber daya. HTTP/1.1 dapat menggunakan kembali sambungan beberapa kali untuk men-download gambar, script , stylesheet dan lain-lain setelah halaman telah disampaikan. HTTP/1.1 komunikasi karena itu mengalami kurang latency sebagai pembentukan koneksi TCP menyajikan overhead yang cukup.
C.     HTTP sesi
      Sebuah sesi HTTP adalah urutan jaringan permintaan-respon transaksi. Sebuah klien HTTP memulai permintaan dengan membentuk Transmission Control Protocol (TCP) koneksi ke khusus pelabuhan pada server (biasanya port 80, lihat Daftar TCP dan UDP nomor port ). Sebuah server HTTP yang mendengarkan di port tersebut menunggu pesan permintaan klien. Setelah menerima permintaan, server akan mengirimkan kembali baris status, seperti "HTTP/1.1 200 OK", dan pesan sendiri. Tubuh pesan ini biasanya merupakan sumber daya yang diminta, meskipun pesan kesalahan atau informasi lain juga dapat dikembalikan.
D.    Permintaan metode
      Permintaan HTTP dibuat menggunakan telnet. Permintaan, header respon dan respon tubuh tersebut disoroti.
1.      HTTP
      mendefinisikan sembilan metode (terkadang disebut sebagai "kata kerja") yang menunjukkan tindakan yang diinginkan yang akan dilakukan pada sumber daya diidentifikasi. Apa sumber daya ini mewakili, apakah sudah ada data atau data yang dihasilkan secara dinamis, tergantung pada pelaksanaan server. Seringkali, sumber daya sesuai dengan file atau output dari sebuah eksekusi yang berada di server.
2.      KEPALA
      Meminta respon yang identik dengan salah satu yang akan sesuai dengan permintaan GET, tapi tanpa respon tubuh. Hal ini berguna untuk mengambil meta-informasi yang ditulis dalam header respon, tanpa harus mengangkut seluruh konten.
3.      GET
      Permintaan representasi dari sumber tertentu. Permintaan menggunakan GET hanya mengambil data dan seharusnya tidak memiliki efek lain. (Hal ini juga berlaku beberapa metode HTTP lainnya.) The W3C telah menerbitkan prinsip-prinsip panduan tentang perbedaan ini, katanya, " aplikasi Web desain harus diinformasikan oleh prinsip-prinsip di atas, tetapi juga oleh keterbatasan yang relevan. "
4.      POST
      Mengajukan data yang akan diproses (misalnya, dari bentuk HTML ) ke sumber daya diidentifikasi. Data tersebut termasuk dalam tubuh permintaan. Hal ini dapat mengakibatkan pembentukan sumber daya baru atau update sumber daya yang ada atau keduanya.
5.      PUT
      Upload representasi dari sumber tertentu.
6.      DELETE
      Menghapus sumber daya yang ditentukan.
7.      TRACE
      Gema kembali permintaan diterima, sehingga klien dapat melihat apa (jika ada) perubahan atau penambahan yang telah dibuat oleh server penengah.
8.      PILIHAN
      Mengembalikan metode HTTP bahwa server mendukung untuk ditetapkan URL . Ini dapat digunakan untuk memeriksa fungsi dari sebuah server web dengan meminta '*' dan bukan sumber tertentu.
9.       CONNECT
      Mengkonversi koneksi permintaan ke transparan terowongan TCP / IP , biasanya untuk memfasilitasi SSL -dienkripsi komunikasi ( HTTPS ) melalui terenkripsi proxy HTTP.
10.  PATCH
      Digunakan untuk menerapkan modifikasi parsial untuk sumber daya.
            HTTP server harus terlebih dahulu menjalankan setidaknya metode GET dan KEPALA    dan, bila memungkinkan, juga metode PILIHAN
E.     Metode Aman
      Beberapa metode (misalnya, HEAD, GET, PILIHAN dan TRACE) didefinisikan sebagai aman, yang berarti mereka hanya ditujukan untuk pencarian informasi dan tidak boleh mengubah keadaan server. Dengan kata lain, mereka tidak boleh memiliki efek samping , di luar efek relatif tidak berbahaya seperti logging , caching , penyajian iklan banner atau incrementing web counter . Membuat permintaan GET sewenang-wenang tanpa memperhatikan konteks negara aplikasi karenanya harus dianggap aman.
      Sebaliknya, metode seperti POST, PUT dan DELETE dimaksudkan untuk aktivitas yang dapat menyebabkan efek samping baik pada server, atau efek samping eksternal seperti transaksi keuangan atau pengiriman email . Metode tersebut karena itu tidak sesuai biasanya digunakan oleh robot web atau web crawler , beberapa yang tidak sesuai cenderung membuat permintaan tanpa memperhatikan konteks atau konsekuensi.
      Meskipun keselamatan yang ditentukan permintaan GET, dalam praktek penanganan mereka dengan server tidak secara teknis terbatas dengan cara apapun. Oleh karena itu, pemrograman ceroboh atau sengaja dapat menyebabkan non-sepele perubahan pada server. Hal ini tidak disarankan, karena dapat menyebabkan masalah untuk caching web , mesin pencari dan agen otomatis lainnya, yang dapat membuat perubahan yang tidak diinginkan pada server.
F.      Idempoten Metode Dan Aplikasi Web
      Metode PUT dan DELETE didefinisikan menjadi idempoten , yang berarti bahwa permintaan identik harus memiliki efek yang sama seperti satu permintaan (Perhatikan bahwa idempotence mengacu pada keadaan dari sistem setelah permintaan selesai, jadi sementara tindakan server membutuhkan (misalnya menghapus record) atau kode respon itu kembali mungkin berbeda pada permintaan berikutnya, keadaan sistem akan sama setiap waktu.) Metode GET, HEAD, OPTIONS dan Trace, sedang diresepkan sebagai aman, juga harus idempoten, karena HTTP adalah suatu protokol stateless .
      Sebaliknya, metode POST belum tentu idempoten, dan karena itu mengirim kali permintaan POST identik lebih lanjut dapat mempengaruhi negara atau menyebabkan efek samping lebih lanjut (seperti transaksi keuangan ). Dalam beberapa kasus ini mungkin diinginkan, tetapi dalam kasus lain ini bisa disebabkan kecelakaan, seperti ketika pengguna tidak menyadari bahwa tindakan mereka akan menghasilkan mengirim permintaan lain, atau mereka tidak menerima umpan balik yang memadai bahwa permintaan pertama mereka adalah sukses. Sementara web browser akan menampilkan kotak dialog peringatan untuk memperingatkan pengguna dalam beberapa kasus di mana reload halaman mungkin kembali mengirimkan permintaan POST, umumnya sampai dengan aplikasi web untuk menangani kasus di mana permintaan POST tidak boleh mengirimkan lebih dari satu kali.
      Perhatikan bahwa apakah metode adalah idempoten tidak ditegakkan oleh protokol atau web server. Sangat mungkin untuk menulis sebuah aplikasi web di mana (misalnya) memasukkan database atau non-idempoten aksi dipicu oleh permintaan GET atau lainnya. Mengabaikan rekomendasi ini, bagaimanapun, dapat mengakibatkan konsekuensi yang tidak diinginkan, jika user agent mengasumsikan bahwa mengulang permintaan yang sama aman jika tidak.
G.    Keamanan
      Menerapkan metode seperti TRACE, TRACK dan DEBUG dianggap berpotensi tidak aman oleh beberapa profesional keamanan, karena mereka dapat digunakan oleh penyerang untuk mengumpulkan informasi atau melewati kontrol keamanan selama serangan. Keamanan perangkat lunak perangkat seperti Nessus dapat dipertahankan dan Microsoft laporan URLScan pada keberadaan metode ini sebagai masalah keamanan.
H.    Kode Status
      Dalam HTTP/1.0 dan sejak, baris pertama dari respon HTTP disebut baris status dan termasuk kode status numerik (seperti " 404 ") dan sebuah frase alasan tekstual (seperti" Tidak Ditemukan "). Cara agen pengguna menangani respon terutama tergantung pada kode dan sekunder pada header respon. Kode status kustom dapat digunakan karena, jika agen pengguna menemukan kode itu tidak mengakui, dapat menggunakan digit pertama dari kode untuk menentukan kelas umum respon.
      Juga, frase alasan standar hanya rekomendasi dan dapat diganti dengan "setara lokal" di web developer kebijaksanaan itu. Jika kode status menunjukkan masalah, user agent mungkin menampilkan frase alasan untuk pengguna untuk memberikan informasi lebih lanjut tentang sifat dari masalah. Standar ini juga memungkinkan user agent untuk mencoba menafsirkan frase alasan, meskipun ini mungkin tidak bijaksana karena standar secara eksplisit menetapkan bahwa kode status yang dapat dibaca mesin dan frase alasan yang terbaca-manusia.
I.       Koneksi Persistent
      Dalam HTTP/0.9 dan 1,0, koneksi ditutup setelah sepasang permintaan / respon tunggal. Dalam HTTP/1.1 mekanisme tetap-hidup-diperkenalkan, di mana koneksi dapat digunakan kembali untuk lebih dari satu permintaan.
      Koneksi persisten tersebut mengurangi permintaan latensi nampak, karena klien tidak perlu kembali menegosiasikan koneksi TCP setelah permintaan pertama telah dikirim. Efek samping lain yang positif adalah bahwa secara umum koneksi menjadi lebih cepat dengan waktu karena TCP slow-start -mekanisme.
      Versi 1.1 dari protokol membuat perbaikan bandwith optimasi untuk HTTP/1.0. Sebagai contoh, HTTP/1.1 memperkenalkan pengkodean mentransfer chunked untuk mengizinkan konten pada koneksi yang gigih untuk dialirkan, bukan buffer. pipelining HTTP selanjutnya mengurangi jeda waktu, yang memungkinkan klien untuk mengirimkan beberapa permintaan sebelum tanggapan yang sebelumnya telah diterima untuk yang pertama. Lain peningkatan dengan protokol adalah byte porsi , yang ketika server mengirimkan hanya bagian dari sumber daya secara eksplisit diminta oleh klien.
J.       HTTP negara sesi
      HTTP adalah protokol bernegara . Sebuah protokol stateless tidak memerlukan server untuk menyimpan informasi atau status tentang setiap pengguna selama beberapa permintaan. Sebagai contoh, ketika sebuah server web diperlukan untuk menyesuaikan isi dari halaman web untuk pengguna, aplikasi web mungkin harus melacak kemajuan pengguna dari halaman ke halaman. Solusi umum adalah penggunaan cookie HTTP . Metode lain mencakup sesi sisi server, variabel tersembunyi (ketika halaman ini berisi bentuk), dan URL-ulang menggunakan URI-encoded parameter, misalnya, / index.php? session_id = some_unique_session_code.
K.    Secure HTTP

      Ada tiga metode membangun koneksi HTTP aman: Secure HTTP , Aman Hypertext Transfer Protocol dan sundulan upgrade HTTP/1.1 . Browser dukungan untuk dua terakhir, bagaimanapun, hampir tidak ada, sehingga Secure HTTP adalah metode dominan membangun koneksi HTTP aman.

0 komentar: