เกือบทุกอย่างที่คุณเห็นในเบราว์เซอร์จะถูกส่งไปยังคอมพิวเตอร์ของคุณผ่านโปรโตคอล HTTP ตัวอย่างเช่น เมื่อคุณเปิดหน้าบทความนี้ เบราว์เซอร์ของคุณส่งคำขอ HTTP จำนวนมาก ( Request ) และได้รับการตอบกลับจำนวนมาก ( Response )

ส่วนหัว HTTP ( Header ) เป็นส่วนสำคัญของคำขอและการตอบสนอง HTTP เหล่านี้ ซึ่งสื่อถึงข้อมูลเกี่ยวกับเบราว์เซอร์ของลูกค้า เพจที่ร้องขอ เซิร์ฟเวอร์ ฯลฯ

ในบทช่วยสอนนี้ เราจะแสดงวิธีรับข้อมูลที่คุณต้องการจาก Request Headers บทช่วยสอนนี้จะแนะนำวิธีการรับข้อมูลที่เราสนใจจากส่วนหัวของคำขอ ( ส่วนหัวของ Request Headers ) และตั้งค่าบางอย่างให้กับส่วนหัวการตอบสนองที่จำเป็น ( ส่วนหัวของ Response Headers )

วิธีที่ง่ายที่สุดในการรับข้อมูลเกี่ยวกับเนื้อหาของ Request Headers คือการดำเนินการตามคำขอในแอปพลิเคชันที่เผยแพร่

  • ไปที่เครื่องมือสำหรับนักพัฒนา ( F12 )
  • สลับไปที่แท็บ Networks
  • การเลือกคำขอที่ส่งจากรายการ
  • สลับไปที่แท็บ Headers และค้นหา Request Headers

1_f12

วิธีใช้ AppMaster เพื่อโต้ตอบกับส่วนหัวการตอบกลับคำขอ

ในตัวออกแบบแบ็คเอนด์ AppMaster คุณสามารถรับข้อมูลส่วนหัวของคำขอได้หากระบุชื่อไว้ในบล็อกกระบวนการทางธุรกิจ รับ Get Request Headers

2_getRequestHeaders

  • Name [ string ] - ชื่อส่วนหัว;
  • Value [ string ] - ค่าของส่วนหัว;

หากต้องการเพิ่ม Header ที่กำหนดเองในการตอบกลับ - จะใช้บล็อก Set Response Header

3_setResponseHeaders

  • Name [ สตริง ] - ชื่อส่วนหัว;
  • Value [ string ] - ค่าของส่วนหัว;

