แม่นยำยิ่งขึ้นใช้ HTTP และ HTTPS เพื่อถ่ายโอนเอกสารไฮเปอร์เท็กซ์บนเวิลด์ไวด์เว็บ (www)
โปรโตคอลเหล่านี้ค่อนข้างง่ายลูกค้า (โดยทั่วไปจะเป็นเบราว์เซอร์) ตั้งค่าการเชื่อมต่อ TCP ไปยังเซิร์ฟเวอร์ (HTTP หรือ HTTPS) ส่งคำขอในรูปแบบของสตริง ASCII และคาดว่าจะตอบกลับ การตอบกลับมักจะถูกจัดรูปแบบเป็นสตริง ASCII แม้ว่าเซิร์ฟเวอร์จะสามารถส่งคืนรูปแบบข้อมูลอื่น ๆ ได้หลายรูปแบบ (ตัวอย่างเช่นรูปภาพจะถูกส่งเป็นข้อมูลไบนารี)
หากเราใช้โปรโตคอล HTTP จะเป็นการง่ายกว่าที่จะละเมิดความปลอดภัยเนื่องจากการถ่ายโอนข้อมูลและข้อมูลเป็นข้อความธรรมดา แต่ในขณะที่ใช้โปรโตคอล HTTPS มันเป็นการยากที่จะละเมิดความปลอดภัยเนื่องจากข้อมูลและข้อมูลที่ส่งนั้นอยู่ในรูปแบบการเข้ารหัส แนะนำให้ใช้โปรโตคอล HTTPS หากลูกค้ากำลังถ่ายโอนข้อมูลที่ละเอียดอ่อนและเป็นความลับของเขา / เธอ
แผนภูมิเปรียบเทียบ
พื้นฐานสำหรับการเปรียบเทียบ | HTTP | HTTPS |
---|---|---|
ใช้คำนำหน้า | URL เริ่มต้นด้วย "//" | URL เริ่มต้นด้วย "//" |
ความปลอดภัย | ไม่มั่นคง | ปลอดภัย |
เปิดใช้งาน | แอพลิเคชันเลเยอร์ | ชั้นการขนส่ง |
การเข้ารหัสลับ | ไม่มีการเข้ารหัส | ใช้การเข้ารหัส |
ใบรับรอง | ไม่ต้องการ. | จำเป็น |
พอร์ตที่ใช้ | ใช้หมายเลขพอร์ต 80 เพื่อการสื่อสาร | หมายเลขพอร์ต 443 ใช้สำหรับการสื่อสาร |
ลักษณะ | มันขึ้นอยู่กับการโจมตีของคนกลางและกำลังดักข้อมูล | มันถูกออกแบบมาเพื่อต่อต้านการโจมตีจากคนกลางและกำลังดักข้อมูลและถือว่าปลอดภัยสำหรับการโจมตีดังกล่าว |
ตัวอย่าง | เว็บไซต์เช่นฟอรัมอินเทอร์เน็ตไซต์เพื่อการศึกษา | เว็บไซต์เช่นเว็บไซต์ธนาคาร, ช่องทางการชำระเงิน, เว็บไซต์ช็อปปิ้ง ฯลฯ |
ความหมายของ HTTP
HTTP (Hypertext Transfer Protocol) เป็นฐานของการสื่อสารข้อมูลสำหรับเว็บนี่คือวิธีที่อินเทอร์เน็ตทำงานเมื่อมันมาถึงการส่งมอบหน้าเว็บ มันเป็นโปรโตคอลที่ใช้ TCP / IP และสิ่งต่าง ๆ เช่นข้อความเสียงวิดีโอรูปภาพสามารถส่งผ่านมันได้
HTTP ทำงาน ตามคำขอ และรอบ การตอบสนอง ที่ลูกค้าร้องขอหน้าเว็บ สมมติว่าถ้าคุณเรียกดู google.com คุณกำลังร้องขอหน้าเว็บจากเซิร์ฟเวอร์และเซิร์ฟเวอร์จะตอบกลับคุณ
HTTP เป็น โปรโตคอลไร้สัญชาติ ซึ่งหมายถึงทุกธุรกรรมที่คุณทำผ่าน HTTP นั้นมีความเป็นอิสระ อย่างไรก็ตามสามารถส่งผ่านการใช้คุกกี้ HTTP เซสชันฝั่งเซิร์ฟเวอร์ตัวแปรการเขียน URL ใหม่
เมื่อไคลเอนต์ต้องการเรียกดูเว็บไซต์สิ่งแรกที่เกิดขึ้นคือคำขอถูกส่งไปยังเซิร์ฟเวอร์ที่รู้จักในชื่อ ข้อความ HTTP หลังจากนั้นเซิร์ฟเวอร์จะเตรียมการตอบกลับและส่งกลับ ข้อความจะแตกต่างกันไปขึ้นอยู่กับการตอบกลับและการร้องขอข้อความ
ขอข้อความ HTTP
ขอข้อความ HTTP
- บรรทัดเริ่มต้น ประกอบด้วยเมธอด, URI และเวอร์ชัน HTTP
- วิธีการ : มันเป็นเหมือนคำสั่งที่มอบให้กับเซิร์ฟเวอร์เพื่อให้เซิร์ฟเวอร์รู้ว่าต้องทำอะไร ตัวอย่างเช่น GET, POST, HEAD,
วางลบ ฯลฯ - URI : มันจะขยายเป็น Uniform Resource Identifier คือชุดของตัวอักษรที่อ่านได้และวิธีการค้นหาทรัพยากร
- HTTP version : มันระบุเวอร์ชันของ HTTP ที่ไคลเอ็นต์กำลังใช้
- วิธีการ : มันเป็นเหมือนคำสั่งที่มอบให้กับเซิร์ฟเวอร์เพื่อให้เซิร์ฟเวอร์รู้ว่าต้องทำอะไร ตัวอย่างเช่น GET, POST, HEAD,
- ใน ส่วนหัว เรามีกฎที่ให้ข้อมูลเช่น:
- โฮสต์ : ระบุที่อยู่ของเซิร์ฟเวอร์ที่เรากำลังส่งคำขอ
- ยอมรับ : ระบุประเภทไฟล์ที่เราร้องขอ
- ยอมรับภาษา : ระบุภาษา
- ไม่มี เนื้อหา ในคำขอ
ข้อความตอบกลับ HTTP
ข้อความตอบกลับ HTTP
- บรรทัดเริ่มต้น : ไม่มีวิธีในบรรทัดเริ่มต้นเนื่องจากใช้ในคำขอเท่านั้น ในการตอบกลับเรามีรุ่น HTTP และรหัสสถานะ
- HTTP version : มันระบุเวอร์ชันของ HTTP ที่ไคลเอ็นต์กำลังใช้
- รหัสสถานะ : มันบอกลูกค้าว่าคำขอประสบความสำเร็จหรือล้มเหลว เช่น ไม่พบหน้าเว็บ 404- 200 - ok เป็นต้น
- ส่วนหัว จะมีข้อมูลเดียวกับคำขอ
- โฮสต์ : ระบุที่อยู่ของเซิร์ฟเวอร์ที่เราส่งคำขอ
- ยอมรับ : ระบุประเภทไฟล์ที่ร้องขอ
- ยอมรับภาษา : ระบุภาษา
- ร่างกาย จะเก็บไฟล์ที่เราได้ขอไว้
ปัญหาหลักของ HTTP คือมัน ไม่ได้ เข้ารหัส และ ใช้ข้อความธรรมดา ซึ่งหมายความว่าจะไม่ปลอดภัยเมื่อทำการถ่ายโอนข้อมูลระหว่างคอมพิวเตอร์และเซิร์ฟเวอร์ มันเป็นที่นิยมในการใช้ประโยชน์จากการโจมตีคนในกลางถ้าคุณใช้การเชื่อมต่อ HTTP ทุกคนสามารถทำให้ตัวเองอยู่ตรงกลางและเริ่มใช้ชื่ออีเมลรหัสผ่านในข้อความธรรมดา
คำจำกัดความของ HTTPS
HTTPS (Hypertext Transfer Protocol Secure) นั้นไม่ใช่เรื่องอื่นนอกจาก HTTP ทำงานควบคู่กับ SSL (Secure Socket Layer) ที่เป็น“ S” ใน HTTPS SSL ดูแลให้มั่นใจว่าข้อมูลมีความปลอดภัยบนอินเทอร์เน็ต ชื่ออื่นที่ให้กับ HTTPS คือ HTTP ผ่าน TLS, HTTP ผ่าน SSL และ HTTP ปลอดภัย
โพรโทคอลนี้ถูกออกแบบมาเพื่อเพิ่มบนอินเทอร์เน็ตเป็นหลักเมื่อสื่อสารกับเว็บไซต์และส่งข้อมูลที่สำคัญ การโจมตีแบบคนกลางทำให้ยากขึ้นเนื่องจากการส่งข้อมูลไม่มีข้อความธรรมดาอีกต่อไป
เพื่อความปลอดภัยของเว็บไซต์คุณต้องซื้อสิ่งที่เรียกว่า ใบรับรอง SSL สิ่งเหล่านี้ค่อนข้างแพงและ บริษัท โฮสติ้งส่วนใหญ่ให้บริการ ใบรับรอง SSL นั้นคล้ายคลึงกับบัตรประจำตัวออนไลน์ ใบรับรอง SSL จะเข้ารหัส ข้อมูลใด ๆ ที่ผ่านโปรโตคอล https
ตอนนี้ไคลเอนต์ร้องขอข้อมูลจากเซิร์ฟเวอร์ที่ค้นหาใบรับรอง SSL ซึ่งจะตรวจสอบข้อมูลประจำตัวของเว็บไซต์ด้วยใบรับรอง หากทุกอย่างดีการ จับมือ เกิดขึ้นเมื่อมีการตัดสินใจวิธีการเข้ารหัสผ่าน SSL
ความแตกต่างที่สำคัญระหว่าง HTTP และ HTTPS
จุดที่ระบุด้านล่างครอบคลุมความแตกต่างระหว่าง HTTP และ HTTPS:
- ถ้าเราพูดถึงความปลอดภัย HTTP มีปัญหาด้านความปลอดภัยในขณะที่ HTTPS นั้นปลอดภัย
- Hypertext Transfer Protocol ทำงานที่ชั้นแอปพลิเคชัน ในทางตรงกันข้ามฟังก์ชั่นการรักษาความปลอดภัย Hypertext Transfer Protocol ที่ Transport Layer
- HTTPS ต้องการใบรับรองเพื่อยืนยันตัวตนของเว็บไซต์ เมื่อเทียบกับใน HTTP ไม่มีข้อกำหนดของใบรับรอง
- ไม่มีการเข้ารหัสที่ใช้ใน HTTP ในทางตรงกันข้ามทั้งการเข้ารหัสและถอดรหัสใช้ใน HTTPS
- เพื่อการสื่อสารใช้หมายเลขพอร์ต 80 ใน HTTP ในขณะที่ HTTPS ใช้ประโยชน์หมายเลขพอร์ต 443
- HTTP มีแนวโน้มที่จะโจมตีแบบ Man-in-the-the-middle และการดักฟัง แต่ HTTPS ถูกออกแบบมาเพื่อต่อต้านการโจมตีดังกล่าว
ตัวอย่าง:
HTTP สามารถใช้ในเว็บไซต์ส่วนใหญ่เช่นฟอรัมอินเทอร์เน็ตไซต์การศึกษา เนื่องจากสิ่งเหล่านี้เป็นฟอรัมการสนทนาแบบเปิดจึงไม่จำเป็นต้องเข้าถึงที่ปลอดภัย ตัวอย่างเช่น //www.ndtv.com
ควรใช้ HTTPS ในเว็บไซต์การธนาคารเกตเวย์การชำระเงินเว็บไซต์ช็อปปิ้งหน้าเข้าสู่ระบบอีเมลและเว็บไซต์ภาคธุรกิจ ตัวอย่างเช่น //paytm.com/
สรุป:
ทั้ง HTTP และ HTTPS เป็นโปรโตคอลการถ่ายโอนเอกสารไฮเปอร์เท็กซ์ แต่ HTTPS มี วิธีการที่ปลอดภัยใน การถ่ายโอนข้อมูลข้อมูลและไฟล์จากไคลเอนต์ไปยังเซิร์ฟเวอร์