Pengujian Keamanan - Dasar-dasar Protokol HTTP

Memahami protokol sangat penting untuk mendapatkan pemahaman yang baik tentang pengujian keamanan. Anda akan dapat menghargai pentingnya protokol ketika kami mencegat data paket antara server web dan klien.

Protokol HTTP

Hypertext Transfer Protocol (HTTP) adalah protokol tingkat aplikasi untuk sistem informasi hypermedia yang terdistribusi, kolaboratif. Ini adalah dasar untuk komunikasi data untuk World Wide Web sejak tahun 1990. HTTP adalah protokol umum dan tanpa negara yang dapat digunakan untuk tujuan lain serta menggunakan ekstensi metode permintaan, kode kesalahan, dan headernya.

Pada dasarnya, HTTP adalah protokol komunikasi berbasis TCP / IP, yang digunakan untuk mengirimkan data seperti file HTML, file gambar, hasil kueri, dll. Melalui web. Ini menyediakan cara standar bagi komputer untuk berkomunikasi satu sama lain. Spesifikasi HTTP menentukan bagaimana data yang diminta klien dikirim ke server, dan bagaimana server menanggapi permintaan ini.

Fitur dasar

Ada tiga fitur dasar berikut yang membuat HTTP menjadi protokol yang sederhana namun kuat -

  • HTTP is connectionless- Klien HTTP, yaitu, browser memulai permintaan HTTP. Setelah membuat permintaan, klien memutuskan koneksi dari server dan menunggu tanggapan. Server memproses permintaan dan membangun kembali koneksi dengan klien untuk mengirim tanggapan kembali.

  • HTTP is media independent- Semua jenis data dapat dikirim melalui HTTP selama klien dan server mengetahui cara menangani konten data. Ini diperlukan klien dan juga server untuk menentukan tipe konten menggunakan tipe MIME yang sesuai.

  • HTTP is stateless- HTTP adalah tanpa sambungan dan ini adalah akibat langsung bahwa HTTP adalah protokol tanpa negara. Server dan klien menyadari satu sama lain hanya selama permintaan saat ini. Setelah itu, keduanya melupakan satu sama lain. Karena sifat protokol ini, baik klien maupun browser tidak dapat menyimpan informasi antara permintaan yang berbeda di seluruh halaman web.

HTTP / 1.0 menggunakan koneksi baru untuk setiap pertukaran permintaan / respons sedangkan koneksi HTTP / 1.1 dapat digunakan untuk satu atau lebih pertukaran permintaan / respons.

Arsitektur

Diagram berikut menunjukkan arsitektur yang sangat dasar dari aplikasi web dan menggambarkan di mana HTTP berada -

Protokol HTTP adalah protokol permintaan / tanggapan berdasarkan arsitektur klien / server di mana browser web, robot, dan mesin pencari, dll. Bertindak sebagai klien HTTP dan server web bertindak sebagai server.

  • Client - Klien HTTP mengirimkan permintaan ke server dalam bentuk metode permintaan, URI, dan versi protokol, diikuti dengan pesan mirip MIME yang berisi pengubah permintaan, informasi klien, dan kemungkinan konten badan melalui koneksi TCP / IP.

  • Server - Server HTTP merespons dengan baris status, termasuk versi protokol dari pesan dan kode sukses atau kesalahan, diikuti dengan pesan seperti MIME yang berisi informasi server, informasi meta entitas, dan kemungkinan konten badan-entitas.

HTTP - Kekurangan

  • HTTP bukanlah protokol yang sepenuhnya aman.

  • HTTP menggunakan port 80 sebagai port default untuk komunikasi.

  • HTTP beroperasi di lapisan aplikasi. Itu perlu membuat beberapa koneksi untuk transfer data, yang meningkatkan biaya administrasi.

  • Tidak diperlukan enkripsi / sertifikat digital untuk menggunakan HTTP.

Rincian Protokol Http

Untuk memahami lebih dalam tentang Protokol HTTP, klik setiap tautan di bawah ini.

  • HTTP Parameters

  • HTTP Messages

  • HTTP Requests

  • HTTP Responses

  • HTTP Methods

  • HTTP Status Codes

  • HTTP Header Fields

  • HTTP Security