การทดสอบความปลอดภัย - พื้นฐานโปรโตคอล HTTP
การทำความเข้าใจโปรโตคอลเป็นสิ่งสำคัญมากในการทำความเข้าใจเกี่ยวกับการทดสอบความปลอดภัย คุณจะสามารถชื่นชมความสำคัญของโปรโตคอลเมื่อเราสกัดกั้นข้อมูลแพ็กเก็ตระหว่างเว็บเซิร์ฟเวอร์และไคลเอนต์
โปรโตคอล HTTP
Hypertext Transfer Protocol (HTTP) เป็นโปรโตคอลระดับแอปพลิเคชันสำหรับระบบข้อมูลแบบกระจายการทำงานร่วมกันและไฮเปอร์มีเดีย นี่เป็นรากฐานสำหรับการสื่อสารข้อมูลสำหรับเวิลด์ไวด์เว็บตั้งแต่ปี 1990 HTTP เป็นโปรโตคอลทั่วไปและไม่มีสถานะซึ่งสามารถใช้เพื่อวัตถุประสงค์อื่น ๆ ได้เช่นกันโดยใช้ส่วนขยายของวิธีการร้องขอรหัสข้อผิดพลาดและส่วนหัว
โดยพื้นฐานแล้ว HTTP เป็นโปรโตคอลการสื่อสารที่ใช้ TCP / IP ซึ่งใช้ในการส่งข้อมูลเช่นไฟล์ HTML ไฟล์รูปภาพผลการสืบค้นเป็นต้นทางเว็บ เป็นวิธีที่เป็นมาตรฐานสำหรับคอมพิวเตอร์ในการสื่อสารระหว่างกัน ข้อกำหนด HTTP ระบุวิธีการส่งข้อมูลที่ร้องขอของไคลเอ็นต์ไปยังเซิร์ฟเวอร์และเซิร์ฟเวอร์ตอบสนองต่อคำร้องขอเหล่านี้อย่างไร
คุณสมบัติพื้นฐาน
มีคุณสมบัติพื้นฐานสามประการดังต่อไปนี้ซึ่งทำให้ HTTP เป็นโปรโตคอลที่เรียบง่าย แต่ทรงพลัง -
HTTP is connectionless- ไคลเอนต์ HTTP กล่าวคือเบราว์เซอร์เริ่มต้นคำขอ HTTP หลังจากทำการร้องขอไคลเอนต์จะยกเลิกการเชื่อมต่อจากเซิร์ฟเวอร์และรอการตอบกลับ เซิร์ฟเวอร์ประมวลผลคำขอและสร้างการเชื่อมต่อกับไคลเอ็นต์อีกครั้งเพื่อส่งการตอบกลับกลับ
HTTP is media independent- HTTP สามารถส่งข้อมูลประเภทใดก็ได้ตราบเท่าที่ทั้งไคลเอนต์และเซิร์ฟเวอร์รู้วิธีจัดการกับเนื้อหาข้อมูล สิ่งนี้จำเป็นสำหรับไคลเอนต์และเซิร์ฟเวอร์เพื่อระบุประเภทเนื้อหาโดยใช้ประเภท MIME ที่เหมาะสม
HTTP is stateless- HTTP เป็นแบบไร้การเชื่อมต่อและนี่คือผลลัพธ์โดยตรงที่ HTTP เป็นโปรโตคอลไร้รัฐ เซิร์ฟเวอร์และไคลเอนต์จะรับรู้ซึ่งกันและกันในระหว่างการร้องขอปัจจุบันเท่านั้น หลังจากนั้นทั้งคู่ก็ลืมกันและกัน เนื่องจากลักษณะของโปรโตคอลนี้ทั้งไคลเอนต์และเบราว์เซอร์ไม่สามารถเก็บรักษาข้อมูลระหว่างคำขอต่างๆในหน้าเว็บได้
HTTP / 1.0 ใช้การเชื่อมต่อใหม่สำหรับการแลกเปลี่ยนคำขอ / การตอบกลับแต่ละรายการในขณะที่การเชื่อมต่อ HTTP / 1.1 อาจใช้สำหรับการแลกเปลี่ยนคำขอ / การตอบกลับอย่างน้อยหนึ่งรายการ
สถาปัตยกรรม
แผนภาพต่อไปนี้แสดงสถาปัตยกรรมพื้นฐานของเว็บแอปพลิเคชันและแสดงตำแหน่งที่ HTTP อยู่ -
โปรโตคอล HTTP เป็นโปรโตคอลการร้องขอ / การตอบสนองตามสถาปัตยกรรมไคลเอนต์ / เซิร์ฟเวอร์ที่เว็บเบราว์เซอร์โรบ็อตและเครื่องมือค้นหา ฯลฯ ทำหน้าที่เป็นไคลเอนต์ HTTP และเว็บเซิร์ฟเวอร์ทำหน้าที่เป็นเซิร์ฟเวอร์
Client - ไคลเอนต์ HTTP ส่งคำขอไปยังเซิร์ฟเวอร์ในรูปแบบของวิธีการร้องขอ URI และเวอร์ชันโปรโตคอลตามด้วยข้อความคล้าย MIME ที่มีตัวปรับเปลี่ยนคำขอข้อมูลไคลเอ็นต์และเนื้อหาที่เป็นไปได้ผ่านการเชื่อมต่อ TCP / IP
Server - เซิร์ฟเวอร์ HTTP ตอบสนองด้วยบรรทัดสถานะรวมถึงเวอร์ชันโปรโตคอลของข้อความและความสำเร็จหรือรหัสข้อผิดพลาดตามด้วยข้อความคล้าย MIME ที่มีข้อมูลเซิร์ฟเวอร์ข้อมูลเมตาเอนทิตีและเนื้อหาของเอนทิตีที่เป็นไปได้
HTTP - ข้อเสีย
HTTP ไม่ใช่โปรโตคอลที่ปลอดภัยอย่างสมบูรณ์
HTTP ใช้พอร์ต 80 เป็นพอร์ตเริ่มต้นสำหรับการสื่อสาร
HTTP ทำงานที่ Application Layer จำเป็นต้องสร้างการเชื่อมต่อหลายรายการสำหรับการถ่ายโอนข้อมูลซึ่งจะเพิ่มค่าใช้จ่ายในการดูแลระบบ
ไม่จำเป็นต้องมีการเข้ารหัส / ใบรับรองดิจิทัลสำหรับการใช้ HTTP
รายละเอียดโปรโตคอล HTTP
เพื่อทำความเข้าใจเกี่ยวกับ HTTP Protocol แบบเจาะลึกให้คลิกที่ลิงค์ด้านล่าง
HTTP Parameters
HTTP Messages
HTTP Requests
HTTP Responses
HTTP Methods
HTTP Status Codes
HTTP Header Fields
HTTP Security