แนะนำ: เทมเพลตหน้าเว็บ: คำขอวัตถุในตัว ASP เริ่มต้นจากบทความนี้ผู้เขียนเริ่มต้นด้วยวัตถุในตัว ASP และวิเคราะห์คุณสมบัติและวิธีการของวัตถุในตัวหกตัวและส่วนประกอบต่าง ๆ ของ ASP สำหรับคุณในรายละเอียด ก่อนที่จะเริ่มเรียนรู้วัตถุและส่วนประกอบในตัวของ ASP อย่างเป็นทางการให้เราเข้าใจแนวคิดพื้นฐานบางอย่างซึ่งจะช่วยได้ดีในการเรียนรู้ในอนาคตของคุณ โปรดดูตารางด้านล่าง: วัตถุคืออะไร? มันไม่ได้หมายถึงเพื่อนชายหรือหญิงที่คุณมีความรัก ในสถานที่
ความแตกต่างระหว่างการรับแบบฟอร์มการส่งโพสต์ในบทช่วยสอน ASP
มี 5 ความแตกต่างระหว่างวิธีการรับและโพสต์
1. รับคือรับข้อมูลจากเซิร์ฟเวอร์และโพสต์คือการถ่ายโอนข้อมูลไปยังเซิร์ฟเวอร์
2. รับคิวข้อมูลพารามิเตอร์ไปยัง URL ที่อ้างถึงโดยแอตทริบิวต์การกระทำของแบบฟอร์มที่ส่ง ค่าสอดคล้องกับแต่ละฟิลด์ในแบบฟอร์มทีละหนึ่งและสามารถเห็นได้ใน URL โพสต์คือการส่งผ่านแต่ละฟิลด์ในรูปแบบและเนื้อหาในส่วนหัว HTML ผ่านกลไกการโพสต์ HTTP เพื่อส่งไปยังที่อยู่ URL ที่อ้างถึงโดยแอตทริบิวต์การกระทำ ผู้ใช้ไม่เห็นกระบวนการนี้
3. สำหรับวิธีการ GET เซิร์ฟเวอร์จะใช้ request.querystring เพื่อรับค่าของตัวแปร สำหรับวิธีการโพสต์เซิร์ฟเวอร์ใช้ request.form เพื่อรับข้อมูลที่ส่ง
4. ปริมาณข้อมูลที่ส่งโดย GET มีขนาดเล็กและไม่เกิน 2KB จำนวนข้อมูลที่ส่งโดยโพสต์มีขนาดใหญ่และโดยทั่วไปจะผิดนัดชำระ แต่ในทางทฤษฎีจำนวนเงินสูงสุดใน IIS4 คือ 80KB และ 100KB ใน IIS5
5. รับความปลอดภัยต่ำมากและการรักษาความปลอดภัยหลังสูง
คำขอ http: ความแตกต่างระหว่างวิธีการรับและโพสต์
HTTP กำหนดวิธีการโต้ตอบกับเซิร์ฟเวอร์ที่แตกต่างกันซึ่งวิธีการพื้นฐานที่สุดคือการรับและโพสต์ ในความเป็นจริงรับงานสำหรับคำขอส่วนใหญ่ในขณะที่โพสต์ถูกสงวนไว้สำหรับการอัปเดตเว็บไซต์เท่านั้น ตามข้อกำหนด HTTP GET จะถูกใช้สำหรับการเก็บข้อมูลและควรปลอดภัยและเป็น idempotent ปลอดภัยหมายความว่าการดำเนินการใช้เพื่อรับข้อมูลแทนที่จะแก้ไขข้อมูล กล่าวอีกนัยหนึ่งโดยทั่วไปการร้องขอไม่ควรมีผลข้างเคียง IDSSSESHIBLE หมายความว่าการร้องขอหลายครั้งไปยัง URL เดียวกันควรส่งคืนผลลัพธ์เดียวกัน คำจำกัดความที่สมบูรณ์นั้นไม่เข้มงวดเท่าที่เห็น โดยพื้นฐานแล้วเป้าหมายคือเมื่อผู้ใช้เปิดลิงก์เธอสามารถมั่นใจได้ว่าทรัพยากรไม่ได้เปลี่ยนจากมุมมองของเธอเอง ตัวอย่างเช่นหน้าแรกของไซต์ข่าวได้รับการปรับปรุงอย่างต่อเนื่อง แม้ว่าคำขอที่สองจะส่งคืนข่าวชุดอื่น แต่การดำเนินการยังคงถือว่าปลอดภัยและเป็น idempotent เพราะมันจะส่งคืนข่าวปัจจุบันเสมอ ในทางกลับกัน คำขอโพสต์ไม่ใช่เรื่องง่าย โพสต์ระบุคำขอที่อาจเปลี่ยนทรัพยากรบนเซิร์ฟเวอร์ ยังคงใช้เว็บไซต์ข่าวเป็นตัวอย่างคำอธิบายประกอบของผู้อ่านควรนำไปใช้ผ่านคำขอโพสต์เนื่องจากเว็บไซต์นั้นแตกต่างกันแล้วหลังจากส่งคำอธิบายประกอบ (ตัวอย่างเช่นคำอธิบายประกอบปรากฏอยู่ด้านล่างบทความ);
เมื่อฟอร์มดำเนินการหากไม่ได้ระบุวิธีการจะเริ่มต้นการร้องขอ ข้อมูลที่ส่งในแบบฟอร์มจะถูกผนวกเข้าด้วยกันหลังจาก URL แยกออกจาก URL อักขระตัวอักษรและตัวเลขถูกส่งตามที่เป็นอยู่ แต่ช่องว่างจะถูกแปลงเป็นสัญญาณ + และสัญลักษณ์อื่น ๆ จะถูกแปลงเป็น %xx โดยที่ XX คือค่า ASCII (หรือ ISO Latin-1) ของสัญลักษณ์ใน hexadecimal ข้อมูลที่ส่งโดยคำขอ GET จะถูกวางไว้ในส่วนหัวโปรโตคอลคำขอ HTTP ในขณะที่ข้อมูลที่ส่งโดยโพสต์จะถูกวางไว้ในข้อมูลเอนทิตี ข้อมูลที่ส่งโดยวิธี GET สามารถมีได้สูงสุด 1024 ไบต์ในขณะที่โพสต์ไม่มีขีด จำกัด ดังกล่าว
ความแตกต่างระหว่างการใช้โพสต์และรับในรูปแบบคืออะไร
ในรูปแบบคุณสามารถใช้โพสต์หรือรับ พวกเขาเป็นค่านิยมทางกฎหมายทั้งหมด อย่างไรก็ตามมีความแตกต่างอย่างน้อยสองประการในการใช้งานโพสต์และรับวิธีการ:
1. วิธีการรับส่งผ่านการป้อนข้อมูลผู้ใช้ผ่านคำขอ URL วิธีการโพสต์อยู่ในรูปแบบอื่น
2. เมื่อส่งในโหมด GET คุณต้องใช้ request.querystring เพื่อรับค่าของตัวแปร เมื่อส่งในโหมดโพสต์คุณต้องเข้าถึงเนื้อหาที่ส่งผ่าน request.form
ลองดูรหัสด้านล่างอย่างใกล้ชิด คุณสามารถเรียกใช้เพื่อสัมผัสได้:
รหัส
ต่อไปนี้เป็นเนื้อหาที่ยกมา:
<!-ทั้งสองแบบมีคุณลักษณะที่แตกต่างกันเท่านั้น->
<form action = getPost.php วิธีการสอน = get>
<ประเภทอินพุต = ชื่อข้อความ = ค่าข้อความ = hello world> </put>
<ประเภทอินพุต = ส่งค่า = method = get> </input>
</form>
<br>
<form action = getPost.php method = post>
<ประเภทอินพุต = ชื่อข้อความ = ค่าข้อความ = hello world> </put>
<อินพุตประเภท = ส่งค่า = วิธี = โพสต์> </put>
</form>
<br>
<br>
- ถ้า request.QueryString (ข้อความ) <> แล้ว?>
สตริงที่ผ่านวิธีการรับคือ: <b> <? = request.QueryString (ข้อความ)?> </b> <br>
- จบถ้า?>
- ถ้า request.form (ข้อความ) <> แล้ว?>
สตริงที่ผ่านวิธีการโพสต์คือ: <b> <? = request.form (ข้อความ)?> </b> <br>
- จบถ้า?>
อธิบาย
บันทึกรหัสด้านบนเป็น getPost.asp จากนั้นเรียกใช้ก่อนทดสอบวิธีการโพสต์ ในเวลานี้ URL ของเบราว์เซอร์ไม่เปลี่ยนแปลงมากนักและผลลัพธ์ที่ส่งคืนคือ:
สตริงที่ผ่านวิธีการโพสต์คือ: Hello World
จากนั้นทดสอบส่งโดยใช้วิธี GET โปรดทราบว่า URL ของเบราว์เซอร์จะกลายเป็น:
http: //localhost/general/form/getpost.php? text = Hello+World
และผลลัพธ์ที่ส่งคืนคือ:
สตริงที่ผ่านวิธีการรับคือ: Hello World
ในที่สุดส่งผ่านวิธีการโพสต์และ URL ของเบราว์เซอร์ยังคง:
http: //localhost/general/form/getpost.php? text = Hello+World
และผลลัพธ์ที่ส่งคืนจะกลายเป็น:
สตริงที่ผ่านวิธีการรับคือ: Hello World
สตริงที่ผ่านวิธีการโพสต์คือ: Hello World
คำใบ้
การส่งข้อมูลผ่านวิธีการรับอาจนำปัญหาความปลอดภัย ตัวอย่างเช่นหน้าเข้าสู่ระบบ เมื่อส่งข้อมูลผ่านวิธี GET ชื่อผู้ใช้และรหัสผ่านจะปรากฏบน URL ถ้า:
1. หน้าเข้าสู่ระบบสามารถแคชโดยเบราว์เซอร์;
2. คนอื่นสามารถเข้าถึงเครื่องของลูกค้าได้
จากนั้นคนอื่น ๆ สามารถอ่านบัญชีและรหัสผ่านของลูกค้ารายนี้ได้จากประวัติของเบราว์เซอร์ ดังนั้นในบางกรณีวิธีการรับสามารถนำปัญหาความปลอดภัยที่ร้ายแรง
คำแนะนำ
ในรูปแบบขอแนะนำให้ใช้วิธีการโพสต์
แบ่งปัน: คำอธิบายโดยละเอียดเกี่ยวกับการใช้วิธีการเปิดของ XMLHTTP เปิดสร้างคำขอ HTTP ใหม่และระบุวิธีการ URL และข้อมูลการตรวจสอบไวยากรณ์ของคำขอนี้ OxmlhttpRequest.open (Bstrmethod, Bstrurl, Varasync, Bstruser, bstrpassword); พารามิเตอร์วิธี BSTRMETHOD HTTP เช่น: POST, GET, PUT และ ProPFind กรณีที่ไม่รู้สึก ที่อยู่ URL ที่ร้องขอโดย Bstrurl สามารถทำได้อย่างแน่นอน