ตัวแยกวิเคราะห์คุกกี้ HTTP

HTTP Cookie Parser

แยกวิเคราะห์ส่วนหัวคุกกี้ที่ส่งจากเบราว์เซอร์ ดูคู่คีย์-ค่า การเข้ารหัส URL และชื่อที่ซ้ำกันได้อย่างรวดเร็ว

ผลการแยกวิเคราะห์

4 คุกกี้
#1session
ค่าเดิม: abc123
ค่าที่ถอดรหัสแล้ว: abc123
#2theme
ค่าเดิม: dark
ค่าที่ถอดรหัสแล้ว: dark
#3locale
ค่าเดิม: zh-CN
ค่าที่ถอดรหัสแล้ว: zh-CN
#4callback
ค่าเดิม: https%3A%2F%2Fgeekformat.com%2Fdone
ค่าที่ถอดรหัสแล้ว: https://geekformat.com/done

ตัวอย่าง JSON

[
  {
    "index": 0,
    "raw": "session=abc123",
    "name": "session",
    "value": "abc123",
    "decodedValue": "abc123"
  },
  {
    "index": 1,
    "raw": "theme=dark",
    "name": "theme",
    "value": "dark",
    "decodedValue": "dark"
  },
  {
    "index": 2,
    "raw": "locale=zh-CN",
    "name": "locale",
    "value": "zh-CN",
    "decodedValue": "zh-CN"
  },
  {
    "index": 3,
    "raw": "callback=https%3A%2F%2Fgeekformat.com%2Fdone",
    "name": "callback",
    "value": "https%3A%2F%2Fgeekformat.com%2Fdone",
    "decodedValue": "https://geekformat.com/done"
  }
]

ออกแบบมาเพื่อแยกส่วนหัวคำขอคุกกี้โดยเฉพาะ ไม่คาดเดาแอตทริบิวต์ ตอบแค่ว่า "คำขอนี้ส่งอะไรมาจริง"

คำแนะนำที่เกี่ยวข้อง

ตัวแยกวิเคราะห์คุกกี้ HTTP คืออะไร

ตัวแยกวิเคราะห์คุกกี้ HTTP คือเครื่องมือดีบั๊กที่ออกแบบมาสำหรับส่วนหัวคำขอ `Cookie:` และสตริง `document.cookie` ปัญหาหลักที่แก้ไขไม่ใช่ "คุกกี้คืออะไร" แต่เป็นสถานการณ์จริงที่นักพัฒนา วิศวกรทดสอบ วิศวกรรวบรวมข้อมูลเว็บ และเจ้าหน้าที่ปฏิบัติการพบบ่อยที่สุดระหว่างการปรับแต่ง: เบราว์เซอร์ส่งคุกกี้ใดมาจริง ค่าคุกกี้ใดค่าหนึ่งเข้ารหัส URL หรือไม่ มีคุกกี้ชื่อเดียวกันหรือไม่ และจะคัดลอกส่วนหัวคุกกี้ปัจจุบันไปยัง curl, Postman หรือสคริปต์เพื่อจำลองปัญหาได้อย่างไร

แตกต่างจากส่วนหัวตอบกลับ `Set-Cookie` คุกกี้ในส่วนหัวคำขอ HTTP เป็นรายการ `name=value` แบบแบน มันบอกคุณแค่ว่า "สิ่งที่ส่งมาจริงในคำขอปัจจุบันคืออะไร" จะไม่มีข้อมูลแอตทริบิวต์ เช่น SameSite, HttpOnly, Secure, Path, Domain, Expires, Max-Age ด้วยเหตุนี้ เมื่อคุณตรวจสอบว่า "เหตุใดอินเทอร์เฟซจึงไม่รู้จักสถานะล็อกอิน" "คุกกี้ใดที่ขาดหายไปในคำขอเบราว์เซอร์" "เหตุใดค่าใน document.cookie จึงดูเหมือนอักขระสุ่ม" ตัวแยกวิเคราะห์ส่วนหัวคำขอจะตรงไปตรงมากว่าเครื่องมือคุกกี้ทั่วไป

