โปรโตคอลเลเยอร์แอปพลิเคชันใช้เพื่อถ่ายโอนข้อมูลไปยังแอปพลิเคชันไคลเอนต์เฉพาะที่ทำงานบนคอมพิวเตอร์เครือข่าย ในเครือข่าย IP โปรโตคอลเลเยอร์แอปพลิเคชันจะขึ้นอยู่กับมาตรฐาน TCP และทำหน้าที่พิเศษหลายประการ โดยให้ข้อมูลแก่โปรแกรมผู้ใช้ตามวัตถุประสงค์ที่กำหนดไว้อย่างเคร่งครัด ด้านล่างนี้เราจะดูโปรโตคอลแอปพลิเคชันต่างๆ ของสแต็ก TCP/IP โดยย่อ
โปรโตคอล FTP
ตามชื่อที่แนะนำ โปรโตคอล FTP ( การถ่ายโอนไฟล์ Protocol) ได้รับการออกแบบสำหรับการถ่ายโอนไฟล์ผ่านทางอินเทอร์เน็ต อยู่บนพื้นฐานของโปรโตคอลนี้ที่ใช้ขั้นตอนการดาวน์โหลดและอัพโหลดไฟล์บนโหนดระยะไกลของเวิลด์ไวด์เว็บ FTP ช่วยให้คุณสามารถถ่ายโอนจากเครื่องหนึ่งไปยังอีกเครื่องได้ ไม่เพียงแต่ไฟล์เท่านั้น แต่ยังรวมถึงทั้งโฟลเดอร์ รวมถึงไดเร็กทอรีย่อยไปยังความลึกที่ซ้อนอยู่ด้วย ซึ่งทำได้โดยการเข้าถึงระบบคำสั่ง FTP ซึ่งอธิบายฟังก์ชันในตัวจำนวนหนึ่งของโปรโตคอลนี้
โปรโตคอล POP3 และ SMTP
โปรโตคอลแอปพลิเคชันที่ใช้เมื่อทำงานกับ โดยอีเมลเรียกว่า SMTP (Simple Mail Transfer Protocol) และ POP3 (Post Office Protocol) อันแรกคือ "รับผิดชอบ" ในการส่งอีเมลขาออกส่วนที่สองคือการส่งจดหมายขาเข้า
ฟังก์ชั่นของโปรโตคอลเหล่านี้รวมถึงการจัดระเบียบการส่งข้อความอีเมลและถ่ายโอนไปยังไคลเอนต์เมล นอกจากนี้ โปรโตคอล SMTP ยังช่วยให้คุณสามารถส่งข้อความหลายข้อความไปยังผู้รับรายเดียว จัดระเบียบการจัดเก็บข้อความระดับกลาง และคัดลอกข้อความหนึ่งข้อความเพื่อส่งไปยังผู้รับหลายคน ทั้ง POP3 และ SMTP มีกลไกในตัวสำหรับการจดจำที่อยู่อีเมล รวมถึงโมดูลพิเศษเพื่อเพิ่มความน่าเชื่อถือในการส่งข้อความ
โปรโตคอล HTTP
โปรโตคอล HTTP ( ไฮเปอร์ข้อความ Transfer Protocol) ให้การถ่ายโอนจาก เซิร์ฟเวอร์ระยะไกลไปยังคอมพิวเตอร์ท้องถิ่นของเอกสารที่มีรหัสมาร์กอัปไฮเปอร์เท็กซ์ที่เขียน ภาษา HTMLหรือ XML นั่นคือหน้าเว็บ โปรโตคอลแอปพลิเคชันนี้มุ่งเน้นไปที่การให้ข้อมูลแก่เว็บเบราว์เซอร์เป็นหลัก ซึ่งแอปพลิเคชันที่มีชื่อเสียงที่สุดคือแอปพลิเคชัน เช่น Microsoft Internet Explorer และ Netscape Communicator
ด้วยการใช้โปรโตคอล HTTP ที่คำขอจะถูกส่งไปยังเซิร์ฟเวอร์ http ระยะไกลบนอินเทอร์เน็ตและการตอบสนองของพวกเขาจะถูกประมวลผล นอกจาก
HTTP นี้อนุญาตให้คุณใช้ที่อยู่มาตรฐานเพื่อเรียกทรัพยากรบนเวิลด์ไวด์เว็บ ระบบโดเมนชื่อ (DNS, ระบบชื่อโดเมน) นั่นคือการกำหนดที่เรียกว่า URL (Uniform Resource Locator) ของรูปแบบ http:/ /www.domain.zone/page (l)
โปรโตคอลเทลเน็ต
โปรโตคอล TELNET ได้รับการออกแบบมาเพื่อจัดระเบียบ การเข้าถึงเทอร์มินัลไปยังโฮสต์ระยะไกลโดยการแลกเปลี่ยนคำสั่งในรูปแบบอักขระ ASCII ตามกฎแล้วในการทำงานกับเซิร์ฟเวอร์ผ่านโปรโตคอล TELNET จะต้องติดตั้งโปรแกรมพิเศษที่เรียกว่าไคลเอ็นต์ telnet บนฝั่งไคลเอ็นต์ซึ่งเมื่อสร้างการเชื่อมต่อกับโหนดระยะไกลแล้วจะเปิดคอนโซลระบบของเชลล์ปฏิบัติการของเซิร์ฟเวอร์ใน หน้าต่างของมัน หลังจากนี้ คุณสามารถจัดการคอมพิวเตอร์เซิร์ฟเวอร์ในโหมดเทอร์มินัลได้เหมือนกับว่าเป็นคอมพิวเตอร์ของคุณเอง (โดยธรรมชาติแล้ว ภายในกรอบงานที่กำหนดโดยผู้ดูแลระบบ) ตัวอย่างเช่น คุณจะสามารถเปลี่ยนแปลง ลบ สร้าง แก้ไขไฟล์และโฟลเดอร์ได้ เช่นเดียวกับการรันโปรแกรมบนดิสก์ของเครื่องเซิร์ฟเวอร์ และคุณจะสามารถดูเนื้อหาของโฟลเดอร์ของผู้ใช้รายอื่นได้ ไม่ว่าคุณจะใช้ระบบปฏิบัติการใดก็ตาม โปรโตคอล Telnet จะช่วยให้คุณสามารถสื่อสารกับเครื่องระยะไกลได้ "เท่ากัน" ตัวอย่างเช่น คุณสามารถเปิดเซสชัน UNIX บนคอมพิวเตอร์ที่ใช้ MS Windows ได้อย่างง่ายดาย
โปรโตคอล UDP
โปรโตคอลการถ่ายโอนข้อมูลแอปพลิเคชัน UDP (User Datagram Protocol) ใช้ในบรรทัดที่ช้าเพื่อเผยแพร่ข้อมูลเป็นดาตาแกรม
ดาตาแกรมประกอบด้วยชุดข้อมูลที่สมบูรณ์ที่จำเป็นในการส่งและรับ เมื่อส่งดาตาแกรม คอมพิวเตอร์ไม่ได้คำนึงถึงความเสถียรของการสื่อสาร ดังนั้นจึงต้องดำเนินมาตรการพิเศษเพื่อให้มั่นใจในความน่าเชื่อถือ
แผนการประมวลผลข้อมูลด้วยโปรโตคอล UDP โดยหลักการแล้วเหมือนกับในกรณีของ TCP แต่มีข้อแตกต่างประการหนึ่งคือ UDP จะแยกข้อมูลตามอัลกอริทึมเดียวกันเสมอในลักษณะที่กำหนดไว้อย่างเคร่งครัด ในการสื่อสารโดยใช้โปรโตคอล UDP จะใช้ระบบตอบสนอง: เมื่อได้รับแพ็กเก็ต UDP แล้วคอมพิวเตอร์จะส่งสัญญาณที่กำหนดไว้ล่วงหน้าไปยังผู้ส่ง หากผู้ส่งรอสัญญาณนานเกินไป มันก็จะทำการส่งสัญญาณซ้ำ
เมื่อมองแวบแรกอาจดูเหมือนว่าโปรโตคอล UDP มีข้อเสียทั้งหมด แต่ก็มีข้อได้เปรียบที่สำคัญอย่างหนึ่งเช่นกัน: แอปพลิเคชันอินเทอร์เน็ตทำงานกับ UDP ได้เร็วเป็นสองเท่าของ TCP ซึ่งเป็นพี่น้องที่มีเทคโนโลยีสูงมากกว่า
โปรโตคอลชั้นแอปพลิเคชัน
เหตุใดจึงมีโปรโตคอลการขนส่งสองโปรโตคอล TCP และ UDP และไม่ใช่แค่หนึ่งในนั้น ความจริงก็คือพวกเขาให้บริการที่แตกต่างกันแก่กระบวนการสมัคร แอพพลิเคชั่นส่วนใหญ่ใช้เพียงอันเดียวเท่านั้น คุณในฐานะโปรแกรมเมอร์ เลือกโปรโตคอลที่ตรงกับความต้องการของคุณมากที่สุด หากคุณต้องการการจัดส่งที่เชื่อถือได้ TCP อาจดีที่สุด หากคุณต้องการจัดส่งดาตาแกรม UDP อาจดีกว่า หากคุณต้องการการจัดส่งที่มีประสิทธิภาพผ่านลิงก์ข้อมูลที่ยาวและไม่น่าเชื่อถือ TCP อาจเป็นตัวเลือกที่ดีกว่า หากต้องการประสิทธิภาพบนเครือข่ายที่รวดเร็วและมีการเชื่อมต่อระยะสั้น UDP อาจเป็นโปรโตคอลที่ดีที่สุด หากความต้องการของคุณไม่อยู่ในหมวดหมู่เหล่านี้ แสดงว่าตัวเลือกโปรโตคอลการขนส่งนั้นไม่ชัดเจน อย่างไรก็ตาม แอปพลิเคชันสามารถแก้ไขข้อบกพร่องของโปรโตคอลที่เลือกได้ ตัวอย่างเช่น หากคุณเลือก UDP และต้องการความน่าเชื่อถือ แอปพลิเคชันโปรแกรมจะต้องให้ความน่าเชื่อถือ หากคุณเลือก TCP และคุณต้องการถ่ายโอนบันทึก แอปพลิเคชันโปรแกรมจะต้องแทรกเครื่องหมายลงในสตรีมไบต์เพื่อให้สามารถแยกแยะบันทึกได้
มีแอปพลิเคชันอะไรบ้างบนเครือข่าย TCP/IP
จำนวนทั้งหมดของพวกเขามีขนาดใหญ่และยังคงเพิ่มขึ้นอย่างต่อเนื่อง แอปพลิเคชั่นบางตัวมีมาตั้งแต่เริ่มมีอินเทอร์เน็ต ตัวอย่างเช่น TELNET และ FTP คนอื่น ๆ ปรากฏตัวเมื่อเร็ว ๆ นี้: X-Window, SNMP
โปรโตคอลระดับแอปพลิเคชันมุ่งเน้นไปที่งานแอปพลิเคชันเฉพาะ พวกเขากำหนดทั้งขั้นตอนสำหรับการจัดระเบียบปฏิสัมพันธ์บางประเภทระหว่างกระบวนการสมัครและรูปแบบการนำเสนอข้อมูลระหว่างการโต้ตอบดังกล่าว ในส่วนนี้ เราจะอธิบายโดยย่อเกี่ยวกับโปรโตคอลแอปพลิเคชันบางส่วน
โปรโตคอลเทลเน็ต
โปรโตคอล TELNET ช่วยให้เครื่องบริการปฏิบัติต่อเทอร์มินัลระยะไกลทั้งหมดเสมือนเป็น "เทอร์มินัลเครือข่ายเสมือน" ประเภทบรรทัดมาตรฐานที่ทำงานในโค้ด ASCII และยังให้ความสามารถในการเจรจาฟังก์ชันที่ซับซ้อนมากขึ้น (เช่น การควบคุมเสียงสะท้อนภายในหรือระยะไกล โหมดเพจ ความสูงและความกว้างของหน้าจอ และอื่นๆ) TELNET ทำงานโดยใช้โปรโตคอล TCP ที่ระดับแอปพลิเคชันที่สูงกว่า TELNET จะมีโปรแกรมสนับสนุนเทอร์มินัลจริง (ทางฝั่งผู้ใช้) หรือกระบวนการแอปพลิเคชันในเครื่องที่ให้บริการ ซึ่งเข้าถึงได้จากเทอร์มินัล
การทำงานกับ TELNET ก็เหมือนกับการกดหมายเลขโทรศัพท์ ผู้ใช้พิมพ์สิ่งนี้บนแป้นพิมพ์:
และได้รับคำเชิญบนหน้าจอให้ขึ้นรถเดลต้า
โปรโตคอล TELNET มีมานานแล้ว ได้รับการทดสอบอย่างดีและแพร่หลาย มีการสร้างการใช้งานหลายอย่างสำหรับระบบปฏิบัติการที่หลากหลาย ค่อนข้างเป็นที่ยอมรับสำหรับกระบวนการไคลเอนต์ที่ทำงาน เช่น ภายใต้ระบบปฏิบัติการ VAX/VMS และกระบวนการเซิร์ฟเวอร์เพื่อเรียกใช้ UNIX System V
โปรโตคอล FTP
โปรโตคอล FTP (File Transfer Protocol) แพร่หลายพอๆ กับ TELNET เป็นหนึ่งในโปรโตคอลที่เก่าแก่ที่สุดในตระกูล TCP/IP เช่นเดียวกับ TELNET ใช้บริการขนส่ง TCP มีการใช้งานหลายอย่างสำหรับระบบปฏิบัติการที่แตกต่างกันซึ่งทำงานร่วมกันได้ดี ผู้ใช้ FTP สามารถเรียกใช้คำสั่งหลายคำสั่งที่อนุญาตให้เขาดูไดเร็กทอรีของเครื่องระยะไกล ย้ายจากไดเร็กทอรีหนึ่งไปยังอีกไดเร็กทอรี และคัดลอกไฟล์ตั้งแต่หนึ่งไฟล์ขึ้นไป
โปรโตคอล SMTP
โปรโตคอล SMTP (Simple Mail Transfer Protocol) รองรับการถ่ายโอนข้อความ (อีเมล) ระหว่างโหนดที่กำหนดเองบนอินเทอร์เน็ต ด้วยกลไกสำหรับการจัดเก็บเมลระดับกลางและกลไกในการเพิ่มความน่าเชื่อถือในการจัดส่ง โปรโตคอล SMTP ช่วยให้ใช้บริการขนส่งต่างๆ มันยังสามารถทำงานได้บนเครือข่ายที่ไม่ได้ใช้โปรโตคอลตระกูล TCP/IP อีกด้วย โปรโตคอล SMTP ให้ทั้งการจัดกลุ่มข้อความไปยังผู้รับคนเดียวกันและการคูณสำเนาหลายชุดของข้อความเพื่อส่งไปยังที่อยู่ที่แตกต่างกัน เหนือโมดูล SMTP คือบริการอีเมลสำหรับระบบคอมพิวเตอร์เฉพาะ
คำสั่ง r
มี "คำสั่ง r" ทั้งชุด (จากระยะไกล - ระยะไกล) ซึ่งปรากฏครั้งแรกในระบบปฏิบัติการ UNIX คล้ายคลึงกับคำสั่ง UNIX ทั่วไป แต่ได้รับการออกแบบให้ทำงานกับเครื่องระยะไกล ตัวอย่างเช่น คำสั่ง rcp คล้ายกับคำสั่ง cp และมีไว้สำหรับการคัดลอกไฟล์ระหว่างเครื่อง หากต้องการถ่ายโอนไฟล์ไปยังโหนดเดลต้า เพียงป้อน
rcp file.c เดลต้า:
หากต้องการดำเนินการคำสั่ง "cc file.c" บนเครื่องเดลต้า คุณสามารถใช้คำสั่ง rsh:
ไฟล์ rsh delta cc.c
เพื่อจัดระเบียบการเข้า ระบบระยะไกลคำสั่ง rlogin มีวัตถุประสงค์:
คำสั่ง r-series ใช้กับระบบที่ใช้ระบบปฏิบัติการ UNIX เป็นหลัก นอกจากนี้ยังมีการใช้งานสำหรับ MS-DOS คำสั่งช่วยลดความจำเป็นของผู้ใช้ในการพิมพ์รหัสผ่านเมื่อเข้าสู่ระบบระยะไกลและอำนวยความสะดวกในการทำงานอย่างมาก
ระบบไฟล์เครือข่าย NFS (Network ระบบไฟล์) ได้รับการพัฒนาครั้งแรกโดย Sun Microsystems Inc. NFS ใช้บริการขนส่ง UDP และอนุญาตให้ติดตั้งระบบไฟล์ของเครื่อง UNIX หลายเครื่องในหน่วยเดียว เวิร์กสเตชันแบบไร้ดิสก์จะเข้าถึงดิสก์เซิร์ฟเวอร์ไฟล์เสมือนว่าเป็นดิสก์ภายในเครื่อง
NFS เพิ่มภาระบนเครือข่ายอย่างมาก หากเครือข่ายใช้สายการสื่อสารที่ช้า NFS ก็มีประโยชน์เพียงเล็กน้อย อย่างไรก็ตามหาก ปริมาณงานหากเครือข่ายอนุญาตให้ NFS ทำงานตามปกติ ผู้ใช้จะได้รับประโยชน์มากมาย เนื่องจากเซิร์ฟเวอร์และไคลเอนต์ NFS ถูกนำไปใช้ในเคอร์เนล OS โปรแกรมที่ไม่ใช่เครือข่ายทั่วไปทั้งหมดจึงสามารถทำงานกับไฟล์ระยะไกลที่อยู่บนดิสก์ NFS ที่เมาท์ได้ในลักษณะเดียวกับไฟล์ในเครื่อง
โปรโตคอล SNMP
โปรโตคอล SNMP (Simple Network Management Protocol) ทำงานบนพื้นฐาน UDP และมีไว้สำหรับใช้โดยสถานีการจัดการเครือข่าย ช่วยให้สถานีควบคุมรวบรวมข้อมูลเกี่ยวกับสถานการณ์บนอินเทอร์เน็ต โปรโตคอลจะกำหนดรูปแบบข้อมูล การประมวลผลและการตีความจะขึ้นอยู่กับดุลยพินิจของสถานีควบคุมหรือผู้จัดการเครือข่าย
X-Window
ระบบ X-Window ใช้โปรโตคอล X-Window ซึ่งทำงานบน TCP สำหรับการแสดงผลกราฟิกและข้อความหลายหน้าต่างบนจอแสดงผลบิตแมปของเวิร์กสเตชัน X-Window เป็นมากกว่ายูทิลิตี้การวาดหน้าต่าง นี่คือปรัชญาทั้งหมดของปฏิสัมพันธ์ระหว่างมนุษย์กับเครื่องจักร
โปรโตคอลแอปพลิเคชันอินเทอร์เน็ต
ระดับสูงสุดในลำดับชั้นอินเทอร์เน็ตโปรโตคอลถูกครอบครองโดยโปรโตคอลเลเยอร์แอปพลิเคชันต่อไปนี้:
- DNS - ระบบกระจายชื่อโดเมน ซึ่งเมื่อมีการร้องขอซึ่งมีชื่อโดเมนของโฮสต์ จะรายงานที่อยู่ IP
- HTTP- โปรโตคอลสำหรับการส่งสัญญาณไฮเปอร์เท็กซ์ไปยังอินเทอร์เน็ต
- HTTPS- ส่วนขยายโปรโตคอล HTTP ที่รองรับการเข้ารหัส
- เอฟทีพี(File Transfer Protocol - RFC 959) - โปรโตคอลที่ออกแบบมาสำหรับการถ่ายโอนไฟล์ผ่านเครือข่ายคอมพิวเตอร์
- เทลเน็ต(เครือข่ายโทรคมนาคม - RFC 854) - โปรโตคอลเครือข่ายสำหรับการนำส่วนต่อประสานข้อความไปใช้บนเครือข่าย
- สสส(Secure Shell - RFC 4251) เป็นโปรโตคอลแอปพลิเคชันที่ช่วยให้สามารถควบคุมระบบปฏิบัติการและถ่ายโอนไฟล์จากระยะไกล ต่างจาก Telnet โดยจะเข้ารหัสการรับส่งข้อมูลทั้งหมด
- ป๊อป3– โปรโตคอลไคลเอนต์เมลซึ่งใช้โดยไคลเอนต์เมลเพื่อรับข้อความอีเมลจากเซิร์ฟเวอร์
- IMAP- โปรโตคอลสำหรับการเข้าถึงอีเมลบนอินเทอร์เน็ต
- SMTP– โปรโตคอลที่ใช้ในการส่งอีเมลจากผู้ใช้ไปยังเซิร์ฟเวอร์และระหว่างเซิร์ฟเวอร์เพื่อส่งต่อไปยังผู้รับต่อไป
- แอลดีเอพี- โปรโตคอลสำหรับการเข้าถึงบริการไดเรกทอรี X.500 เป็นมาตรฐานที่ใช้กันอย่างแพร่หลายสำหรับการเข้าถึงบริการไดเรกทอรี
- XMPP(Jabber) - โปรโตคอลที่ขยายได้ที่ใช้ XML สำหรับการส่งข้อความโต้ตอบแบบทันทีในเวลาใกล้เคียงเรียลไทม์
- ส.น.ม- โปรโตคอลการจัดการอินเทอร์เน็ตขั้นพื้นฐาน
มาดูโปรโตคอลเหล่านี้บางส่วนให้ละเอียดยิ่งขึ้น
FTP ช่วยให้คุณสามารถเชื่อมต่อได้ เซิร์ฟเวอร์ FTPดูเนื้อหาของไดเรกทอรีและดาวน์โหลดไฟล์จากหรือไปยังเซิร์ฟเวอร์ นอกจากนี้ยังสามารถใช้โหมดการถ่ายโอนไฟล์ระหว่างเซิร์ฟเวอร์ได้อีกด้วย FTP ช่วยให้คุณสามารถแลกเปลี่ยนและดำเนินการกับไฟล์ผ่านเครือข่าย TCP โปรโตคอลนี้ทำงานได้โดยไม่คำนึงถึงระบบปฏิบัติการ ในอดีต FTP มีฟังก์ชันการทำงานแบบเปิด ช่วยให้สามารถถ่ายโอนไฟล์จากคอมพิวเตอร์เครื่องหนึ่งไปยังอีกเครื่องหนึ่งผ่านเครือข่ายได้อย่างโปร่งใส นี่ไม่ใช่เรื่องเล็กน้อยอย่างที่คิด เนื่องจากคอมพิวเตอร์ประเภทต่างๆ อาจมีขนาดคำที่แตกต่างกัน และบิตในคำอาจไม่ถูกจัดเก็บในลำดับเดียวกันหรือใช้ รูปแบบที่แตกต่างกันคำ
- เทลเน็ต
ชื่อ "telnet" ยังถูกใช้โดยยูทิลิตี้บางตัวที่ใช้งานอีกด้วย ส่วนลูกค้ามาตรการ. มาตรการ เทลเน็ตทำงานตามหลักการของสถาปัตยกรรมไคลเอนต์ - เซิร์ฟเวอร์และให้การจำลองเทอร์มินัลตัวอักษรและตัวเลขโดย จำกัด ผู้ใช้ให้อยู่ในโหมด บรรทัดคำสั่ง- แอปพลิเคชัน เทลเน็ตจัดให้มีภาษาสำหรับเทอร์มินัลในการสื่อสารกับคอมพิวเตอร์ระยะไกล เมื่อ ARPANET เกิดขึ้น ระบบคอมพิวเตอร์แต่ละระบบจำเป็นต้องมีเทอร์มินัลของตัวเอง แอปพลิเคชัน เทลเน็ตได้กลายเป็นส่วนร่วมของเทอร์มินัล การเขียนซอฟต์แวร์สำหรับคอมพิวเตอร์แต่ละเครื่องที่รองรับ "terminal เทลเน็ต“เพื่อให้เทอร์มินัลหนึ่งสามารถสื่อสารกับคอมพิวเตอร์ทุกประเภท
ฟังก์ชันการทำงานคล้ายกับโปรโตคอล telnet และ rlogin แต่ต่างจากโปรโตคอลเหล่านี้ตรงที่เข้ารหัสการรับส่งข้อมูลทั้งหมด รวมถึงรหัสผ่านที่ส่งด้วย ไคลเอนต์ SSH และเซิร์ฟเวอร์ SSH พร้อมใช้งานสำหรับระบบปฏิบัติการส่วนใหญ่
- ระเบียบการไปรษณีย์.
แม้ว่า เทลเน็ตและ FTP นั้น (และยังคงมีประโยชน์) แอปพลิเคชั่นแรกที่ปฏิวัติความคิดของผู้ใช้คอมพิวเตอร์ ARPANET คืออีเมล มีระบบอีเมลมาก่อน ARPANET แต่ทั้งหมดเป็นระบบคอมพิวเตอร์เครื่องเดียว ในปี พ.ศ. 2515 เรย์ ทอมลินสัน(เรย์ ทอมลินสัน) จาก BBN เขียนแพ็คเกจแรกเพื่อให้บริการเมลแบบกระจายผ่านเครือข่ายคอมพิวเตอร์ของคอมพิวเตอร์หลายเครื่อง ภายในปี 1973 การศึกษาด้านการจัดการ ARPA แสดงให้เห็นว่าสามในสี่ของการรับส่งข้อมูล ARPANET ทั้งหมดคืออีเมล ประโยชน์ของอีเมลนั้นยอดเยี่ยมมากจนผู้ใช้พยายามเชื่อมต่อกับ ARPANET มากขึ้นเรื่อยๆ ส่งผลให้มีความต้องการเพิ่มโหนดใหม่และใช้สายความเร็วสูง ดังนั้นจึงเกิดกระแสที่ดำเนินมาจนถึงทุกวันนี้
- ป๊อป3(Post Office Protocol เวอร์ชัน 3 - RFC 1939) - โปรโตคอลที่ไคลเอนต์อีเมลใช้เพื่อรับข้อความอีเมลจากเซิร์ฟเวอร์อีเมล
- IMAP(ข้อความทางอินเตอร์เน็ต โปรโตคอลการเข้าถึง- RFC 3501) - โปรโตคอลการเข้าถึงอีเมล คล้ายกับ POP3 แต่มอบความสามารถที่หลากหลายให้กับผู้ใช้ในการทำงานกับกล่องจดหมายที่อยู่บนเซิร์ฟเวอร์กลาง อีเมลสามารถจัดการได้จากคอมพิวเตอร์ของผู้ใช้ (ไคลเอนต์) โดยไม่ต้องถ่ายโอนไฟล์ที่มีเนื้อหาทั้งหมดของอีเมลกลับไปกลับมาจากเซิร์ฟเวอร์อย่างต่อเนื่อง
- SMTP(Simple Mail Transfer Protocol - RFC 2821) - โปรโตคอลที่ออกแบบมาเพื่อส่งอีเมล ใช้เพื่อส่งอีเมลจากผู้ใช้ไปยังเซิร์ฟเวอร์และระหว่างเซิร์ฟเวอร์เพื่อส่งต่อไปยังผู้รับเพิ่มเติม หากต้องการรับเมล เมลไคลเอ็นต์ต้องใช้โปรโตคอล POP3 หรือ IMAP
โปรโตคอลพื้นฐานของเครือข่ายทรัพยากรไฮเปอร์เท็กซ์ของเว็บคือโปรโตคอล HTTP มันขึ้นอยู่กับปฏิสัมพันธ์" ลูกค้า- เซิร์ฟเวอร์ " กล่าวคือ สันนิษฐานว่า:
- ผู้บริโภค- ลูกค้าโดยเริ่มต้นการเชื่อมต่อกับซัพพลายเออร์ - เซิร์ฟเวอร์ส่งคำขอให้เขา
- ผู้ให้บริการ- เซิร์ฟเวอร์เมื่อได้รับคำขอแล้ว ให้ดำเนินการที่จำเป็นและส่งคืนการตอบกลับพร้อมผลลัพธ์กลับไปยังลูกค้า
ในกรณีนี้ มีสองวิธีที่เป็นไปได้ในการจัดระเบียบการทำงานของคอมพิวเตอร์ไคลเอนต์:
- ไคลเอ็นต์แบบบางเป็นคอมพิวเตอร์ไคลเอนต์ที่ถ่ายโอนงานการประมวลผลข้อมูลทั้งหมดไปยังเซิร์ฟเวอร์ ตัวอย่างของไคลเอ็นต์แบบธินคือคอมพิวเตอร์ที่มีเบราว์เซอร์ที่ใช้ในการทำงานกับเว็บแอปพลิเคชัน
- ลูกค้าอ้วนในทางตรงกันข้าม ประมวลผลข้อมูลโดยไม่คำนึงถึง เซิร์ฟเวอร์จะใช้อย่างหลังเพื่อจัดเก็บข้อมูลเป็นหลักเท่านั้น
ก่อนที่จะก้าวไปสู่เทคโนโลยีเว็บไคลเอ็นต์-เซิร์ฟเวอร์ที่เฉพาะเจาะจง เรามาดูหลักการพื้นฐานและโครงสร้างพื้นฐานของโปรโตคอล HTTP พื้นฐานกันก่อน
โปรโตคอล HTTP
HTTP (HyperText Transfer Protocol - RFC 1945, RFC 2616) เป็นโปรโตคอลเลเยอร์แอปพลิเคชันสำหรับการถ่ายโอนไฮเปอร์เท็กซ์
เอนทิตีกลางใน HTTP คือ ทรัพยากรซึ่ง URI ชี้ไปในคำขอของลูกค้า โดยปกติแล้วทรัพยากรดังกล่าวจะถูกจัดเก็บไว้ เซิร์ฟเวอร์ไฟล์. คุณลักษณะของโปรโตคอล HTTP คือความสามารถในการระบุในคำขอและตอบกลับวิธีการแสดงทรัพยากรเดียวกันตามพารามิเตอร์ต่าง ๆ : รูปแบบ, การเข้ารหัส, ภาษา ฯลฯ ต้องขอบคุณความสามารถในการระบุวิธีการเข้ารหัสข้อความ ไคลเอนต์และเซิร์ฟเวอร์สามารถแลกเปลี่ยนข้อมูลไบนารี่ได้ แม้ว่าในตอนแรกโปรโตคอลนี้ออกแบบมาเพื่อส่งข้อมูลสัญลักษณ์ก็ตาม เมื่อดูเผินๆ อาจดูเหมือนเป็นการสิ้นเปลืองทรัพยากร แท้จริงแล้วข้อมูลในรูปแบบสัญลักษณ์ใช้หน่วยความจำมากขึ้น ข้อความจะสร้างภาระเพิ่มเติมในช่องทางการสื่อสาร แต่รูปแบบนี้มีข้อดีหลายประการ ข้อความที่ส่งผ่านเครือข่ายสามารถอ่านได้ และด้วยการวิเคราะห์ข้อมูลที่ได้รับ ผู้ดูแลระบบสามารถค้นหาข้อผิดพลาดและแก้ไขได้อย่างง่ายดาย หากจำเป็น บุคคลสามารถเล่นบทบาทของหนึ่งในแอปพลิเคชันโต้ตอบได้โดยการป้อนข้อความในรูปแบบที่ต้องการด้วยตนเอง
HTTP เป็นโปรโตคอลแบบไม่มีหน่วยความจำซึ่งต่างจากโปรโตคอลอื่นๆ มากมาย ซึ่งหมายความว่าโปรโตคอลไม่ได้จัดเก็บข้อมูลเกี่ยวกับคำขอของลูกค้าก่อนหน้านี้และการตอบกลับของเซิร์ฟเวอร์ ส่วนประกอบที่ใช้ HTTP สามารถรักษาข้อมูลสถานะที่เกี่ยวข้องได้อย่างอิสระ คำขอล่าสุดและคำตอบ ตัวอย่างเช่น คำขอส่งแอปพลิเคชันไคลเอ็นต์บนเว็บสามารถติดตามความล่าช้าในการตอบกลับ และเว็บเซิร์ฟเวอร์สามารถจัดเก็บที่อยู่ IP และส่วนหัวคำขอของไคลเอ็นต์ล่าสุดได้
ซอฟต์แวร์ทั้งหมดสำหรับการทำงานกับโปรโตคอล HTTP แบ่งออกเป็นสามประเภทหลัก:
- เซิร์ฟเวอร์ - ผู้ให้บริการจัดเก็บและประมวลผลข้อมูล (ร้องขอการประมวลผล)
- ลูกค้า- ผู้ใช้บริการเซิร์ฟเวอร์ปลายทาง (ส่งคำขอ)
- พร็อกซีเซิร์ฟเวอร์เพื่อรองรับงานบริการขนส่ง
ลูกค้าหลักคือ เบราว์เซอร์ตัวอย่างเช่น: InternetExplorer, Opera, MozillaFirefox, NetscapeNavigator และอื่นๆ การใช้งานเว็บยอดนิยม เซิร์ฟเวอร์ได้แก่ InternetInformationServices (IIS), Apache, lighttpd, nginx ที่สุด การใช้งานที่ทราบพร็อกซีเซิร์ฟเวอร์: Squid, UserGate, Multiproxy, Naviscope
รูปแบบเซสชัน HTTP "คลาสสิก" มีลักษณะเช่นนี้
- การสร้างการเชื่อมต่อ TCP
- คำขอของลูกค้า
- การตอบสนองของเซิร์ฟเวอร์
- กำลังยุติการเชื่อมต่อ TCP
ลูกค้าเลยส่ง. เซิร์ฟเวอร์ร้องขอ ได้รับการตอบกลับ หลังจากนั้นการโต้ตอบจะหยุดลง โดยทั่วไปแล้ว คำขอของลูกค้าจะเป็นคำขอเอกสาร HTML หรือทรัพยากรอื่นๆ และการตอบสนองของเซิร์ฟเวอร์จะมีรหัสสำหรับทรัพยากรนั้น
คำขอ HTTP ที่ส่งโดยไคลเอนต์ไปยังเซิร์ฟเวอร์มีส่วนประกอบดังต่อไปนี้
- บรรทัดสถานะ (บางครั้งบรรทัดสถานะเงื่อนไขหรือบรรทัดแบบสอบถามก็ใช้เพื่ออ้างอิงถึงบรรทัดนั้นด้วย)
- ฟิลด์ส่วนหัว
- เส้นเปล่า.
- ขอร่างกาย.
แถบสถานะร่วมกับ ฟิลด์ส่วนหัวบางครั้งก็เรียกว่า ส่วนหัวของคำขอ.
ข้าว. 2.1.โครงสร้างคำขอของลูกค้า
แถบสถานะมีรูปแบบดังต่อไปนี้:
request_method URL_pecypca protocol_version HTTP
มาดูส่วนประกอบของแถบสถานะ โดยให้ความสนใจเป็นพิเศษกับวิธีการร้องขอ
วิธีที่ระบุในบรรทัดสถานะจะกำหนดว่าทรัพยากรที่ระบุ URL ในบรรทัดเดียวกันจะได้รับผลกระทบอย่างไร วิธีการสามารถรับค่า GET, POST, HEAD, PUT, DELETE เป็นต้น แม้จะมีวิธีการมากมาย แต่มีเพียงสองวิธีเท่านั้นที่สำคัญสำหรับโปรแกรมเมอร์เว็บอย่างแท้จริง: GET และ POST
- รับ. ตามคำจำกัดความอย่างเป็นทางการ วิธีการ GET มีวัตถุประสงค์เพื่อรับทรัพยากรที่มี URL ที่ระบุ เมื่อได้รับคำขอ GET เซิร์ฟเวอร์จะต้องอ่านทรัพยากรที่ระบุและรวมรหัสทรัพยากรเป็นส่วนหนึ่งของการตอบสนองต่อไคลเอนต์ ทรัพยากรที่มี URL ถูกส่งเป็นส่วนหนึ่งของคำขอไม่จำเป็นต้องเป็นหน้า HTML ไฟล์รูปภาพ หรือข้อมูลอื่นๆ URL ทรัพยากรสามารถชี้ไปที่โค้ดโปรแกรมที่ปฏิบัติการได้ซึ่งจะต้องดำเนินการบนเซิร์ฟเวอร์หากตรงตามเงื่อนไขบางประการ ในกรณีนี้ ลูกค้าจะถูกส่งกลับไม่ใช่รหัสโปรแกรม แต่เป็นข้อมูลที่สร้างขึ้นระหว่างการดำเนินการ แม้ว่าตามคำจำกัดความแล้ว วิธีการ GET มีวัตถุประสงค์เพื่อดึงข้อมูล แต่ก็สามารถใช้เพื่อวัตถุประสงค์อื่นได้ วิธี GET ค่อนข้างเหมาะสำหรับการถ่ายโอนข้อมูลขนาดเล็กไปยังเซิร์ฟเวอร์
- โพสต์. ตามคำจำกัดความที่เป็นทางการเดียวกัน วัตถุประสงค์หลักของวิธี POST คือการถ่ายโอนข้อมูลไปยังเซิร์ฟเวอร์ อย่างไรก็ตาม เช่นเดียวกับวิธี GET วิธี POST สามารถใช้ได้หลายวิธี และมักใช้เพื่อดึงข้อมูลจากเซิร์ฟเวอร์ เช่นเดียวกับวิธี GET URL ที่ระบุในแถบสถานะจะชี้ไปยังทรัพยากรเฉพาะ สามารถใช้วิธี POST เพื่อเริ่มกระบวนการได้
- วิธีการ HEAD และ PUT มีการปรับเปลี่ยน รับวิธีการและโพสต์
เวอร์ชันโปรโตคอลโดยทั่วไป HTTP จะถูกระบุในรูปแบบต่อไปนี้:
HTTP/version.modification
ฟิลด์ส่วนหัวตามบรรทัดสถานะ ช่วยให้คุณสามารถปรับแต่งคำขอได้ เช่น ส่งข้อมูลเพิ่มเติมไปยังเซิร์ฟเวอร์ ฟิลด์ส่วนหัวมีรูปแบบดังต่อไปนี้:
ชื่อฟิลด์: ค่า
วัตถุประสงค์ของฟิลด์ถูกกำหนดโดยชื่อ ซึ่งแยกจากค่าด้วยเครื่องหมายทวิภาค
ชื่อของฟิลด์ส่วนหัวที่พบบ่อยที่สุดในคำขอของลูกค้าและวัตถุประสงค์ระบุไว้ในนั้น ตารางที่ 2.1.
ตารางที่ 2.1. ช่องส่วนหัวคำขอ HTTP | |
ฟิลด์ส่วนหัวคำขอ HTTP | ความหมาย |
เจ้าภาพ | ชื่อโดเมนหรือที่อยู่ IP ของโฮสต์ที่ไคลเอ็นต์กำลังเข้าถึง |
ผู้อ้างอิง | URL ของเอกสารที่อ้างอิงถึงทรัพยากรที่แสดงอยู่ในแถบสถานะ |
จาก | ที่อยู่อีเมลของผู้ใช้ที่ทำงานกับลูกค้า |
ยอมรับ | ประเภท MIME ของข้อมูลที่ประมวลผลโดยไคลเอ็นต์ ฟิลด์นี้สามารถมีได้หลายค่า โดยคั่นด้วยเครื่องหมายจุลภาค บ่อยครั้งที่ฟิลด์ส่วนหัว Accept ถูกใช้เพื่อบอกเซิร์ฟเวอร์ว่าไฟล์กราฟิกประเภทใดที่ไคลเอนต์รองรับ |
ยอมรับภาษา | ชุดตัวระบุสองตัวคั่นด้วยเครื่องหมายจุลภาคซึ่งระบุภาษาที่ไคลเอ็นต์สนับสนุน |
ยอมรับ Charset | รายการชุดอักขระที่รองรับ |
ชนิดของเนื้อหา | ข้อมูลประเภท MIME ที่มีอยู่ในเนื้อหาคำขอ (หากคำขอไม่มีส่วนหัวเดียว) |
ความยาวของเนื้อหา | จำนวนอักขระที่มีอยู่ในเนื้อหาคำขอ (หากคำขอไม่มีส่วนหัวเดียว) |
พิสัย | นำเสนอหากลูกค้าไม่ได้ร้องขอเอกสารทั้งหมด แต่เพียงบางส่วนเท่านั้น |
การเชื่อมต่อ | ใช้เพื่อจัดการการเชื่อมต่อ TCP หากฟิลด์มีการปิด หมายความว่าเซิร์ฟเวอร์ควรปิดการเชื่อมต่อหลังจากประมวลผลคำขอ ค่า Keep-Alive แนะนำให้เปิดการเชื่อมต่อ TCP ไว้เพื่อให้สามารถใช้สำหรับคำขอครั้งต่อไปได้ |
ผู้ใช้-ตัวแทน | ข้อมูลลูกค้า |
ในหลายกรณี เมื่อทำงานบนเว็บ จะไม่มีเนื้อหาคำขอ เมื่อเรียกใช้สคริปต์ CGI ข้อมูลที่ส่งไปยังสคริปต์ดังกล่าวในคำขอสามารถวางไว้ในเนื้อหาของคำขอได้
ด้านล่างนี้เป็นตัวอย่างคำขอ HTML ที่สร้างโดยเบราว์เซอร์
รับ http://oak.oakland.edu/ HTTP/1.0
การเชื่อมต่อ: Keep-Alive
ตัวแทนผู้ใช้: Mozilla/4.04 (Win95; I)
โฮสต์: oak.oakland.edu
ยอมรับ: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */*
ยอมรับภาษา: en
ยอมรับชุดอักขระ: iso-8859-l,*,utf-8
เมื่อได้รับคำขอจากไคลเอนต์ เซิร์ฟเวอร์จะต้องตอบกลับ ความรู้เกี่ยวกับโครงสร้างของการตอบสนองของเซิร์ฟเวอร์เป็นสิ่งจำเป็นสำหรับนักพัฒนาแอปพลิเคชันเว็บ เนื่องจากโปรแกรมที่ทำงานบนเซิร์ฟเวอร์จะต้องสร้างการตอบสนองต่อไคลเอนต์อย่างอิสระ
คล้ายกับคำขอของลูกค้าการตอบสนอง เซิร์ฟเวอร์ยังประกอบด้วยสี่องค์ประกอบตามรายการด้านล่าง
- แถบสถานะ.
- ฟิลด์ส่วนหัว
- เส้นเปล่า.
- ร่างกายตอบสนอง
การตอบสนองของเซิร์ฟเวอร์ต่อไคลเอนต์เริ่มต้นด้วยบรรทัดสถานะซึ่งมีรูปแบบดังต่อไปนี้:
Protocol_version Response_code คำอธิบาย_ข้อความ
- Protocol_versionระบุไว้ในรูปแบบเดียวกับคำขอของลูกค้าและมีความหมายเหมือนกัน
- Response_codeเป็นเลขทศนิยมสามหลักซึ่งแสดงในรูปแบบเข้ารหัสซึ่งเป็นผลมาจากการให้บริการตามคำขอ เซิร์ฟเวอร์.
- ข้อความอธิบายทำซ้ำรหัสตอบกลับในรูปแบบสัญลักษณ์ นี่คือสตริงอักขระที่ไคลเอ็นต์ไม่ได้ประมวลผล มีไว้สำหรับผู้ดูแลระบบหรือผู้ปฏิบัติงานที่เกี่ยวข้องกับการบำรุงรักษาระบบ และเป็นการถอดรหัสรหัสตอบกลับ
จากตัวเลขสามหลักที่ประกอบเป็นรหัสตอบกลับ ตัวแรก (สูงสุด) กำหนดคลาสการตอบสนอง ส่วนอีกสองตัวที่เหลือแสดงถึงหมายเลขตอบกลับภายในคลาส ตัวอย่างเช่น หากประมวลผลคำขอได้สำเร็จ ไคลเอ็นต์จะได้รับข้อความต่อไปนี้:
HTTP/1.0 200 ตกลง
อย่างที่คุณเห็น โปรโตคอล HTTP เวอร์ชัน 1.0 ตามด้วยรหัส 200 ในรหัสนี้ อักขระ 2 หมายถึงการประมวลผลคำขอของไคลเอ็นต์สำเร็จ และตัวเลขสองหลักที่เหลือ (00) ระบุหมายเลขของข้อความนี้
ในการใช้งานโปรโตคอล HTTP ที่ใช้อยู่ในปัจจุบัน ตัวเลขหลักแรกต้องไม่เกิน 5 และกำหนดคลาสการตอบสนองต่อไปนี้
- 1 - คลาสพิเศษของข้อความที่เรียกว่าข้อมูล รหัสตอบกลับที่ขึ้นต้นด้วย 1 หมายความว่า เซิร์ฟเวอร์ดำเนินการตามคำขอต่อไป เมื่อแลกเปลี่ยนข้อมูลระหว่างไคลเอ็นต์ HTTP และเซิร์ฟเวอร์ HTTP ข้อความของคลาสนี้จะถูกใช้ค่อนข้างน้อย
- 2 - การประมวลผลคำขอของลูกค้าสำเร็จ
- 3 - ขอเปลี่ยนเส้นทาง คุณต้องดำเนินการเพื่อขอรับบริการ การดำเนินการเพิ่มเติม.
- 4 - ข้อผิดพลาดของไคลเอ็นต์ โดยทั่วไปแล้ว รหัสตอบกลับที่ขึ้นต้นด้วยหมายเลข 4 จะถูกส่งกลับหากมีข้อผิดพลาดทางไวยากรณ์ในคำขอของไคลเอ็นต์
- 5 - ข้อผิดพลาดของเซิร์ฟเวอร์ ด้วยเหตุผลใดก็ตาม เซิร์ฟเวอร์ไม่สามารถดำเนินการตามคำขอได้
ตัวอย่างของรหัสตอบกลับที่ไคลเอนต์สามารถรับจากเซิร์ฟเวอร์และมีข้อความอธิบายระบุไว้ ตารางที่ 2.2.
ตารางที่ 2.2. คลาสโค้ดตอบกลับของเซิร์ฟเวอร์ | ||
รหัส | การถอดรหัส | การตีความ |
ดำเนินการต่อ | คำขอบางส่วนได้รับการยอมรับแล้ว และเซิร์ฟเวอร์กำลังรอให้ไคลเอ็นต์ดำเนินการตามคำขอต่อไป | |
ตกลง | คำขอได้รับการประมวลผลเรียบร้อยแล้ว และการตอบกลับของลูกค้ามีข้อมูลที่ระบุในคำขอ | |
สร้าง | อันเป็นผลมาจากการประมวลผลคำขอ ทรัพยากรใหม่ | |
ได้รับการยอมรับ | เซิร์ฟเวอร์ยอมรับคำขอแล้ว แต่การประมวลผลยังไม่เสร็จสมบูรณ์ รหัสตอบกลับนี้ไม่รับประกันว่าคำขอจะได้รับการประมวลผลโดยไม่มีข้อผิดพลาด | |
เนื้อหาบางส่วน | เซิร์ฟเวอร์ส่งคืนทรัพยากรบางส่วนเพื่อตอบสนองต่อคำขอที่มีฟิลด์ส่วนหัวของช่วง | |
ปรนัย | คำขอชี้ไปที่ทรัพยากรมากกว่าหนึ่งรายการ เนื้อหาการตอบสนองอาจมีคำแนะนำเกี่ยวกับวิธีการระบุทรัพยากรที่ร้องขออย่างถูกต้อง | |
ย้ายถาวร | ทรัพยากรที่ร้องขอไม่มีอยู่อีกต่อไป เซิร์ฟเวอร์ | |
ย้ายชั่วคราว | ทรัพยากรที่ร้องขอได้เปลี่ยนที่อยู่ชั่วคราว | |
คำขอไม่ถูกต้อง | ตรวจพบข้อผิดพลาดทางไวยากรณ์ในคำขอของไคลเอ็นต์ | |
ต้องห้าม | ทรัพยากรที่มีอยู่บนเซิร์ฟเวอร์ไม่พร้อมใช้งานสำหรับผู้ใช้รายนี้ | |
ไม่พบ | ทรัพยากรที่ระบุโดยไคลเอ็นต์ไม่มีอยู่บนเซิร์ฟเวอร์ | |
วิธีการไม่ได้รับอนุญาต | เซิร์ฟเวอร์ไม่รองรับวิธีการที่ระบุในคำขอ | |
ข้อผิดพลาดเซิร์ฟเวอร์ภายใน | ส่วนประกอบเซิร์ฟเวอร์อย่างใดอย่างหนึ่งทำงานไม่ถูกต้อง | |
ไม่ได้ดำเนินการ | ฟังก์ชันการทำงานของเซิร์ฟเวอร์ไม่เพียงพอที่จะตอบสนองคำขอของลูกค้า | |
ไม่สามารถให้บริการได้ | ไม่สามารถให้บริการได้ชั่วคราว | |
ไม่รองรับเวอร์ชัน HTTP | เซิร์ฟเวอร์ไม่รองรับเวอร์ชัน HTTP ที่ระบุในคำขอ |
การตอบกลับใช้โครงสร้างฟิลด์ส่วนหัวเดียวกันกับคำขอของลูกค้า ฟิลด์ส่วนหัวมีวัตถุประสงค์เพื่อชี้แจงการตอบสนองของเซิร์ฟเวอร์ต่อไคลเอนต์ คำอธิบายของบางฟิลด์ที่สามารถพบได้ในส่วนหัวการตอบกลับของเซิร์ฟเวอร์มีระบุไว้ในนั้น ตารางที่ 2.3.
ตารางที่ 2.3. ฟิลด์ส่วนหัวการตอบกลับของเว็บเซิร์ฟเวอร์ | |
ชื่อฟิลด์ | คำอธิบายเนื้อหา |
เซิร์ฟเวอร์ | ชื่อเซิร์ฟเวอร์และหมายเลขเวอร์ชัน |
อายุ | เวลาเป็นวินาทีนับตั้งแต่สร้างทรัพยากร |
อนุญาต | รายการวิธีการที่อนุญาตสำหรับทรัพยากรที่กำหนด |
เนื้อหา-ภาษา | ภาษาที่ไคลเอนต์ต้องรองรับเพื่อแสดงทรัพยากรที่ถ่ายโอนอย่างถูกต้อง |
ชนิดของเนื้อหา | ข้อมูลประเภท MIME ที่มีอยู่ในเนื้อความของการตอบกลับของเซิร์ฟเวอร์ |
ความยาวของเนื้อหา | จำนวนอักขระที่มีอยู่ในเนื้อหาการตอบกลับของเซิร์ฟเวอร์ |
แก้ไขครั้งล่าสุด | วันที่และเวลาที่ทรัพยากรถูกแก้ไขครั้งล่าสุด |
วันที่ | วันที่และเวลาที่กำหนดว่าจะสร้างการตอบกลับเมื่อใด |
หมดอายุ | วันที่และเวลาที่กำหนดช่วงเวลาที่ข้อมูลที่ส่งไปยังลูกค้าถือว่าล้าสมัย |
ที่ตั้ง | ฟิลด์นี้ระบุตำแหน่งที่แท้จริงของทรัพยากร มันถูกใช้เพื่อเปลี่ยนเส้นทางคำขอ |
การควบคุมแคช | คำสั่งควบคุมการแคช ตัวอย่างเช่นไม่มี - cache หมายถึงข้อมูลไม่ควรถูกแคช |
เนื้อหาการตอบสนองประกอบด้วยรหัสทรัพยากรที่ส่งไปยังไคลเอนต์เพื่อตอบสนองต่อคำขอ ซึ่งไม่จำเป็นต้องเป็นข้อความ HTML ของหน้าเว็บ การตอบกลับอาจประกอบด้วยรูปภาพ ไฟล์เสียง ส่วนของข้อมูลวิดีโอ ตลอดจนข้อมูลประเภทอื่นๆ ที่ไคลเอ็นต์สนับสนุน เนื้อหาของฟิลด์ส่วนหัวของเนื้อหาจะบอกลูกค้าถึงวิธีการประมวลผลทรัพยากรที่ได้รับ - พิมพ์.
ด้านล่างนี้เป็นตัวอย่างการตอบสนองของเซิร์ฟเวอร์ต่อคำขอที่ให้ไว้ในส่วนก่อนหน้า เนื้อหาการตอบสนองประกอบด้วยข้อความต้นฉบับของเอกสาร HTML
เซิร์ฟเวอร์: Microsoft-IIS/5.1
X-ขับเคลื่อนโดย: ASP.NET
ประเภทเนื้อหา: text/html
ยอมรับ-ช่วง: ไบต์
แท็ก: "b66a667f948c92:8a5"
ความยาวเนื้อหา: 426