มี 5 คะแนนในความแตกต่างระหว่าง Get และโหมดโพสต์ในรูปแบบของแบบฟอร์ม
1. การรับข้อมูลจากเซิร์ฟเวอร์และโพสต์คือการส่งข้อมูลไปยังเซิร์ฟเวอร์
2.get คือการเพิ่มคิวข้อมูลพารามิเตอร์ไปยัง URL ที่อ้างถึงแอตทริบิวต์การกระทำที่ส่งโดยแบบฟอร์ม โพสต์เป็นกลไก HTTPPOST ในการวางแต่ละฟิลด์และเนื้อหาในรูปแบบและเนื้อหาในส่วนหัว HTML ในที่อยู่ URL ที่อ้างถึงในคุณสมบัติการดำเนินการ ผู้ใช้ไม่เห็นกระบวนการนี้
3. สำหรับวิธีการ GET เซิร์ฟเวอร์ใช้ request.queryString เพื่อรับค่าของตัวแปร
4. ปริมาณข้อมูลที่ส่งผ่านมีขนาดเล็กและไม่เกิน 2KB จำนวนข้อมูลที่ส่งโดยโพสต์โดยทั่วไปไม่ จำกัด โดยค่าเริ่มต้น แต่ในทางทฤษฎีจำนวนสูงสุดของ IIS4 คือ 80KB และ 100KB ใน IIS5
5. การรักษาความปลอดภัยต่ำมากและโพสต์สูง
คำขอ http: ความแตกต่างระหว่างวิธีการรับและโพสต์
HTTP กำหนดวิธีการที่แตกต่างกันของการโต้ตอบกับเซิร์ฟเวอร์ ในความเป็นจริง Get เหมาะสำหรับคำขอส่วนใหญ่และการเก็บโพสต์จะใช้สำหรับการอัปเดตเว็บไซต์เท่านั้น ตามข้อกำหนด HTTP GET จะใช้สำหรับการเก็บข้อมูลและควรปลอดภัยและมีอำนาจ ความปลอดภัยที่เรียกว่า SO หมายถึงการดำเนินการที่ใช้เพื่อรับข้อมูลแทนที่จะแก้ไขข้อมูล กล่าวอีกนัยหนึ่งโดยทั่วไปรับคำขอไม่ควรสร้างผลข้างเคียง พลังแห่งพลังงานหมายความว่ามีการร้องขอหลายครั้งสำหรับ URL เดียวกันควรส่งคืนผลลัพธ์เดียวกัน คำจำกัดความที่สมบูรณ์นั้นไม่เข้มงวดเท่าที่เห็น โดยพื้นฐานแล้วเป้าหมายของเธอคือเมื่อผู้ใช้เปิดลิงก์เธอสามารถมั่นใจได้ว่าเธอไม่ได้เปลี่ยนทรัพยากรจากมุมมองของเธอเอง ตัวอย่างเช่นหน้าแรกของไซต์ข่าวได้รับการปรับปรุงอย่างต่อเนื่อง แม้ว่าคำขอที่สองจะส่งคืนข่าวชุดที่แตกต่างกัน แต่การดำเนินการยังคงถือว่าปลอดภัยและมีอำนาจเพราะมันจะส่งคืนข่าวปัจจุบันเสมอ ในทางกลับกัน คำขอโพสต์ไม่ใช่เรื่องง่าย โพสต์ระบุว่าคำขอเปลี่ยนทรัพยากรบนเซิร์ฟเวอร์ ยังคงนำเว็บไซต์ข่าวเป็นตัวอย่างคำอธิบายประกอบของผู้อ่านควรนำไปใช้ผ่านคำขอโพสต์เนื่องจากเว็บไซต์นั้นแตกต่างกันหลังจากส่งความคิดเห็น (ตัวอย่างเช่นบันทึกปรากฏด้านล่างบทความ);
เมื่อมีการส่งแบบฟอร์มหากคุณไม่ได้ระบุวิธีการเริ่มต้นคือคำขอ GET อักขระตัวเลขถูกส่ง แต่พื้นที่ถูกแปลงเป็น+จำนวนและสัญลักษณ์อื่น ๆ จะถูกแปลงเป็น%xx รับคำขอจะถูกขอให้วางไว้ในส่วนหัวโปรโตคอลคำขอ HTTP ในขณะที่ข้อมูลที่ส่งโดยโพสต์จะถูกวางไว้ในข้อมูลทางกายภาพ
ข้อมูลที่ส่งโดยวิธี GET สามารถมีได้มากที่สุด 1024 ไบต์ในขณะที่โพสต์ไม่มีขีด จำกัด นี้
ความแตกต่างระหว่างการใช้โพสต์และรับในแบบฟอร์มคืออะไร
ในรูปแบบคุณสามารถใช้โพสต์หรือรับ พวกเขาเป็นค่านิยมทางกฎหมายทั้งหมด อย่างไรก็ตามมีการใช้งานอย่างน้อยสองจุดที่แตกต่างกันและรับ:
1. รับเมธอดส่งคำขอ URL เพื่อผ่านการป้อนข้อมูลของผู้ใช้ วิธีการโพสต์ผ่านแบบฟอร์มอื่น
2. การส่งวิธีการรับคุณต้องใช้คำขอ QueryString เพื่อรับค่าของตัวแปรและเมื่อส่งวิธีการโพสต์คุณต้องเข้าถึงเนื้อหาที่ส่งผ่าน request.form
ศึกษารหัสต่อไปนี้อย่างรอบคอบ คุณสามารถรู้สึกได้ถ้าคุณสามารถวิ่งได้:
รหัส
<!
<form action = getPost.asp method = รับ?
"ประเภทอินพุต = ชื่อข้อความ = ค่าข้อความ = hello world> </put>
"ประเภทอินพุต = ส่งค่า = method = get> </input>
</form>
<br>
"Form Action = getPost.asp method = post>
"ประเภทอินพุต = ชื่อข้อความ = ค่าข้อความ = hello world> </put>
"ประเภทอินพุต = ส่งค่า = method = post>"/input>
</form>
<br>
<br>
< % ถ้า request.QueryString (ข้อความ) <> %>
สตริงที่ส่งผ่านวิธี GET คือ: <b> < %= request.QueryString (ข้อความ) %> </b> <br>
< % end ถ้า %>
< % ถ้า request.form (ข้อความ) <> %>
สตริงที่ผ่านวิธีการโพสต์คือ: <b> < %= request.form (ข้อความ) %> </b> <br>
< % end ถ้า %>
อธิบาย
บันทึกรหัสข้างต้นเพื่อ getPost.asp จากนั้นเรียกใช้ก่อนการทดสอบวิธีการโพสต์ในเวลานี้ URL ของเบราว์เซอร์ไม่เปลี่ยนแปลง
สตริงที่ผ่านวิธีการโพสต์คือ: Hello World
จากนั้นทดสอบเพื่อส่งด้วยวิธี GET โปรดทราบว่า URL ของเบราว์เซอร์จะกลายเป็น:
http: //localhost/general/form/getpost.asp?
ผลของการกลับมาคือ:
สตริงที่ผ่านวิธีการรับคือ: Hello World
ในที่สุดก็ส่งผ่านวิธีการโพสต์ URL ของเบราว์เซอร์ยังคง:
http: //localhost/general/form/getpost.asp?
ผลของการส่งคืนจะกลายเป็น:
สตริงที่ผ่านวิธีการรับคือ: Hello World
สตริงที่ผ่านวิธีการโพสต์คือ: Hello World
คำใบ้
การส่งข้อมูลผ่านวิธีการรับอาจนำปัญหาความปลอดภัย เช่นหน้าเข้าสู่ระบบ เมื่อข้อมูลถูกส่งผ่านวิธี GET ชื่อผู้ใช้และรหัสผ่านจะปรากฏบน URL ถ้า:
1. หน้าเข้าสู่ระบบสามารถแคชโดยเบราว์เซอร์;
2. คนอื่นสามารถเข้าถึงเครื่องของลูกค้าได้
จากนั้นคนอื่น ๆ สามารถอ่านบัญชีและรหัสผ่านของลูกค้านี้ได้จากบันทึกประวัติของเบราว์เซอร์ ดังนั้นในบางกรณีวิธี GET นำปัญหาความปลอดภัยที่ร้ายแรง
คำแนะนำ
http://www.devdao.com/
ในรูปแบบขอแนะนำให้ใช้วิธีการโพสต์
ความแตกต่างระหว่าง Get และ Post 2
รับ: เป็นข้อมูลที่ทรัพยากรที่ระบุโดย URI คำขอในทางกายภาพ กระบวนการของกระบวนการประมวลผลไม่ใช่กระบวนการประมวลผลอธิบาย
โพสต์: ใช้คำขอไปยังเซิร์ฟเวอร์ขอให้ยอมรับเอนทิตีที่แนบมากับคำขอและใช้เป็นรายการย่อยใหม่เพิ่มเติมที่ร้องขอทรัพยากรที่ระบุโดย URI ในคิวการร้องขอ
1: คำอธิบายของทรัพยากรที่มีอยู่
2: ข้อมูลการขายไปยังคอลัมน์การประชาสัมพันธ์อิเล็กทรอนิกส์กลุ่มข่าวรายการอีเมลหรือกลุ่มสนทนาที่คล้ายกัน
3: ส่งบล็อกข้อมูล
4: ขยายฐานข้อมูลโดยการดำเนินการเพิ่มเติม
จะเห็นได้จากคำอธิบายข้างต้นว่า Get เป็นคำขอส่งข้อมูลไปยังเซิร์ฟเวอร์
มันเป็นทฤษฎี แต่เป็นมาตรฐานมาก
วิธีการจะแสดงค่าที่คุณนำมาในคอลัมน์ที่อยู่ IE
1. Get คือ URL ที่อ้างถึงคิวข้อมูลพารามิเตอร์ไปยังแอตทริบิวต์การกระทำที่ส่งโดยแบบฟอร์ม โพสต์เป็นกลไก HTTPPOST ในการวางแต่ละฟิลด์และเนื้อหาในรูปแบบและเนื้อหาในส่วนหัว HTML ในที่อยู่ URL ที่อ้างถึงในคุณสมบัติการดำเนินการ ผู้ใช้ไม่เห็นกระบวนการนี้
2. สำหรับวิธีการรับเซิร์ฟเวอร์ใช้ request.querystring เพื่อรับค่าของตัวแปร พารามิเตอร์ทั้งสองสามารถรับได้ตามคำขอ
3. ปริมาณข้อมูลที่ส่งใน GET มีขนาดเล็กและไม่เกิน 2KB จำนวนข้อมูลที่ส่งโดยโพสต์โดยทั่วไปไม่ จำกัด โดยค่าเริ่มต้น แต่ในทางทฤษฎีจำนวนสูงสุดของ IIS4 คือ 80KB และ 100KB ใน IIS5
4. รับมีความปลอดภัยต่ำมากและโพสต์ปลอดภัยกว่า
5. "วิธีการฟอร์ม = รับการกระทำ = a.asp? b = b> เหมือนกับ" วิธีการฟอร์ม = getAction = a.asp "นั่นคือรายการพารามิเตอร์ที่มีหน้าการกระทำด้านหลังจะถูกละเว้นและ" FormMethodhod = โพสต์การกระทำ = a.asp?
นอกจากนี้คำขอ GET มีลักษณะดังต่อไปนี้: เพิ่มข้อมูลลงใน URL และส่งผ่านไปยังเซิร์ฟเวอร์ด้วยวิธีนี้ แสดงถึงจุดสิ้นสุดของที่อยู่ URL และจุดเริ่มต้นของพารามิเตอร์ข้อมูล
คำขอโพสต์มีคุณสมบัติดังต่อไปนี้: ข้อมูลถูกวางไว้ในร่างกายหลัก HTTP ซึ่งสะดวกกว่า
จะไม่มีคอลัมน์ที่อยู่โพสต์จำนวนมาก?
ถ้าได้รับมันจะปรากฏขึ้น
1. วิธีการส่งผ่านข้อมูลของผู้ใช้ผ่านคำขอ URL MDM แต่ละฟิลด์ในแบบฟอร์ม (ส่วนหัว (ส่วนหัว (ส่วนหัว (ส่วนหัว (ส่วนหัว (ส่วนหัว) โปรแกรมจะถูกถ่ายโอนไปยังเซิร์ฟเวอร์เพื่อจัดการขั้นตอนที่อ้างถึงโดยแอตทริบิวต์ของการกระทำ
2. วิธีการใช้ต้องการใช้คำขอ QueryString เพื่อรับค่าของตัวแปร
3. ปริมาณข้อมูลที่ส่งโดย GET มีขนาดเล็กมากซึ่งโดยทั่วไปจะ จำกัด อยู่ที่ประมาณ 2 kb แต่ประสิทธิภาพการดำเนินการนั้นดีกว่าวิธีการโพสต์ การรอให้เซิร์ฟเวอร์อ่านข้อมูล แต่มีคำว่า . สำหรับ 100 kb
ข้อเสนอแนะ: ถ้าคุณไม่ส่งข้อมูลที่คุณส่งอย่างแน่นอนสามารถส่งได้ในคราวเดียวโปรดลองใช้วิธีการโพสต์ให้มากที่สุด
4. การส่งข้อมูลในวิธีการ GET จะนำปัญหาความปลอดภัย เข้าถึงลูกค้าของลูกค้าคุณจะได้รับบัญชีและรหัสผ่านของผู้ใช้จากบันทึกในอดีตดังนั้นแบบฟอร์มจะแนะนำให้ใช้วิธีการโพสต์ กล่องโต้ตอบจะปรากฏกล่องโต้ตอบ
1. Get คือ URL ที่อ้างถึงคิวข้อมูลพารามิเตอร์ไปยังแอตทริบิวต์การกระทำที่ส่งโดยแบบฟอร์ม โพสต์เป็นกลไก HTTPPOST ในการวางแต่ละฟิลด์และเนื้อหาในรูปแบบและเนื้อหาในส่วนหัว HTML ในที่อยู่ URL ที่อ้างถึงในคุณสมบัติการดำเนินการ ผู้ใช้ไม่เห็นกระบวนการนี้
2. สำหรับวิธีการรับเซิร์ฟเวอร์ใช้ request.querystring เพื่อรับค่าของตัวแปร พารามิเตอร์ทั้งสองสามารถรับได้ตามคำขอ
3. ปริมาณข้อมูลที่ส่งใน GET มีขนาดเล็กและไม่เกิน 2KB จำนวนข้อมูลที่ส่งโดยโพสต์โดยทั่วไปไม่ จำกัด โดยค่าเริ่มต้น แต่ในทางทฤษฎีจำนวนสูงสุดของ IIS4 คือ 80KB และ 100KB ใน IIS5
4. รับมีความปลอดภัยต่ำมากและโพสต์ปลอดภัยกว่า
5. "วิธีการฟอร์ม = รับการกระทำ = a.asp? b = b> เหมือนกับ" วิธีการฟอร์ม = getAction = a.asp "นั่นคือรายการพารามิเตอร์ที่มีหน้าการกระทำด้านหลังจะถูกละเว้นและ" FormMethodhod = โพสต์การกระทำ = a.asp?