linuxÖÐapacheÅäÖÃ
Ò»¡¢
±³¾°
1
£®Ê²Ã´ÊÇ
Apache
£¿
Apache£¬ÊÇÒ»ÖÖ¿ª·ÅÔ´ÂëµÄ
HTTP·þÎñÆ÷£¬¿ÉÒÔÔÚ´ó¶àÊý²Ù×÷ϵͳÖÐÔËÐУ¬ÓÉÓÚÆä¶àƽ̨ºÍ°²È«ÐÔËùÒÔ±»¹ã·ºÊ¹Óã¬ÊÇĿǰ×îÁ÷ÐеÄ
Web·þÎñÆ÷Èí¼þÖ®Ò»¡£
Apache Æð³õÓÉ
Illinois ´óѧ
Urbana-Champaign µÄ¹ú¼Ò¸ß¼¶¼ÆËã³ÌÐòÖÐÐÄ¿ª·¢£¬¿ªÊ¼
ApacheÖ»ÊÇ×÷Ϊ
NetscapeÍøÒ³·þÎñÆ÷Ö®ÍâµÄÑ¡Ôñ¡£½¥½¥µÄ£¬Ëü¿ªÊ¼ÔÚ¹¦ÄܺÍËÙ¶ÈÉϳ¬Ô½ÆäËü»ùÓÚ
UnixµÄ
HTTP·þÎñÆ÷¡£´Ó
1996Äê
4ÔÂÒÔÀ´£¬
ApacheÒ»Ö±ÊÇ
InternetÉÏ×îÁ÷ÐеÄ
HTTP·þÎñÆ÷
: 1999Äê
5ÔÂËüÔÚ
57% µÄÍøÒ³·þÎñÆ÷ÉÏÔËÐУ»¶øµ½ÁË
2005Äê
7ÔÂÕâ¸ö±ÈÀýÉÏÉýµ½ÁË
69%¡£
ApacheÃû³ÆµÄÓÉÀ´ÊÇΪÁ˼ÍÄîÃÀÖÞÓ¡µÚ°²ÈËÍÁÖøÖеÄÒ»Ö§£¬ÒòΪÕâÖ§ÍÁÖøÓµÓÐ×î¸ß³¬µÄ×÷Õ½²ßÂÔºÍÎÞÇîµÄÄÍÐÔ¡£
2.
ʲôÊÇ
Apache HTTP Server
£¿
Apache HTTP Server(
Ò²±»³ÆÎª
Apache httpd)
ÊÇ
Apache
Èí¼þ»ù½ð»á´´½¨µÄÒ»¸ö½¡×³µÄ¡¢¹¤Òµ¼¶µÄ¡¢¹¦ÄÜÇ¿´óµÄ¡¢¿ª·ÅÔ´´úÂëµÄ
HTTP(Web)
·þÎñÆ÷¡£
¶þ¡¢
httpd.conf
Öг£ÓòÎÊý½éÉÜ
1£®
Á¬½ÓÀà²ÎÊý
l
TimeOut
·þÎñÆ÷Ôڶ϶¨ÇëÇóʧ°ÜǰµÈ´ýµÄʱ¼ä
,¼´
½ÓÊպͷ¢ËÍÊý¾ÝµÄ³¬Ê±Ê±¼ä¡£
¡¾ËµÃ÷¡¿
TimeOut²ÎÊýÓÃÓÚÉèÖÃ
ApacheÔڵȴýÒÔÏÂÈýÖÖʼþµÄʱ¼ä£º
u
½ÓÊÜÒ»¸ö
GETÇëÇóºÄ·ÑµÄ×Üʱ¼ä¡£
u
POST»ò
PUTÇëÇóʱ£¬½ÓÊÜÁ½¸ö
TCP°üÖ®¼äµÄʱ¼ä¡£
u
»ØÓ¦Ê±
TCP°ü´«ÊäÖÐÁ½¸ö
ACK°üÖ®¼äµÄʱ¼ä¡£
»¹¿ÉÒÔÀí½â³É
ApacheÔÊÐíÿ´Îͨ¹ý
HTTPÐÒé´«ÊäÊý¾ÝµÄ×î´óʱ¼ä¡£
l
KeppAlive
ÆôÓÃ
HTTP³ÖÐø×÷Óá£
¡¾ËµÃ÷¡¿
³ÖÐø×÷ÓÃÀ©Õ¹×Ô
HTTP/1.0ºÍ
HTTP/1.1µÄ³¤Á¬½ÓÌØÐÔ¡£ÌṩÁ˳¤Ð§µÄ
HTTP»á»°£¬ÓÃÒÔÔÚͬһ¸ö
TCPÁ¬½ÓÖнøÐжà´ÎÇëÇó¡£ÔÚijЩÇé¿öÏ£¬ÕâÑùµÄ·½Ê½»á¶Ô°üº¬´óÁ¿Í¼Æ¬µÄ
HTMLÎļþÆðµ½
50%µÄ¼ÓËÙ×÷Ó᣶ÔÓÚʹÓÃ
HTTP/1.0µÄ¿Í»§¶ËÀ´Ëµ£¬Ö»Óпͻ§¶ËÉèÖÃʹÓõÄʱºò²Å»áʹÓóÖÐø×÷ÓÃÁ¬½Ó¡£¶ø¶ÔÓÚ
HTTP/1.1µÄ¿Í»§¶ËÀ´Ëµ£¬Èç¹ûûÓнøÐÐÌØÊâÖ¸¶¨£¬³¤Á¬½Ó½«ÊÇĬÈϵÄÁ¬½Ó·½Ê½¡£
l
MaxKeppAliveRequests
Ò»¸ö³¤Á¬½ÓÖÐÔÊÐíµÄÇëÇóÊýÁ¿¡£
¡¾ËµÃ÷¡¿
¸Ã²ÎÊýÏÞÖÆÁ˵±ÆôÓÃ
KeepAlive
ʱ£¬Ã¿´ÎÁ¬½ÓÔÊÐíµÄÇëÇóÊýÁ¿¡£Èç¹û½«´ËÖµÉèΪ
0£¬½«²»ÏÞÖÆÇëÇóµÄÊýÁ¿¡£ÕâÀィÒé×îºÃ½«´ËÖµÉèΪһ¸ö±È½Ï´óµÄÖµ£¬ÒÔÈ·±£×îÓŵķþ
Ïà¹ØÎĵµ£º
ÀýÒ»£º·¢ËÍSignaling Packet£º
Signaling CommandÊÇ2¸öBluetoothʵÌåÖ®¼äµÄL2CAP²ãÃüÁî´«Êä¡£ËùÒÔµÃSignaling CommandʹÓÃCID 0x0001.
¶à¸öCommand¿ÉÒÔÔÚÒ»¸öC-frame£¨control frame£©Öз¢ËÍ¡£
Èç¹ûÒªÖ±½Ó·¢ËÍSignaling Command.ÐèÒª½¨Á¢SOCK_RAWÀàÐ͵ÄL2CAPÁ¬½ÓSocket¡£ÕâÑù²ÅÓлú»á×Ô¼ºÌî³äCommand Code£¬Identi ......
Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖÐÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀÐÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......
ÔÚlinuxÖÐËùÓеÄsyscall¶¼Êǵ÷ÓÃint 0x80, int 0x80µÄÖжϷþÎñ³ÌÐòΪsystem_call(arch/x86/kernel/traps_32.c:set_system_gate(SYSCALL_VECTOR,&system_call). system_call (arch/x86/entry_32.S)×îÖÕcall *sys_call_table(,%eax,4)À´Íê³ÉÒ»¸ösyscallµ÷ÓÃ.
¼´ int 0x80 -> system_call -> s ......
Linux²Ù×÷ϵͳ¶¨Ê±µ÷¶ÈϵͳCron½éÉÜ
cronÊÇÒ»¸ölinuxÏµĶ¨Ê±Ö´Ðй¤¾ß£¬¿ÉÒÔÔÚÎÞÐèÈ˹¤¸ÉÔ¤µÄÇé¿öÏÂÔËÐÐ×÷Òµ£¬±¾Îĵµ²»½²cronʵÏÖÔÀí£¬Ö÷Òª½²Ò»ÏÂcronµÄ¾ßÌåʹÓü°¼òµ¥½éÉÜ¡£
ÐÂÔöµ÷¶ÈÈÎÎñ
ÍÆ¼öʹÓÃcrontab -eÃüÁîÌí¼Ó×Ô¶¨ÒåµÄÈÎÎñ£¨±à¼µÄÊÇ/var/spool/cron϶ÔÓ ......