มี Request Headers อยู่มากมาย แต่มีบางส่วนที่อธิบายไว้ด้านล่าง (ข้อมูลนำมาจาก https://www.w3.org/Protocols/HTTP/HTRQ_Headers.html ):

  • From - ในรูปแบบ Internet mail ระบุชื่อผู้ใช้ที่ร้องขอ ฟิลด์นี้อาจใช้เพื่อวัตถุประสงค์ในการบันทึกและรูปแบบการป้องกันการเข้าถึงที่ไม่ปลอดภัย การตีความของฟิลด์นี้คือคำขอกำลังดำเนินการในนามของบุคคลที่ได้รับ ซึ่งยอมรับความรับผิดชอบสำหรับวิธีการดำเนินการ ที่อยู่อินเทอร์เน็ตเมลในฟิลด์นี้ไม่จำเป็นต้องตรงกับโฮสต์อินเทอร์เน็ตที่ออกคำขอ (ตัวอย่างเช่น เมื่อส่งคำขอผ่านเกตเวย์ ควรใช้ที่อยู่ของผู้ออกต้นฉบับ) ถ้าเป็นไปได้ ที่อยู่อีเมลควรเป็นที่อยู่อีเมลที่ถูกต้อง ไม่ว่าในความเป็นจริงแล้วจะเป็นที่อยู่อีเมลอินเทอร์เน็ตหรือจดหมายทางอินเทอร์เน็ตที่เป็นตัวแทนของที่อยู่ในระบบจดหมายอื่นก็ตาม
  • Accept - ฟิลด์นี้มีรายการรูปแบบการแสดงที่คั่นด้วยเครื่องหมายอัฒภาค (ค่า metaformation Content-Type ) ซึ่งจะได้รับการยอมรับในการตอบกลับคำขอนี้ แน่นอนว่าชุดที่กำหนดอาจแตกต่างกันไปในแต่ละคำขอจากผู้ใช้รายเดียวกัน
    ตัวอย่าง:
    ยอมรับ: ข้อความ/ธรรมดา ข้อความ/html
    ยอมรับ: ข้อความ/x-dvi; คิว=.8; mxb=100,000; mxt=5.0, ข้อความ/xc
  • Accept-Encoding - คล้ายกับ ยอมรับ แต่แสดงรายการประเภท การเข้ารหัสเนื้อหา ที่ยอมรับได้ในการตอบกลับ
    ตัวอย่าง:
    ยอมรับการเข้ารหัส: x-compress; x-ซิป
  • Referer - ฟิลด์ส่วนหัวที่ไม่บังคับนี้อนุญาตให้ไคลเอ็นต์ระบุที่อยู่ ( URI ) ของเอกสาร (หรือองค์ประกอบภายในเอกสาร) ซึ่งได้รับ URI ในคำขอ เพื่อประโยชน์ของเซิร์ฟเวอร์ ซึ่งช่วยให้เซิร์ฟเวอร์สร้างรายการลิงก์ย้อนกลับไปยังเอกสาร ความสนใจ การบันทึก ฯลฯ ช่วยให้สามารถติดตามลิงก์ที่ไม่ดีเพื่อการบำรุงรักษาได้ หากได้รับ URI บางส่วน ก็ควรแยกวิเคราะห์โดยสัมพันธ์กับ URI ของออบเจกต์ของคำขอ
    ตัวอย่าง:
    ผู้อ้างอิง: http://www.w3.org/hypertext/DataSources/Overview.html
  • Authorization - หากมีบรรทัดนี้ แสดงว่ามีข้อมูลการอนุญาต รูปแบบเป็นแบบระบุ (TBS) รูปแบบของฟิลด์นี้อยู่ในรูปแบบที่ขยายได้ คำแรกคือข้อกำหนดของระบบการอนุญาตที่ใช้งานอยู่
    ตัวอย่าง:
    การอนุญาต: Bearer BtHKEsVs5mNNtNf7UWoVwjJzFqLOzucA
  • Accept-Language - คล้ายกับ ยอมรับ แต่แสดงรายการค่าภาษาที่ต้องการในการตอบกลับ การตอบกลับในภาษาที่ไม่ได้ระบุจะไม่ผิดกฎหมาย
  • User-Agent - ถ้ามีบรรทัดนี้จะแสดงโปรแกรมซอฟต์แวร์ที่ไคลเอ็นต์เดิมใช้ นี่เป็นเพื่อวัตถุประสงค์ทางสถิติและการติดตามการละเมิดโปรโตคอล มันควรจะรวมอยู่ด้วย คำแรกที่คั่นด้วยช่องว่างสีขาวต้องเป็นชื่อผลิตภัณฑ์ซอฟต์แวร์ โดยมีเครื่องหมายทับและตัวกำหนดเวอร์ชันให้เลือก ผลิตภัณฑ์อื่น ๆ ที่เป็นส่วนหนึ่งของตัวแทนผู้ใช้อาจใส่เป็นคำแยกต่างหาก
    ตัวอย่าง:
    ตัวแทนผู้ใช้: LII-Cello/1.0 libwww/2.5

ตัวอย่าง Response Headers :

  • Allowed - แสดงชุดคำขอที่ผู้ใช้ที่ร้องขอได้รับอนุญาตให้ออกสำหรับ URL นี้ หากข้ามบรรทัดส่วนหัวนี้ วิธีการเริ่มต้นที่อนุญาตคือ " GET HEAD "
  • Public - ตามที่ อนุญาต แต่แสดงคำขอเหล่านั้นที่ทุกคนอาจใช้ หากละเว้น ค่าเริ่มต้นคือ " GET " เท่านั้น
  • Content-Length - บอกเป็นนัยว่าเนื้อหาเป็นไบนารีและควรอ่านโดยตรงจากลิงก์การสื่อสาร โดยไม่ต้องแยกวิเคราะห์บรรทัด ฯลฯ เมื่อข้อมูลเป็นส่วนหนึ่งของคำขอ ป้องกันการหลบหนีและยกเลิกการหลบหนีของลำดับการสิ้นสุด
  • Content-Encoding - ระบุกลไกการเข้ารหัสที่ใช้ ปัจจุบันใช้เฉพาะ x-compress และ x-gzip
  • Content-Type - ระบุประเภทเอกสาร
  • Content-Length - บอกเป็นนัยว่าเนื้อหาเป็นไบนารีและควรอ่านโดยตรงจากลิงก์การสื่อสาร โดยไม่ต้องแยกวิเคราะห์บรรทัด ฯลฯ เมื่อข้อมูลเป็นส่วนหนึ่งของคำขอ ป้องกันการหลบหนีและยกเลิกการหลบหนีของลำดับการสิ้นสุด
  • Last-Modified - แก้ไขอ็อบเจกต์ครั้งล่าสุด เช่น วันที่ของเวอร์ชันนี้ หากเอกสารเป็น "เอกสารที่มีชีวิต"

มาดูตัวอย่างการรับ IP ของผู้ใช้และค่า คุกกี้ ของผู้ใช้จาก ส่วนหัวของคำขอ
ในการรับ IP ของผู้ใช้จะใช้ x-real-ip ส่วนหัวคำขอ คุกกี้ ให้ข้อมูลโทเค็นคุกกี้

BP มีลักษณะดังนี้:

bp

ในขั้นตอนต่อไป จะต้องสร้างจุดสิ้นสุดสำหรับ BP นี้

endpoint

UI มีลักษณะดังนี้:

ui

ในที่สุดผลลัพธ์จะแสดงด้านล่าง ผู้ใช้จะได้รับข้อมูลจากส่วนหัวเมื่อคลิกปุ่ม (ทริกเกอร์ onClick ในเวิร์กโฟลว์ของปุ่ม) และ ชื่อของป้ายกำกับ จะได้รับการอัปเดตด้วยข้อมูลนี้ ( คุณสมบัติการอัปเดตป้ายกำกับ )

result

Was this article helpful?

AppMaster.io 101 หลักสูตรความผิดพลาด

10 โมดูล
2 สัปดาห์ที่ผ่านมา

ไม่แน่ใจว่าจะเริ่มต้นที่ไหน? เริ่มต้นด้วยหลักสูตรเร่งรัดสำหรับผู้เริ่มต้นและสำรวจ AppMaster จาก A ถึง Z

เริ่มหลักสูตร
Development it’s so easy with AppMaster!

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่?

แก้ปัญหาด้วยความช่วยเหลือจากผู้เชี่ยวชาญของเรา ประหยัดเวลาและมุ่งเน้นที่การสร้างแอปพลิเคชันของคุณ

headphones

ติดต่อฝ่ายสนับสนุน

บอกเราเกี่ยวกับปัญหาของคุณ แล้วเราจะหาทางแก้ไขให้คุณ

message

ชุมชนแชท

สนทนาคำถามกับผู้ใช้รายอื่นในการแชทของเรา

เข้าร่วมชุมชน