Basic Http Request part 1

Mister Nay
2 min readNov 26, 2017

--

credit: https://qph.ec.quoracdn.net/main-qimg-c159063cf9595d3b99cc2bbf0ad6aa08

ในพาทนี้จะ อธิบายตัว Http Request นะครับ (ตามที่ผู้เขียนเข้าใจนะครับ) :)

มาเริ่มกันเลย

อะไรคือ Http Request

  • คือการส่งคำขอไปยังเชิิฟเวอร์เพื่อต้องการข้อมูล โดยจากฝั่ง Client ไปยังฝั่ง Server เพื่อให้ส่งข้อมูลที่ต้องการกลับมา
  • เช่น Client ต้องการ หน้า home.html ก็จะส่งคำขอ GET /home -> ไปที่เชิฟเวอร์ แล้วตอบกลับเป็น home.html ออกมา
  • โดยจะมีวิธีการเขียนหลากหลายตาม ภาษาที่เขียน แต่จะมีลักษณะคล้ายกัน

โครงสร้าง ของ Http Request

credit: https://2.bp.blogspot.com/-ATf_71UvxkI/V6iZSnciLLI/AAAAAAAAAfg/FyeGcATjy2UTUiwDT0nRFeB99Mqs1CagQCLcB/s1600/http-14-638.jpg

จะประกอบไปด้วย 2 ส่วน หลักๆ คือ Header [ส่วนหัว] และ Body [เนื้อหา]

Header คือ ส่วนคำร้องขอ ซึ่งรายละเอียดต่างๆจะถูกระบุในนี้ทั้งหมด

Body คือ ส่วนของเนื้อหา ในส่วนของ Request จะเรียกว่า Payload

ส่วนประกอบของ Header

  • URL จะเป็นส่วนของ part ที่เราต้องการ request เช่น www.google.com
  • METHOD จะมี GET PUT POST และ DELETE
  • CONTENT-TYPE จะบอกถึง ประเภทของ payload
  • CONTENT-LENGTH ขนาดของ Payload
  • และจะมีส่วนอื่นๆอีก สามารถดูเพิ่มเติมได้ที่ >LINK<

สิ่งที่จำเป็นต้องรู้

Http Status Code

credit: https://codeteddycom.files.wordpress.com/2017/06/statuscode.png?w=1109

เพิ่มเติมได้ที่ >LINK< จะได้ตอนเชิฟเวอร์ (response)

  • 2xx การร้องขอสำเร็จ เช่น 200 คือคำร้องขอสำเร็จ
  • 3xx การเปลี่ยนทาง เช่น กรณี POST /login 302 เจอข้อมูล ก็จะทำการเปลี่ยนหน้า home หรือ index ต่อไป
  • 4xx ความผิดพลาดจากเครื่องลูกข่าย เช่น 404 เมื่อไม่เจอข้อมูล
  • 5xx ความผิดพลาดจากเครื่องแม่ข่าย เช่น 502 Bad Gateway

Http Request Method

มี 4 Methods ที่สำคัญ คือ GET PUT POST และ DELETE

http://www.computing.dcu.ie/~humphrys/Notes/Networks/tanenbaum/7-41.jpg
  • GET คือ คำร้องขอ เช่น มีปุ่ม กด ไป จะได้ หน้าเว็บใหม่ [ GET /home.html ]
  • POST จะเป็นการส่งข้อมูลกลับไปหาแหล่งข้อมูลที่มีอยู่แล้ว [POST /login ]
  • PUT จะคล้าย POST แต่จะเป็นการแก้ไขข้อมูล
  • DELETE จะเป็นการลบข้อมูล [DELETE /user?id=1]

สำหรับพาทนี้ขอจบเท่านี้นะครับ :)

พาทต่อไปจะเป็นการทดลองทำจริงนะครับ โดยจะเริ่มด้วย ภาษา Python นะครับ :)

แหล่งข้อมูลเพิ่มเติม

http://rve.org.uk/dumprequest

--

--

No responses yet