การนำไปใช้งานระดับต่ำที่พบบ่อยที่สุดของเครื่องมือประเภทนี้คือการเรนเดอร์สตริงทีละรายการหลังจาก `split(';')` อย่างง่าย แต่ในการดีบั๊กจริง การแยกแค่นั้นยังไม่พอ คุณยังต้องทราบ: ค่าผ่านการเข้ารหัส URL หรือไม่ มีชื่อซ้ำหรือไม่ เนื้อหาส่วนหัวที่เป็นมาตรฐานสามารถคัดลอกโดยตรงได้หรือไม่ และผลลัพธ์การแยกวิเคราะห์สามารถนำกลับมาใช้ใหม่โดยสคริปต์หรือเอกสารได้หรือไม่ หน้าปัจจุบันออกแบบมาตามการทำงานจริงของนักพัฒนาเหล่านี้

หากสิ่งที่คุณต้องการดูไม่ใช่ "สิ่งที่ส่งมาในคำขอ" แต่เป็น "เหตุใด Set-Cookie ที่เซิร์ฟเวอร์ส่งจึงถูกเบราว์เซอร์ปฏิเสธ" คุณไม่ควรอยู่ที่หน้านี้ แต่ควรไปที่「ตัวแยกวิเคราะห์ Set-Cookie」ที่เหมาะกว่าสำหรับตรวจสอบแอตทริบิวต์ส่วนหัวตอบกลับ ดังนั้น ตำแหน่งของเครื่องมือนี้ชัดเจนมาก: มันคือดีบักเกอร์ส่วนหัวคำขอคุกกี้ / document.cookie ไม่ใช่ผู้ตรวจสอบแอตทริบิวต์ส่วนหัวตอบกลับ

กรณีการใช้งาน

  • เมื่อตรวจสอบการสูญเสียสถานะล็อกอินหรือความผิดปกติของเซสชัน ให้ตรวจสอบว่าส่วนหัวคำขอส่งคุกกี้ใดมาจริง
  • เมื่อดีบั๊กคุกกี้ที่เข้ารหัส URL ให้เปรียบเทียบค่าจริงและค่าถอดรหัสเพื่อยืนยันเนื้อหาที่แท้จริง
  • ตรวจสอบว่าคุกกี้หลายรายการที่มีชื่อเดียวกันทำให้การประมวลผลของเบราว์เซอร์หรือเซิร์ฟเวอร์ผิดปกติหรือไม่
  • ทำให้ส่วนหัวคุกกี้ในเบราว์เซอร์เป็นมาตรฐานอย่างรวดเร็ว แล้วคัดลอกไปยัง Postman, curl หรือสคริปต์เพื่อจำลองคำขอ
  • วิเคราะห์ผลลัพธ์ document.cookie ยืนยันชุดคุกกี้ที่ฝั่งหน้าบ้านมองเห็นในขณะนี้

วิธีการใช้งาน

  1. วางส่วนหัวคำขอคุกกี้หรือสตริง document.cookie ลงในพื้นที่อินพุต
  2. ดูชื่อ ค่าจริง และค่าถอดรหัส URL ของแต่ละคุกกี้
  3. ยืนยันว่ามีการแจ้งเตือนชื่อซ้ำและผลลัพธ์ส่วนหัวคุกกี้มาตรฐานหรือไม่
  4. คัดลอกส่วนหัวคุกกี้มาตรฐานหรือดูตัวอย่าง JSON เพื่อดีบั๊กต่อ

