โครงสร้างข้อความ HTTP
HTTP เป็นลูกค้า / เซิร์ฟเวอร์ (C / S) รุ่นสถาปัตยกรรมเพื่อแลกเปลี่ยนข้อมูลผ่านการเชื่อมโยงการรักษาความปลอดภัยเป็นคำขอ / โปรโตคอลการตอบสนองไร้สัญชาติ
การเชื่อมต่อ HTTP "ลูกค้า" เป็นโปรแกรม (เว็บเบราว์เซอร์หรือโปรแกรมอื่น ๆ ) โดยการส่งคำขอเพื่อเชื่อมต่อกับเซิร์ฟเวอร์เพื่อให้บรรลุหนึ่งหรือมากกว่าหนึ่งของวัตถุประสงค์เซิร์ฟเวอร์ HTTP
การเชื่อมต่อ HTTP "เซิร์ฟเวอร์" นอกจากนี้ยังเป็นโปรแกรมที่ (มักจะเป็นบริการเว็บเช่นเว็บเซิร์ฟเวอร์ Apache หรือ IIS เซิร์ฟเวอร์ ฯลฯ ) โดยได้รับการร้องขอของลูกค้าเพื่อให้ลูกค้าที่จะส่งข้อมูลการตอบสนอง HTTPHTTP ใช้ระบุทรัพยากรเครื่องแบบ (Uniform Resource Identifiers, URI) ในการส่งข้อมูลและสร้างการเชื่อมต่อ
เมื่อเชื่อมต่อจะขึ้นข้อความข้อมูลบนอินเทอร์เน็ตผ่านทางรูปแบบอีเมลเดียวกับที่ใช้ [RFC5322] และ Multipurpose Internet Mail Extensions (MIME) [RFC2045] ในการส่ง
ข้อความคำขอของลูกค้า
ไคลเอนต์ส่งการร้องขอ HTTP กับข้อความคำขอเซิร์ฟเวอร์รวมถึงรูปแบบดังนี้รูปแบบทั่วไปของสายการร้องขอ (สายคำขอ) หัวข้อการร้องขอ (หัว) บรรทัดว่างและข้อมูลการร้องขอของสี่ส่วนรูปต่อไปนี้แสดงแพ็กเก็ตการร้องขอ .
ข้อความตอบกลับของเซิร์ฟเวอร์
การตอบสนอง HTTP ยังประกอบด้วยสี่ส่วน ได้แก่ สายสถานะส่วนหัวของข้อความบรรทัดที่ว่างเปล่าและการตอบสนองของร่างกาย
ตัวอย่าง
ตัวอย่างต่อไปนี้คือการใช้งานทั่วไปน้อยได้รับการส่งผ่านข้อมูลเช่น:
การร้องขอของลูกค้า:
GET /hello.txt HTTP/1.1 User-Agent: curl/7.16.3 libcurl/7.16.3 OpenSSL/0.9.7l zlib/1.2.3 Host: www.example.com Accept-Language: en, mi
การตอบสนองของเซิร์ฟเวอร์:
HTTP/1.1 200 OK Date: Mon, 27 Jul 2009 12:28:53 GMT Server: Apache Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT ETag: "34aa387-d-1568eb00" Accept-Ranges: bytes Content-Length: 51 Vary: Accept-Encoding Content-Type: text/plain
เอาท์พุท:
Hello World! My payload includes a trailing CRLF.