วันอังคารที่ 13 กรกฎาคม พ.ศ. 2553

HTTP KeepAlive

ไปหาข้อมูล เกี่ยวกับ Tag KeepAlive ใน HTTP

พบข้อมูลดังนี้

สรุปสั้้น ก็น่าจะเป็นว่า ประหยัด ทรัพยากรของ server
เพราะไม่ทำให้ server ต้องเชื่อมต่อ connection จำนวนมากเกินไป
เช่น user เปิด browser แล้ว กด refresh หลายๆครั้ง
ถ้าไม่มีการ keepalive ก็จะมีหลาย conncetion แต่ถ้ามี keepalive ก็จะมีแค่
หนึ่ง connection
แต่ก็ขึ้นกับ เวลา timeout ที่กำหนดโดย webserver ด้วย เช่น Apache WebServer
ปัจจุบันที่ที่ HTTP/1.1 จำกำหนด Default เป็น keepAlive อยู่แล้ว
ยกเว้นมีการกำหนด


Apache HTTP , มีการ support keepalive

เอกสารอ่านยากแนววิชาการมากหน่อย และใช้เวลามาก ก็ตัวนีี้
http://www.w3.org/Protocols/rfc2616/rfc2616-sec8.html
http://tools.ietf.org/html/rfc2616

----------------------------------------------------------------------

ที่กล่าวมาก่อนหน้าจะเป็นการพูดถึง HTTP - KeepAlive แต่จริงๆก็จะมี TCP KeepAlive ด้วย
ซึ่งเป็นการทำงานในระดับ network ระดับล่างที่ต่ำไปกว่า Level ของ HTTP
โดย HTTP นั้นจะอยู่ที่ระดับ Leyer 7 ของ TCP/IP Stack คืออยู่ระดับ Application
http://tldp.org/HOWTO/TCP-Keepalive-HOWTO/overview.html

อันนี้ก็พูดกันไปถึง  SYN/ACK เป็น TCP/IP Protocol ระดับล่างๆเลย ไม่กล่าวถึงในที่นี้
เพราะก็ยังไม่ค่อยเข้าใจนัก