คุณสมบัติ

  • แยกหลายคุกกี้อัตโนมัติ: แยกวิเคราะห์ทีละรายการตามอัฒภาคจากส่วนหัวคำขอคุกกี้และสตริง document.cookie
  • แสดงค่าคู่: แสดงค่าจริงและค่าถอดรหัส URL พร้อมกัน ค้นหาปัญหาการเข้ารหัสได้อย่างรวดเร็ว
  • ตรวจจับชื่อซ้ำ: ระบุคุกกี้ชื่อเดียวกันโดยอัตโนมัติและแจ้งเตือนความขัดแย้งที่อาจเกิดขึ้น
  • ผลลัพธ์มาตรฐาน: คัดลอกส่วนหัวคำขอคุกกี้ที่ทำให้เป็นมาตรฐานแล้วในคลิกเดียว ช่วยให้ดีบั๊กอินเทอร์เฟซต่อได้ง่าย
  • ดูตัวอย่าง JSON: แสดงผลลัพธ์การแยกวิเคราะห์แบบมีโครงสร้างเพื่อให้สคริปต์ ล็อก หรือเครื่องมือทดสอบใช้งาน
  • ประมวลผลในเครื่อง: เนื้อหาอินพุตแยกวิเคราะห์ภายในเบราว์เซอร์เท่านั้น ไม่อัปโหลดไปยังเซิร์ฟเวอร์

จะเลือกระหว่างหน้านี้กับเครื่องมือคุกกี้อีกสองตัวอย่างไร

ดูก่อนว่าสิ่งที่คุณมีคือส่วนหัวคำขอ document.cookie หรือส่วนหัวตอบกลับ Set-Cookie จากเซิร์ฟเวอร์ แล้วค่อยตัดสินใจว่าจะใช้หน้าไหน

เครื่องมืออินพุตที่เหมาะสมสถานการณ์ที่เหมาะที่สุดจุดแข็งหลัก
ตัวแยกวิเคราะห์คุกกี้ HTTP (หน้าปัจจุบัน)ส่วนหัวคำขอคุกกี้, document.cookieตรวจสอบว่าคำขอส่งคุกกี้ใดมาจริง ค่าเข้ารหัสหรือไม่ มีชื่อซ้ำหรือไม่มุ่งเน้นการแยกส่วนหัวคำขอ การคัดลอกมาตรฐาน การถอดรหัส URL และการตรวจจับรายการซ้ำ
ตัวแยกวิเคราะห์ Set-Cookieส่วนหัวตอบกลับ Set-Cookie ที่เซิร์ฟเวอร์ส่งกลับตรวจสอบว่าเหตุใดเบราว์เซอร์จึงไม่รับคุกกี้ มีความเสี่ยงใน SameSite / Secure / HttpOnly / Path / Domain หรือไม่แยกแอตทริบิวต์ได้ลึกซึ้งยิ่งขึ้น พร้อมทั้งให้การแจ้งเตือนการตั้งค่าความปลอดภัยเปิดตัวแยกวิเคราะห์ Set-Cookie
ตัวแยกวิเคราะห์คุกกี้สถานการณ์ดีบั๊กผสมระหว่างสตริงคุกกี้และ Set-Cookieแหล่งที่มาของข้อมูลไม่แน่นอน หรือต้องการทางเข้าที่ครอบคลุมเพื่อเปลี่ยนเส้นทางอย่างรวดเร็วสลับโหมดคู่ พร้อมทั้งรองรับการส่งออก Netscape Cookie Fileเปิดตัวแยกวิเคราะห์คุกกี้

Best Practices

ยืนยันก่อนว่าสิ่งที่คุณเห็นคือส่วนหัวคำขอ ไม่ใช่ส่วนหัวตอบกลับ

หากข้อความมาจาก Request Headers ใน DevTools ของเบราว์เซอร์ คำขอในเครื่องมือดักแพ็กเกจ document.cookie หรือส่วนหัวคุกกี้ในล็อกเซิร์ฟเวอร์ จะเหมาะกับหน้าปัจจุบัน หากมาจาก Set-Cookie ใน Response Headers อย่าวิเคราะห์ปัญหาแอตทริบิวต์ต่อที่นี่

เก็บค่าจริงไว้ก่อน แล้วค่อยดูค่าถอดรหัส

เมื่อแก้ปัญหาคุกกี้ อย่าเพ่งความสนใจไปที่เนื้อหาที่ถอดรหัสแล้วอย่างเดียว ค่าจริงคือค่าที่ส่งจริง ค่าถอดรหัสเป็นเพียงตัวช่วยอ่าน สำหรับสถานการณ์ลายเซ็น Base64, JWT หรือการเข้ารหัสสองชั้น ค่าจริงมีความสำคัญอย่างยิ่ง

