โปรดทราบว่าคำถามมีการเปลี่ยนแปลง / รับการชี้แจงตั้งแต่คำตอบนี้ถูกเขียนขึ้นครั้งแรก การตอบสนองต่อการทำซ้ำครั้งล่าสุดของคำถามคือหลังจากกฎแนวนอนที่สอง
ความต้องการวิธีการเช่น GET และ POST ในโปรโตคอล HTTP คืออะไร?
พวกเขาพร้อมกับสิ่งอื่น ๆ เช่นรูปแบบส่วนหัวกฎสำหรับวิธีการแยกส่วนหัวและร่างกายสร้างพื้นฐานของโปรโตคอล HTTP
เราไม่สามารถใช้โพรโทคอล HTTP โดยใช้เนื้อความการร้องขอและเนื้อความการตอบสนองได้หรือไม่
ไม่เพราะสิ่งที่คุณสร้างขึ้นจะไม่เป็นโปรโตคอล HTTP
ตัวอย่างเช่น URL จะมีการร้องขอซึ่งจะถูกแมปไปยังฟังก์ชั่นขึ้นอยู่กับภาษาการเขียนโปรแกรมทางฝั่งเซิร์ฟเวอร์บอกว่า Servlet และในการตอบสนอง HTML และการตอบสนอง JavaScript จะถูกส่งผ่าน
ขอแสดงความยินดีคุณเพิ่งคิดค้นโปรโตคอลใหม่! ตอนนี้ถ้าคุณต้องการตั้งค่าหน่วยมาตรฐานเพื่อขับเคลื่อนและบำรุงรักษาพัฒนา ฯลฯ มันสามารถแซง HTTP ได้ในวันหนึ่ง
ฉันซาบซึ้งว่านี่เป็นเพียงเล็กน้อยในแก้ม แต่ไม่มีอะไรน่าอัศจรรย์เกี่ยวกับอินเทอร์เน็ต TCP / IP หรือการสื่อสารที่เกิดขึ้นระหว่างเซิร์ฟเวอร์และไคลเอนต์ คุณเปิดการเชื่อมต่อและส่งคำลงมาเพื่อสร้างการสนทนา บทสนทนาต้องยึดมั่นกับข้อกำหนดที่ให้สัตยาบันที่ปลายทั้งสองอย่างถ้าการร้องขอนั้นเป็นที่เข้าใจและตอบสนองอย่างสมเหตุสมผล นี่ไม่ต่างกับการสนทนาใด ๆ ในโลก คุณพูดภาษาอังกฤษได้เพื่อนบ้านของคุณพูดภาษาจีนได้ หวังว่ามือของคุณโบกมือการชี้และการเขย่าจะเพียงพอที่จะสื่อข้อความของคุณว่าคุณไม่ต้องการให้เขาจอดรถไว้หน้าบ้านของคุณ
กลับมาบนอินเทอร์เน็ตถ้าคุณเปิดซ็อกเก็ตไปยังเว็บเซิร์ฟเวอร์ที่สอดคล้องกับ HTTP และส่งต่อไปนี้:
EHLO
AUTH LOGIN
(จุดเริ่มต้นของการส่งอีเมล SMTP) จากนั้นคุณจะไม่ได้รับคำตอบที่สมเหตุสมผล คุณสามารถสร้างไคลเอ็นต์ที่เข้ากันได้กับ SMTP ที่สมบูรณ์แบบที่สุด แต่เว็บเซิร์ฟเวอร์ของคุณจะไม่พูดคุยกับมันเพราะการสนทนานี้เกี่ยวกับโปรโตคอลที่ใช้ร่วมกัน - ไม่มีโปรโตคอลที่แชร์และไม่มีความสุข
นี่คือเหตุผลที่คุณไม่สามารถใช้โปรโตคอล HTTP โดยไม่ต้องใช้โปรโตคอล HTTP ถ้าสิ่งที่คุณเขียนไม่สอดคล้องกับโปรโตคอลมันก็ไม่ได้เป็นโปรโตคอล - มันเป็นอย่างอื่นและมันจะไม่ทำงานตามที่ระบุไว้ในโปรโตคอล
ถ้าเราใช้ตัวอย่างของคุณสักครู่ ที่ไคลเอนต์เชื่อมต่อและระบุสิ่งที่ดูเหมือน URL .. และเซิร์ฟเวอร์เข้าใจและส่งสิ่งที่ดูเหมือนว่า HTML / JS (เว็บเพจ) จากนั้นตรวจสอบว่ามันสามารถทำงานได้ คุณช่วยอะไรได้บ้าง? ไม่กี่ไบต์ที่ไม่ได้พูดว่า GET? มีอีกไม่กี่อย่างที่คิดว่าส่วนหัวที่น่ารำคาญ .. เซิร์ฟเวอร์ก็ช่วยคุณด้วยเช่นกัน - แต่ถ้าคุณไม่สามารถบอกได้ว่ามันส่งอะไรให้คุณล่ะ ถ้าคุณขอ URL ที่ลงท้ายด้วย JPEG และมันส่งให้คุณเป็นจำนวนไบต์ที่ทำให้รูปภาพ แต่เป็น PNG PNG ที่ไม่สมบูรณ์ในตอนนั้น ถ้าเพียง แต่เรามีส่วนหัวที่กล่าวว่าวิธีการหลายไบต์มันเป็นไปเพื่อส่งแล้วเราจะทราบว่าจำนวนไบต์ที่เราได้รับเป็นจริงทั้งไฟล์หรือไม่ จะทำอย่างไรถ้าเซิร์ฟเวอร์ตอบกลับเพื่อบันทึกแบนด์วิดท์ แต่ไม่ได้บอกคุณ คุณกำลังจะใช้พลังการประมวลผลจำนวนมากพยายามที่จะคิดออกสิ่งที่มันส่ง
ในตอนท้ายของวันเราต้องการข้อมูลเพิ่มเติม - ข้อมูลเกี่ยวกับข้อมูล เราต้องการส่วนหัว; เราต้องการไฟล์ที่จะมีชื่อส่วนขยายวันที่สร้าง เราต้องการคนที่จะมีวันเกิดพูดได้โปรดและขอบคุณ ฯลฯ - โลกนี้เต็มไปด้วยโปรโตคอลและข้อมูลบิตเกี่ยวกับบริบทดังนั้นเราจึงไม่ต้องนั่งลงและทำงานทุกอย่างตั้งแต่เริ่มต้น มันมีค่าใช้จ่ายเล็กน้อยสำหรับพื้นที่เก็บข้อมูล แต่มันก็คุ้มค่า
การใช้วิธี HTTP ต่างๆนั้นจำเป็นจริงๆหรือ?
เนื้อหาไม่จำเป็นต้องใช้โปรโตคอลที่ระบุทั้งหมดและนี่เป็นเรื่องจริงสำหรับทุกสิ่ง ฉันไม่รู้ทุกคำในภาษาอังกฤษ; เพื่อนบ้านชาวจีนของฉันยังเป็นผู้พัฒนาซอฟต์แวร์ด้วย แต่ในอุตสาหกรรมที่แตกต่างกันและเขาไม่รู้ภาษาจีนแม้แต่คำศัพท์บางคำที่ใช้ในอุตสาหกรรมของฉันโดยไม่พูดภาษาอังกฤษ สิ่งที่ดีคือเราทั้งคู่สามารถรับเอกสารเกี่ยวกับการใช้งาน HTTP เขาสามารถเขียนเซิร์ฟเวอร์และฉันสามารถเขียนลูกค้าในภาษาการเขียนโปรแกรมที่แตกต่างกันในสถาปัตยกรรมที่แตกต่างกันและพวกเขายังคงทำงานเพราะพวกเขาปฏิบัติตามโปรโตคอล
อาจเป็นกรณีที่ผู้ใช้ของคุณจะไม่ออกสิ่งใดนอกจากคำขอ GET ไม่ใช้การเชื่อมต่อแบบถาวรส่งสิ่งอื่นใดนอกเหนือจาก JSON เป็นเนื้อความหรือต้องยอมรับสิ่งอื่นนอกเหนือจากข้อความ / ธรรมดาเพื่อให้คุณสามารถ เขียนเว็บเซิร์ฟเวอร์ที่มีปัญหามากซึ่งตรงกับความต้องการที่ จำกัด ของเบราว์เซอร์ไคลเอ็นต์ แต่คุณไม่สามารถตัดสินใจที่จะทำตามกฎพื้นฐานที่ทำให้ "ข้อความบางส่วนผ่านซ็อกเก็ต" ซึ่ง HTTP คืออะไร คุณไม่สามารถทิ้งความคิดพื้นฐานที่คำขอจะเป็นสตริงเช่น:
VERB URL VERSION
header: value
maybe_body
และการตอบสนองจะมีรุ่นและรหัสสถานะและบางทีส่วนหัว หากคุณเปลี่ยนแปลงสิ่งใดก็ตาม - ไม่ใช่ HTTP อีกต่อไป - เป็นอย่างอื่นและจะทำงานกับสิ่งที่ออกแบบมาเพื่อทำความเข้าใจเท่านั้น HTTP คือสิ่งที่นิยามไว้โดยนิยามเหล่านี้ดังนั้นหากคุณต้องการใช้มันคุณต้องทำตามคำจำกัดความ
ปรับปรุง
คำถามของคุณพัฒนาไปเล็กน้อยต่อไปนี้เป็นคำตอบของสิ่งที่คุณถาม:
ทำไมโปรโตคอล HTTP ถึงมีแนวคิดวิธีการ
ในอดีตคุณจำเป็นต้องชื่นชมว่าสิ่งต่าง ๆ มีความยืดหยุ่นในการออกแบบและการนำไปใช้งานมากขึ้นแม้ว่าจะไม่มีการเขียนสคริปต์และแม้แต่ความคิดที่ว่าหน้าเว็บอาจเป็นแบบไดนามิกสร้างขึ้นทันทีในหน่วยความจำและผลักลงซ็อกเก็ตแทน ของการเป็นไฟล์สแตติกบนดิสก์ที่ไคลเอ็นต์ร้องขอและอ่านและดันซ็อกเก็ตลงมาไม่มีอยู่จริง เนื่องจากเว็บยุคแรกที่มีศูนย์กลางอยู่ที่ความคิดของสแตติกเพจที่มีลิงค์ไปยังหน้าอื่น ๆ เพจทั้งหมดที่มีอยู่บนดิสก์และการนำทางจะเป็นเพราะเทอร์มินัลส่วนใหญ่ทำการขอ GET สำหรับหน้าเว็บที่ URL เซิร์ฟเวอร์จะสามารถแมป url ไปยังไฟล์บนดิสก์และส่ง นอกจากนี้ยังมีความคิดว่าเว็บของเอกสารที่เชื่อมโยงถึงกันและออกไปที่อื่นควรมีการพัฒนา
ที่ให้บริบททางประวัติศาสตร์บางอย่างสำหรับวิธีการ - กาลครั้งหนึ่ง URL เป็นบิตที่ไม่ยืดหยุ่นและอ้างถึงหน้าเว็บบนดิสก์อย่างง่ายดังนั้นวิธีนี้จึงมีประโยชน์เพราะอนุญาตให้ไคลเอนต์อธิบายความตั้งใจที่มีสำหรับไฟล์และเซิร์ฟเวอร์จะ ประมวลผลวิธีการในวิธีที่แตกต่างกันบางอย่าง ไม่มีความคิดเกี่ยวกับ URL ที่เป็นเสมือนหรือใช้สำหรับการสลับหรือการแมปในวิสัยทัศน์ดั้งเดิมของไฮเปอร์เท็กซ์ (และจริงๆแล้วมันเป็นข้อความเท่านั้น) เว็บ
ฉันไม่ได้ตั้งใจที่จะให้คำตอบนี้เป็นเอกสารบันทึกทางประวัติศาสตร์ที่มีวันที่และอ้างถึงการอ้างอิงที่แน่นอนว่าเมื่อสิ่งต่าง ๆ เริ่มเปลี่ยนแปลง - เพราะคุณสามารถอ่านวิกิพีเดียได้ - แต่ก็เพียงพอแล้วที่จะบอกว่าเมื่อเวลาผ่านไป เว็บจะมีการรวมตัวกันมากขึ้นและในตอนท้ายของการเชื่อมต่อเซิร์ฟเวอร์ไคลเอนต์โอกาสในการสร้างประสบการณ์มัลติมีเดียที่เรากำลังขยาย เบราว์เซอร์รองรับการเพิ่มจำนวนมากของแท็กสำหรับการจัดรูปแบบเนื้อหาแต่ละการแข่งขันเพื่อใช้คุณสมบัติความร่ำรวยของสื่อที่ต้องมีและวิธีการใหม่ในการทำให้สิ่งต่าง ๆ ดูน่าสะพรึงกลัว
การเขียนสคริปต์มาถึงจุดสิ้นสุดของไคลเอ็นต์และปลั๊กอินและส่วนขยายของเบราว์เซอร์ซึ่งมีจุดประสงค์เพื่อทำให้เบราว์เซอร์เป็นแหล่งพลังงานที่มีความสามารถอย่างมากในทุกสิ่ง ในตอนท้ายเซิร์ฟเวอร์การสร้างเนื้อหาที่ใช้งานบนพื้นฐานของอัลกอริทึมหรือฐานข้อมูลเป็นสิ่งที่ผลักดันอย่างใหญ่หลวงและมันก็ยังคงพัฒนาต่อไปจนอาจมีไฟล์บนดิสก์น้อยมาก - แน่นอนว่าเราเก็บรูปภาพหรือไฟล์สคริปต์ไว้เป็นไฟล์ เว็บเซิร์ฟเวอร์และให้เบราว์เซอร์รับมัน แต่ภาพที่เบราว์เซอร์แสดงและสคริปต์ที่ทำงานนั้นไม่ใช่ไฟล์ที่คุณสามารถเปิดใน file explorer ของคุณได้พวกเขากำลังสร้างเนื้อหาที่เป็นผลลัพธ์ของกระบวนการรวบรวมบางอย่างที่ทำได้ตามความต้องการ , SVG ที่อธิบายวิธีการวาดพิกเซลแทนที่จะเป็นบิตแมปอาเรย์พิกเซลหรือ JavaScript ที่ถูกปล่อยออกมาจากรูปแบบสคริปต์ระดับสูงกว่าเช่น TypeScript
ในการทำหน้าหลายเมกะไบต์ที่ทันสมัยอาจเป็นเพียงส่วนหนึ่งของมันตอนนี้เนื้อหาคงที่ในดิสก์; ข้อมูลฐานข้อมูลถูกจัดรูปแบบและจัดทำเป็น html ที่เบราว์เซอร์จะใช้งานและดำเนินการโดยเซิร์ฟเวอร์เพื่อตอบสนองการเขียนโปรแกรมที่แตกต่างกันหลายครั้งที่มีการอ้างอิงในทางใดทางหนึ่งโดย url
ฉันพูดถึงความคิดเห็นในคำถามว่ามันเป็นเหมือนวงกลมเต็ม ย้อนกลับไปเมื่อคอมพิวเตอร์มีค่าใช้จ่ายหลายแสนห้องและเต็มไปด้วยเป็นเรื่องธรรมดาที่จะอนุญาตให้ผู้ใช้หลายคนใช้เมนเฟรมกลางอันทรงพลังอันยิ่งใหญ่โดยใช้เทอร์มินัลโง่จำนวนมาก - กระดานหลักและเมาส์หน้าจอสีเขียวส่งข้อความเข้า ข้อความออก เมื่อเวลาผ่านไปเมื่อพลังในการคำนวณเพิ่มขึ้นและราคาลดลงผู้คนก็เริ่มลงเอยด้วยคอมพิวเตอร์ตั้งโต๊ะที่ทรงพลังกว่าเมนเฟรมรุ่นแรก ๆ และความสามารถในการใช้งานแอพที่ทรงพลังในประเทศทำให้รุ่นเมนเฟรมล้าสมัย มันไม่เคยหายไปไหนเพราะสิ่งต่าง ๆ เพิ่งจะเปลี่ยนไปอีกทางและกลับไปที่เซิร์ฟเวอร์กลางที่ให้ประโยชน์การใช้งานแอพที่มีประโยชน์ส่วนใหญ่และคอมพิวเตอร์ไคลเอนต์ร้อยเครื่องที่ทำได้น้อยมากยกเว้นการวาดบนหน้าจอ และส่งและรับข้อมูลไปยัง / จากเซิร์ฟเวอร์ ในช่วงเวลาระหว่างกาลที่คอมพิวเตอร์ของคุณฉลาดพอที่จะเรียกใช้สำเนาคำและมุมมองในเวลาเดียวกันได้ให้ทางสำนักงานออนไลน์อีกครั้งซึ่งเบราว์เซอร์ของคุณเป็นอุปกรณ์สำหรับการวาดภาพบนหน้าจอและแก้ไขเอกสาร / อีเมลของคุณ กำลังเขียนเป็นสิ่งที่มีชีวิตอยู่บนเซิร์ฟเวอร์จะถูกบันทึกไว้ที่นั่นส่งและแชร์กับผู้ใช้คนอื่น ๆ ทั้งหมดเนื่องจากความคิดที่ว่าเบราว์เซอร์เป็นเพียงเชลล์ที่ให้มุมมองบางส่วน ณ เวลาใด ๆ ของสิ่งนี้ที่อาศัยอยู่ที่อื่น
จากคำตอบฉันเข้าใจว่าทำไมแนวคิดของวิธีการถึงอยู่ตรงนั้น .. นี่นำไปสู่คำถามอื่นที่เกี่ยวข้อง:
ตัวอย่างเช่นในลิงก์การเขียน gmail คำขอ PUT / POST และข้อมูลจะถูกส่ง เบราว์เซอร์จะรู้ได้อย่างไรว่าจะใช้วิธีใด
มันใช้ GET โดยค่าเริ่มต้นโดยการประชุม / ข้อมูลจำเพาะที่เป็นสิ่งที่ลดลงจะเกิดขึ้นเมื่อคุณพิมพ์ URL และกดกลับ
หน้า gmail ที่ส่งโดยเซิร์ฟเวอร์มีชื่อวิธีที่จะใช้เมื่อโทร gmail เขียนคำขอหรือไม่
นี่คือหนึ่งในสิ่งสำคัญที่ฉันพูดถึงในความคิดเห็นข้างต้น ในเว็บสมัยใหม่มันไม่ได้เกี่ยวกับหน้าเว็บอีกต่อไป เมื่อหน้าเป็นไฟล์บนดิสก์เบราว์เซอร์จะได้รับ จากนั้นพวกเขากลายเป็นหน้าเว็บที่สร้างขึ้นแบบไดนามิกโดยการ slotting ข้อมูลลงในเทมเพลต แต่ก็ยังเกี่ยวข้องกับ "ขอหน้าใหม่จากเซิร์ฟเวอร์รับหน้ากระบวนการแสดงหน้า" การสลับหน้าเรียบเนียนจริงๆ คุณไม่เห็นพวกเขาโหลดและปรับขนาดและเหวี่ยงเลเยอร์ของพวกเขาดังนั้นมันจะราบรื่นกว่า แต่ก็ยังคงเป็นเบราว์เซอร์ที่แทนที่หน้าทั้งหมดหรือบางส่วนของหน้าด้วยอีกอันหนึ่ง
วิธีการที่ทันสมัยในการทำสิ่งต่าง ๆ คือด้วยแอปพลิเคชันหน้าเดียว เบราว์เซอร์มีเอกสารในหน่วยความจำที่แสดงในลักษณะที่แน่นอนสคริปต์การโทรไปยัง theerverv และรับข้อมูลบางส่วนกลับมาและจัดการเอกสารเพื่อให้ส่วนหนึ่งของหน้าเปลี่ยนการมองเห็นเพื่อแสดงข้อมูลใหม่โดยไม่ต้องทำงาน เบราว์เซอร์เคยโหลดหน้าใหม่อีกครั้ง มันเพิ่งกลายเป็น UI ที่บางส่วนของมันอัปเดตเหมือนแอพไคลเอนต์ทั่วไปเช่น word หรือ outlook องค์ประกอบใหม่จะปรากฏที่ด้านบนขององค์ประกอบอื่น ๆ และสามารถลากไปรอบ ๆ หน้าต่างข้อความจำลองเป็นต้นทั้งหมดนี้คือเครื่องมือสร้างสคริปต์ของเบราว์เซอร์ที่ส่งคำขอโดยใช้วิธี http ที่นักพัฒนาต้องการรับข้อมูลกลับมา คุณสามารถเข้าใจว่าเบราว์เซอร์ที่ทันสมัยเป็นอุปกรณ์ที่ยอดเยี่ยมซึ่งเป็นเหมือนระบบปฏิบัติการทั้งหมดหรือคอมพิวเตอร์เสมือน อุปกรณ์ที่ตั้งโปรแกรมได้ซึ่งมีวิธีการที่เป็นมาตรฐานในการวาดภาพบนหน้าจอเล่นเสียงจับภาพอินพุตของผู้ใช้และส่งไปประมวลผล สิ่งที่คุณต้องทำเพื่อให้วาด UI ของคุณคือให้ html / css ที่ทำให้ UI นั้นปรับแต่ง html อย่างต่อเนื่องเพื่อให้เบราว์เซอร์เปลี่ยนสิ่งที่กำลังวาด Heck ผู้คนเคยชินกับการเห็นแถบที่อยู่เปลี่ยน / ใช้เป็นทิศทางของเจตนาที่แอพหน้าเดียวจะเปลี่ยน url โดยทางโปรแกรมแม้ว่าจะไม่มีการนำทาง (ขอหน้าใหม่ทั้งหมด) สิ่งที่คุณต้องทำเพื่อให้วาด UI ของคุณคือให้ html / css ที่ทำให้ UI นั้นปรับแต่ง html อย่างต่อเนื่องเพื่อให้เบราว์เซอร์เปลี่ยนสิ่งที่กำลังวาด Heck ผู้คนเคยชินกับการเห็นแถบที่อยู่เปลี่ยน / ใช้เป็นทิศทางของเจตนาที่แอพหน้าเดียวจะเปลี่ยน url โดยทางโปรแกรมแม้ว่าจะไม่มีการนำทาง (ขอหน้าใหม่ทั้งหมด) สิ่งที่คุณต้องทำเพื่อให้วาด UI ของคุณคือให้ html / css ที่ทำให้ UI นั้นปรับแต่ง html อย่างต่อเนื่องเพื่อให้เบราว์เซอร์เปลี่ยนสิ่งที่กำลังวาด Heck ผู้คนเคยชินกับการเห็นแถบที่อยู่เปลี่ยน / ใช้เป็นทิศทางของเจตนาที่แอพหน้าเดียวจะเปลี่ยน url โดยทางโปรแกรมแม้ว่าจะไม่มีการนำทาง (ขอหน้าใหม่ทั้งหมด)
เมื่อเราเรียก www.gmail.com ต้องใช้วิธีการ GET เบราว์เซอร์รู้ได้อย่างไรว่าวิธีนี้ใช้
จริง เพราะมันถูกระบุ คำขอแรกคือตามที่เคยมีมาเสมอ - รับ html เริ่มต้นบางอย่างเพื่อวาด UI จากนั้นก็กระตุ้นและจัดการมันตลอดไปหรือรับหน้าอื่นด้วยสคริปต์อื่นที่กระตุ้นและจัดการและสร้าง UI ที่ตอบสนองต่อการตอบสนอง
ดังที่คำตอบบางคำบอกเราสามารถสร้างผู้ใช้ใหม่บนวิธีการลบแล้วทำให้เกิดคำถามว่าเจตนาเบื้องหลังความคิดของวิธีการในโปรโตคอล http เพราะในตอนท้ายของวันนั้นทั้งหมดขึ้นอยู่กับเซิร์ฟเวอร์ที่ฟังก์ชั่นที่พวกเขาต้องการแมป URL . ทำไมลูกค้าควรบอกเซิร์ฟเวอร์ว่าวิธีใดที่จะใช้สำหรับ URL
ประวัติศาสตร์ มรดก ในทางทฤษฎีเราสามารถโยนวิธี http ทั้งหมดออกในวันพรุ่งนี้ - เราอยู่ในระดับความซับซ้อนของการเขียนโปรแกรมที่เมธอดล้าสมัยเนื่องจาก URL สามารถประมวลผลได้ในระดับที่พวกเขาสามารถเป็นกลไกการสลับที่บ่งชี้ไปยังเซิร์ฟเวอร์ที่คุณต้องการบันทึกข้อมูลใน เนื้อความเป็นแบบร่างอีเมลหรือลบแบบร่าง - ไม่มีไฟล์ / อีเมล / แบบร่าง / บันทึก / 1234 บนเซิร์ฟเวอร์ - เซิร์ฟเวอร์ถูกตั้งโปรแกรมให้เลือก URL ที่แยกออกจากกันและรู้ว่าจะทำอย่างไรกับข้อมูลร่างกาย - บันทึก เป็นอีเมลฉบับร่างภายใต้รหัส 1234
ดังนั้นจึงเป็นไปได้ที่จะกำจัดด้วยวิธีการยกเว้นความเข้ากันได้แบบดั้งเดิมที่มีน้ำหนักมากที่เติบโตรอบตัวพวกเขา มันจะดีกว่าที่จะใช้พวกเขาในสิ่งที่คุณต้องการ แต่ส่วนใหญ่ไม่สนใจพวกเขาและใช้สิ่งที่คุณต้องการเพื่อให้สิ่งที่คุณทำงาน เรายังคงต้องใช้วิธีการที่ได้รับการรับรองเนื่องจากคุณต้องจำไว้ว่าสิ่งเหล่านั้นมีความหมายต่อเบราว์เซอร์และเซิร์ฟเวอร์ที่เราได้สร้างแอพขึ้นมา สคริปต์ฝั่งไคลเอ็นต์ต้องการใช้เบราว์เซอร์ต้นแบบเพื่อส่งข้อมูลจำเป็นต้องใช้วิธีที่จะทำให้เบราว์เซอร์ทำตามที่ถาม - อาจเป็น POST เนื่องจาก GET จะบรรจุข้อมูลตัวแปรทั้งหมดลงใน URL และมีขีดจำกัดความยาว ในเซิร์ฟเวอร์จำนวนมาก ลูกค้าต้องการการตอบสนองที่ยาวนานจากเซิร์ฟเวอร์ - อย่าใช้ HEAD เพราะพวกเขาไม่ควรจะมีเนื้อหาตอบสนองเลย