เครื่องมือ JWT

เมื่อเห็นชื่อซ้ำอย่ารีบลบ

คุกกี้ซ้ำอาจเป็นสาเหตุหลักของปัญหา โดยเฉพาะเมื่อ Path / Domain ต่างกัน การสลับสภาพแวดล้อม หรือค่าคงค้างจากการเขียนในอดีต เก็บรายการที่ซ้ำไว้และจดบันทึกก่อน แล้วค่อยเปรียบเทียบกับพฤติกรรมเบราว์เซอร์และการตั้งค่าเซิร์ฟเวอร์

เมื่อต้องการจำลองคำขอ ให้คัดลอกส่วนหัวมาตรฐานเป็นหลัก

เมื่อคุณต้องการส่งส่วนหัวคุกกี้ปัจจุบันไปยัง curl, Postman หรือสคริปต์ทดสอบต่อ ให้คัดลอกผลลัพธ์ที่เป็นมาตรฐานโดยตรง จะช่วยลดความคลาดเคลื่อนในการจำลองที่เกิดจากช่องว่าง บรรทัดใหม่ และสัญญาณรบกวนรูปแบบ

แปลง curl เป็นโค้ด

คำถามที่พบบ่อย

หน้านี้เหมาะสำหรับแยกวิเคราะห์อินพุตคุกกี้ประเภทใด

ออกแบบมาเพื่อแยกวิเคราะห์ส่วนหัวคำขอคุกกี้และสตริงแบบแบนสไตล์ `document.cookie` โดยเฉพาะ เช่น `session=abc123; theme=dark` หากสิ่งที่คุณมีคือส่วนหัวตอบกลับ `Set-Cookie` จากเซิร์ฟเวอร์ ควรเปลี่ยนไปใช้「ตัวแยกวิเคราะห์ Set-Cookie」ที่เกี่ยวข้อง เนื่องจากส่วนหัวคำขอคุกกี้ไม่มีข้อมูลแอตทริบิวต์ เช่น SameSite, HttpOnly, Secure, Path และ Domain

ตัวแยกวิเคราะห์ Set-Cookie

เหตุใดค่าคุกกี้จึงดูเหมือนอักขระสุ่ม

ค่าคุกกี้จำนวนมากผ่านการเข้ารหัส URL เช่น `%3D` แทน `=`, `%2F` แทน `/` ตัวนี้จะแสดงค่าจริงและค่าที่ถอดรหัส URL พร้อมกัน ช่วยให้คุณยืนยันเนื้อหาที่แท้จริงได้อย่างรวดเร็ว แทนที่จะเห็นแค่สตริงเข้ารหัสที่อ่านยาก

เหตุใดจึงต้องตรวจจับชื่อคุกกี้ที่ซ้ำกัน

คุกกี้ที่มีชื่อเดียวกันอาจมาจาก Path ต่างกัน Domain ต่างกัน หรือค่าคงค้างจากการเขียนในอดีต แม้ว่าในส่วนหัวคำขอจะเป็นแค่ `name=value` แบบแบน แต่ชื่อที่ซ้ำกันมักบ่งชี้ว่าพฤติกรรมเบราว์เซอร์หรือการประมวลผลเซิร์ฟเวอร์ไม่สอดคล้องกัน ดังนั้นตัวจะแจ้งเตือนโดยอัตโนมัติ แทนที่จะเขียนทับอย่างเงียบๆ

เหมาะสำหรับตรวจสอบสถานะล็อกอินและปัญหาเซสชันหรือไม่

เหมาะสม วางส่วนหัวคุกกี้ที่ส่งจริงในคำขอเบราว์เซอร์ คุณจะเห็นชื่อ ค่าจริง และค่าถอดรหัสของแต่ละคุกกี้โดยตรง ยืนยันได้อย่างรวดเร็วว่ามีฟิลด์เซสชันขาดหาย ค่าเสียหายจากการเข้ารหัส หรือความสับสนจากคุกกี้หลายรายการที่มีชื่อเดียวกันหรือไม่

ผลลัพธ์การแยกวิเคราะห์สามารถใช้ดีบั๊กอินเทอร์เฟซโดยตรงได้หรือไม่

ได้ ตัวนี้จะสร้างส่วนหัวคุกกี้ที่เป็นมาตรฐาน ช่วยให้คัดลอกไปยัง curl, Postman, สคริปต์ หรือแพลตฟอร์มดีบั๊กอินเทอร์เฟซได้ในคลิกเดียว เพื่อจำลองปัญหาต่อ พร้อมทั้งรองรับการดูตัวอย่าง JSON สำหรับบันทึกล็อก Issue และเคสทดสอบ

เหตุใดหน้านี้จึงไม่แสดง SameSite, HttpOnly, Secure

เนื่องจากแอตทริบิวต์เหล่านี้มีอยู่ในส่วนหัวตอบกลับ `Set-Cookie` เท่านั้น จะไม่ปรากฏในส่วนหัวคำขอ `Cookie` ที่เบราว์เซอร์ส่งในภายหลัง หน้าปัจจุบันมุ่งเน้นไปที่ "สิ่งที่ส่งมาจริงเมื่อมีคำขอ" ไม่ใช่ "สิ่งที่เซิร์ฟเวอร์ตั้งค่าในตอนแรก"

document.cookie กับส่วนหัวคำขอคุกกี้เป็นสิ่งเดียวกันหรือไม่

ทั้งสองดูคล้ายกันมาก ทั้งคู่เป็นโครงสร้างแบน `name=value; name2=value2` แต่ก็มีความแตกต่าง: `document.cookie` ไม่สามารถอ่านคุกกี้ HttpOnly ได้ ในขณะที่คุกกี้ในส่วนหัวคำขอคือชุดสุดท้ายที่เบราว์เซอร์ส่งมาอัตโนมัติตามขอบเขตปัจจุบัน ตัวแยกวิเคราะห์นี้เหมาะสำหรับจัดการอินพุตแบนทั้งสองประเภท

คุกกี้ที่ฉันวางจะถูกอัปโหลดไปยังเซิร์ฟเวอร์หรือไม่

ไม่ การแยกวิเคราะห์ การถอดรหัส URL การตรวจจับรายการซ้ำ และการดูตัวอย่าง JSON ในหน้าปัจจุบันทั้งหมดเสร็จสิ้นภายในเครื่องที่เบราว์เซอร์ จะไม่ส่ง Session, Token, คุกกี้สถานะล็อกอิน หรือข้อมูลผู้ใช้ไปยังเซิร์ฟเวอร์ใดๆ

อภิธานศัพท์

ส่วนหัวคำขอคุกกี้
ชุดคู่ชื่อ-ค่าคุกกี้ที่เบราว์เซอร์ส่งมาอัตโนมัติในคำขอ HTTP โดยทั่วไปอยู่ในรูปแบบ `name1=value1; name2=value2` สะท้อนถึงคุกกี้ที่ส่งจริงในคำขอปัจจุบัน ไม่มีแอตทริบิวต์ความปลอดภัยตัวแยกวิเคราะห์ Set-Cookie
document.cookie
อินเทอร์เฟซสตริงคุกกี้ที่ JavaScript ฝั่งหน้าบ้านสามารถอ่านได้ โดยทั่วไปมีโครงสร้างคล้ายกับส่วนหัวคำขอคุกกี้ แต่ไม่สามารถอ่านคุกกี้ HttpOnly ได้ และไม่สามารถอนุมานการตั้งค่า Set-Cookie ที่สมบูรณ์ได้
ค่าคุกกี้เข้ารหัส URL
ค่าคุกกี้ใช้การเข้ารหัสเปอร์เซ็นต์เพื่อส่งอักขระพิเศษอย่างปลอดภัย เช่น `%3D`, `%2F`, `%3A` ระหว่างดีบั๊ก มักจำเป็นต้องดูค่าจริงและค่าที่ถอดรหัสพร้อมกันเครื่องมือ URL Encode
ชื่อคุกกี้ซ้ำ
คุกกี้หลายรายการที่มีชื่อเดียวกันปรากฏในส่วนหัวคำขอเดียวกัน อาจมาจาก Path ต่างกัน Domain ต่างกัน หรือค่าคงค้างจากอดีต มักเป็นข้อสำคัญสำหรับความผิดปกติของเซสชันและพฤติกรรมที่ไม่สอดคล้องกัน
ส่วนหัวคุกกี้มาตรฐาน
ทำความสะอาดเนื้อหาอินพุตแล้วประกอบกลับเป็นสตริง `name=value; name2=value2` มาตรฐาน ช่วยให้คัดลอกไปยัง curl, สคริปต์, Postman หรือล็อกเพื่อจำลองปัญหาต่อได้ง่าย

ตารางเปรียบเทียบส่วนหัวคำขอคุกกี้และส่วนหัวตอบกลับ Set-Cookie

ความเข้าใจผิดในการดีบั๊กคุกกี้จำนวนมาก เกิดจากการดูส่วนหัวคำขอและส่วนหัวตอบกลับปนกัน

รายการเปรียบเทียบส่วนหัวคำขอคุกกี้ส่วนหัวตอบกลับ Set-Cookie
ตำแหน่งที่ปรากฏในคำขอที่เบราว์เซอร์ส่งไปยังเซิร์ฟเวอร์ในการตอบกลับที่เซิร์ฟเวอร์ส่งกลับไปยังเบราว์เซอร์
รูปแบบทั่วไปname1=value1; name2=value2name=value; Path=/; HttpOnly; Secure
มีแอตทริบิวต์หรือไม่ไม่มีมี SameSite / Path / Domain / Expires / Max-Age ฯลฯ
เหมาะสำหรับตรวจสอบสิ่งที่ส่งมาจริงในคำขอเหตุที่เบราว์เซอร์ไม่รับคุกกี้
เครื่องมือที่เหมาะกว่าหน้าปัจจุบันตัวแยกวิเคราะห์ Set-Cookie

ตารางอ้างอิงปัญหาที่พบบ่อยในการดีบั๊กส่วนหัวคำขอคุกกี้

เมื่อสิ่งที่คุณมีคือคุกกี้ส่วนหัวคำขอ ปัญหาเหล่านี้พบบ่อยที่สุด

อาการสาเหตุที่เป็นไปได้สูงตรวจสอบก่อน
อินเทอร์เฟซไม่รู้จักสถานะล็อกอินคำขอไม่ได้ส่งคุกกี้เป้าหมายมา หรือชื่อและค่าไม่ตรงกันยืนยันก่อนว่ามีฟิลด์เซสชันเป้าหมายในส่วนหัวคุกกี้มาตรฐานหรือไม่
ค่าคุกกี้ดูเหมือนอักขระสุ่มค่าผ่านการเข้ารหัส URLเปรียบเทียบค่าจริงและค่าถอดรหัสพร้อมกัน
การทำงานต่างกันในสภาพแวดล้อมต่างกันชื่อคุกกี้ซ้ำ ค่าคงค้างจากอดีต หรือการเลือกขอบเขตเบราว์เซอร์ต่างกันดูการแจ้งเตือนชื่อซ้ำและจดบันทึกรายการที่มีชื่อเดียวกันทั้งหมด
การจำลองด้วยสคริปต์ล้มเหลวมีช่องว่างเกิน บรรทัดใหม่ หรือสัญญาณรบกวนรูปแบบปนอยู่ตอนคัดลอกใช้ส่วนหัวคุกกี้ที่เป็นมาตรฐานคัดลอกใหม่

Privacy & Security

การแยกวิเคราะห์ส่วนหัวคำขอคุกกี้ การถอดรหัส URL การตรวจจับรายการซ้ำ และการดูตัวอย่าง JSON ทั้งหมดเสร็จสิ้นภายในเครื่องที่เบราว์เซอร์ Session, Token และคุกกี้สถานะล็อกอินที่ป้อนจะไม่ถูกอัปโหลดไปยังเซิร์ฟเวอร์ใดๆ

Authoritative References