Your SlideShare is downloading. ×
‫داﻧﺸ ﺎه ﺷﻬﯿﺪ ﺑﻬﺸﺘ‬ ‫داﻧﺸ ﺪه ﻣﻬﻨﺪﺳ ﺑﺮق و ﮐﺎﻣﭙﯿﻮﺗﺮ‬         ‫ﭘﺮوژهی ﮐﺎرﺷﻨﺎﺳ‬ ‫ﻣﻬﻨﺪﺳ ﮐﺎﻣﭙﯿﻮﺗﺮ ﮔﺮاﯾﺶ ﻧﺮم اﻓﺰار‬         ‫ﻣﻮﺿﻮ...
‫ﭼ ﯿﺪه:‬‫وب ﺑﻪ ﻋﻨﻮان ﻣﻬﻤﺘﺮﯾﻦ ﺑﺴﺘﺮ اراﺋﻪ ﻧﺮماﻓﺰار و ﺳﺮوﯾﺲ، ﺗﺎ ﺟﺎﯾﯽ ﺟﻠﻮ رﻓﺘﻪ ﮐﻪ اﻣﺮوزه ﻣﺤﯿﻂﻫﺎی‬‫ﺑﺴﺘﺮ و ﭘﺮوﺗﮑﻞ ﺑﺴﯿﺎر ﺳﺎده اﺳﺖ...
‫ﺐﻟﺎﻄﻣ ﺖﺳﺮﻬﻓ‬١.............................................................................              ‫1 ﻪﻣﺪﻘﻣ‬٣..........
٢٩............................................................................. ASP     2.4.7.2٣٠............................
‫5.01.4.2 ‪٤٨................................................................ Apple Safari‬‬‫6.01.4.2 ‪٥٠....................
‫3.1.2.6.2ﺖﺷﺎﮕﻧ رواﺑﻂ اﺷﯿﺎء )‪٦٩........................................... (ORM‬‬‫داده از دﺳﺘﻮر در ﺎﭘﯾ ﺎه داده .............
٨٩...........................................‫ﭼﻬﺎرﭼﻮﺑﻬﺎی ﺗﺠﺎری ﭘﺮﮐﺎرﺑﺮد‬                       ٢٬۶٬٣٨٩.......................
‫‪٩٦............................................................ Yii‬‬               ‫۴٬۵٬٣٬۶٬٢‬‫‪٩٦.........................
‫‪١٠٧....................................................... Confidentiality‬‬                   ‫1.1.3‬‫‪١٠٧................
‫ارﺟﺎع ﻘﺘﺴﻣﯿﻢ ﻦﺌﻤﻄﻣﺎﻧ ﻪﺑ ﻣﺤﺘﻮا ..................................٣٢١‬                           ‫۵٬٢٬٣‬‫ﻞﻌﺟ درﺧﻮاﺳﺖ ﺑﯿﻦ ﺎﺳ...
‫ﺪﻣﯾﺮﯾﺖ ﮐﺎرﺑﺮان و ﺖﺴﺸﻧ.................................................٧٣١‬            ‫۴٬١٬١٬۴‬‫ﮐﻨﺘﺮل دﺳﺘﺮﺳ ................
‫دﺳﺘﻮرات ﻬﻣﯿﺎ ﺷﺪه )‪١٤٤...................... (Prepared Statement‬‬                       ‫٢٬١٬٢٬۴‬‫ﺑﺮرﺳ ورودی ..............
‫‪١٥٥.............................................. IP Binding‬‬                       ‫1.2.7.2.4‬‫ﺎﻬﻬﻔﻟﻮﻣی ﮐﺎوﺷ ﺮ ..........
‫ﻣﻘﺪﻣﻪ:‬     ‫١‬‫وب، ﺑﻪ ﻋﻨﻮان ﺑﺴﺘﺮ اراﺋﻪ ﺧﺪﻣﺎت در ﭼﻨﺪﯾﻦ ﺳﺎل اﺧﯿﺮ ﺑﻪ ﻣﻬﻤﺘﺮﯾﻦ رﺳﺎﻧﻪ ﺗﺒﺪﯾﻞ ﺷﺪه-‬‫ﺗﺎ ﺳﺎزﻣﺎن ﻫﺎی ﺑﺰرگ دوﻟﺘ ﺧﺪﻣﺎ...
‫ﺗﮑﻨﻮﻟﻮژی ﺧﺎص ﻫﺴﺘﻨﺪ، ﺗﺎ ﺟﺎﯾﯽ ﮐﻪ ﻧﻘﻄﻪ ﻗﻮت ﮐﺎوﺷ ﺮ وب ‪ Google Chrome‬ﺑﻪ ﻋﻨﻮان‬‫ﺤﻣﺒﻮبﺗﺮﯾﻦ ﮐﺎوﺷ ﺮ وب ٢١٠٢ )ﭘﺲ از ﺗﻨﻬﺎ ۶ ﺳﺎل ﻓﻌ...
‫ﻓﺮﻌﻣﻢ ﻫﺎﻔﻣ ﯽ‬           ‫٢‬ ‫ﺷﻨﺎﺧﺖ ﭼﻬﺎرﭼﻮبﻫﺎی ﺗﻮﺳﻌﻪ وب اﻣﻦ ﻧﯿﺎزﻣﻨﺪ آﺷﻨﺎﯾﯽ ﺑﺎ ﻣﻔﺎﻫﯿﻢ و ﭘﺪﯾﺪهﻫﺎی ﺳﻄ‬              ‫ﻦﯿﯾﺎﭘﺗﺮ ...
‫ﺷ‪‬ﻞ ٢ اﻣﻨﯿﺖ ﻧﺮماﻓﺰار ﺑﻪ ﻣﻬﻤﺘﺮﯾﻦ ﺷﻐﻞ اﻧﻔﻮرﻣﺎﺗﯿ‪ ‬ﺗﺒﺪﯾﻞ ﺷﺪه اﺳﺖ‬‫اﻣﻨﯿﺖ ﻧﺮماﻓﺰار، ﺑﻪ ﻣﺜﺎﺑﻪ ﺧﻮد ﻧﺮماﻓﺰار، دارای ﺗﻨﻮع ﻗﺎﺑﻞ ...
‫وب و ‪:HTTP‬‬          ‫٢٬٢‬‫وب، ﺑﻪ ﻋﻨﻮان ﺑﺴﺘﺮ اﯾﺪهآل اراﺋﻪ ﻣﺤﺘﻮا اﻣﺮوزه ﺑﻪ اﺻﻠ ﺗﺮﯾﻦ رﺳﺎﻧﻪ ﻧﺮماﻓﺰارﻫﺎ ﺗﺒﺪﯾﻞ ﺷﺪه‬‫اﺳﺖ. در ...
‫ﺻﻔﺤﺎت ﭘﻮﯾﺎ، ﺗﻨﻬﺎ در ﺳﻤﺖ ﻣﺸﺘﺮی ﭘﻮﯾﺎ ﺑﻮدﻧﺪ، ﺑﺪﯾﻦ ﻣﻌﻨ ﮐﻪ اﻣ ﺎن اﯾﺠﺎد اﻧﯿﻤﯿﺸﻦ و‬ ‫اﻓﮑﺖﻫﺎی ﺳﺎده ﺑﺮ روی ﮐﺎوﺷ ﺮ ﮐﺎرﺑﺮ ﻣﺮور ﮐﻨﻨﺪه...
‫ﻣ ﺷﺪ ﺗﺎ ﺑﺮای ﻣﻘﺼﺪ ﻓﺮﺳﺘﺎده ﺷﻮد. ﻫﻤﭽﻨﯿﻦ ﺻﻔﺤﻪ ﺑﺎﯾﺪ ﺑﻪ ﺻﻮرت دورهای ﺑﺮوزرﺳﺎﻧ ﻣ -‬‫ﺷﺪ ﺗﺎ ﭘﯿﺎمﻫﺎی ارﺳﺎﻟ ﻃﺮف ﻣﻘﺎﺑﻞ ﻧﯿﺰ درﯾﺎﻓﺖ ﮔﺮد...
‫اراﺋﻪ ﮐﺮد ﮐﻪ ﺑﻼﻓﺎﺻﻠﻪ ﺗﻮﺳﻂ ﮐﺎوﺷ ﺮﻫﺎی ﻣﻄﺮح ﻣﺎﻧﻨﺪ‬              ‫ﭘﯿﺸﻨﻮﯾﺲ ﻋﻤﻠﯿﺎﺗ‬   ‫ﻋﻨﻮان ﯾ‬‫‪ Firefox‬و ‪ IE‬ﭘﯿﺎدهﺳﺎزی ﮔﺮدﯾ...
‫ﭘﻮﺳﺘﻪ ﺑﺮای‬      ‫ﺷﺪ و دادهﻫﺎی آن در ﺻﻔﺤﻪ اﻋﻤﺎل ﻣ ﺷﺪ. در واﻗ ﺻﻔﺤﺎت ﺗﻨﻬﺎ ﺑﻪ ﯾ‬                                       ‫دﺳﺘﮑ...
‫»ﻣﺎ در ﺻﻨﻌﺖ ﺳﺨﺖاﻓﺰار، ﻣﺠﺒﻮرﯾﻢ ﺑﻪ ﺷﺪت ﻣﺤﺼﻮل را ﺗﺴﺖ و ﺑﺮرﺳ ﮐﻨﯿﻢ. ﻫﺰﯾﻨﻪ‬‫ﺟﻤ آوری و اﺻﻼح ﻣﺤﺼﻮل ﻣﻌﯿﻮب ﺑﺴﯿﺎر ﮔﺰاف اﺳﺖ. اﯾﻦ ﻃﺮز ...
‫‪HTTP‬‬        ‫١٬۴٬٢‬‫اچ ﺗ ﺗ ﭘﯽ، ﭘﺮوﺗﮑﻞ اﻧﺘﻘﺎل اﺑﺮﻣﺘﻦ )‪ (Hypertext Transfer Protocol‬ﺑﺴﺘﺮ اﻧﺘﻘﺎل‬‫ﭘﺮوﺗﮑﻞ ﺷﺒ ﻪ در ﺳﻄ ﻧﺮم...
‫درﺧﻮاﺳﺖﻫﺎی ‪ HTTP‬ﭼﻬﺎر ﻧﻮع اﺻﻠ دارﻧﺪ: ‪ GET/POST/DELETE/PUT‬ﺎﻬ ﺗ ﻪﮐ‬        ‫‪ GET,POST‬ﮐﺎرﺑﺮد ﮔﺴﺘﺮدهای ﯾﺎﻓﺘﻪاﻧﺪ. ﺑﺪﻧﻪ در...
‫‪Response Body‬‬‫در ﭘﺎﺳ ﻧﯿﺰ ﺧﻂ اﺑﺘﺪاﯾﯽ، ﻣﺸﺨﺺ ﮐﻨﻨﺪه وﺿﻌﯿﺖ ﭘﺎﺳ اﺳﺖ. ﮐﻠﻤﻪ اول ﻧﺴﺨﻪ ﭘﺮوﺗﮑﻞ،‬‫ﮐﻠﻤﻪ دوم ﮐﺪ ﭘﺎﺳ )ﮐﻪ ﺣﺪود ۵٢ ﺣﺎﻟﺖ...
‫ﺷ‪‬ﻞ ٧ ﺷﻤﺎﯾﻞ ﺳﺎده ﯾ‪ ‬ﺳﻨﺪ ‪HTML‬‬‫‪ HTTP‬ﺑﻪ ﻣﺸﺘﺮی ارﺳﺎل ﻣ -‬      ‫ﭘﺎﺳ‬     ‫اﺳﻨﺎد ‪ HTML‬ﻣﻌﻤﻮﻻ در ﻗﺴﻤﺖ ﺑﺪﻧﻪی ﯾ‬‫ﺳﺎﺧﺘﺎر...
‫ﭘﺮدازش آن، ﺗﻤﺎﻣ ﻓﺎﯾﻠﻬﺎی ارﺟﺎع ﺷﺪه را ﻧﯿﺰ ﺑﻪ ﺗﻔﮑﯿ از ﺳﺮور درﺧﻮاﺳﺖ و درﯾﺎﻓﺖ ﻧﻤﺎﯾﺪ ﺗﺎ‬‫ﺑﺘﻮاﻧﺪ ﺻﻔﺤﻪ را ﺗﻤﺎم و ﮐﻤﺎل ﻧﻤﺎﯾﺶ دﻫﺪ....
‫ﮐﺮده، ﺗﺠﺰﯾﻪ و ﺗﺤﻠﯿﻞ ﻣ ﮐﻨﻨﺪ. ﺑﺮای اﯾﻦ اﺑﺰار ﻗﺎﻟﺐ ﺑﻨﺪی ﺻﻔﺤﻪ اﻫﻤﯿﺖ ﺧﺎﺻ ﻧﺪارد و‬                                             ...
‫ﺷ‪‬ﻞ9 ﻧﻤﺎﯾﻪ ‪ ،jQuery‬ﻣﺤﺒﻮبﺗﺮﯾﻦ ﮐﺘﺎﺑﺨﺎﻧﻪ ﺟﺎواﺳ‪‬ﺮﯾﭙﺖ‬‫زﺑﺎن ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯿﺴﺖ ﮐﻪ ﻣﺘﻐﯿﺮﻫﺎی آن ﻧﻮع ﭘﻮﯾﺎ دارﻧﺪ، ﻣﺒﺘﻨ ﺑﺮ ﺷ ء‬  ...
‫>’‪<script type=’text/javascript‬‬      ‫)‪function showSomeMessage(e‬‬      ‫{‬             ‫;)”!‪alert(“You brought you...
‫ﺑﻪ دﻟﯿﻞ اﯾﻨﮑﻪ در اﺑﺘﺪا دادهﻫﺎی درﯾﺎﻓﺘ از ﻧﻮع ‪ XML‬ﺑﻮدهاﻧﺪ و ﺗﻮﺳﻂ ﺟﺎواﺳ ﺮﯾﭙﺖ‬‫ﭘﺮدازش ﺷﺪه ﺑﻪ ﻧﻮع دﻟﺨﻮاه ﺗﺒﺪﯾﻞ ﻣ ﺷﺪﻧﺪ، اﯾﻦ ...
‫اﻣﺮوز ﻫﻢ ﺟﺎواﺳ ﺮﯾﭙﺖ و آژاﮐﺲ ﺗﻨﻬﺎ در ﻣﺤﺪوده ‪ Same Origin Policy‬ﻣ ﺗﻮاﻧﻨﺪ ﺑﺎ‬‫ﺳﺮور ﺧﻮد ﺗﻤﺎس ﺣﺎﺻﻞ ﻧﻤﺎﯾﻨﺪ، ﺑﺪﯾﻦ ﻣﻌﻨ ﮐﻪ ﺟﺎواﺳ...
‫‪ HTTPS‬ﻫﻤﺎن ﭘﺮوﺗﮑﻞ ‪ HTTP‬اﺳﺖ ﮐﻪ در ﻻﯾﻪ زﯾﺮﯾﻦ ﺧﻮد ﺑﺮ روی ﭘﺮوﺗﮑﻞ ‪) SSL‬ﺎﯾ‬‫ﻧﺴﺨﻪ ﺟﺪﯾﺪ آن ‪ (TLS‬ﺗﮑﯿﻪ ﻣ ﺪﻨﮐ. اﯾﻦ ﭘﺮوﺗﮑﻞﻫﺎ ...
‫ﭘﺮ واﺿ اﺳﺖ ﮐﻪ روش اول ﺑﺎزدﻫ ﺑﺴﯿﺎر ﺑﺎﻻﺗﺮی دارد و ﺳﺮﻋﺖ ﻗﺎﺑﻞ ﺗﻮﺟﻪﺗﺮی ﮐﺴﺐ‬‫از ﻧ ﻫﺎ دﭼﺎر ﻣﺸ ﻞ ﺷﻮد، ﯾﺎ ﻣﻌﻀﻞ اﻣﻨﯿﺘ ﺑﺮای آن ﭘﯿﺶ ﺑ...
‫ﺷ‪‬ﻞ ٢١ ﻧﻤﺎﯾﻪ آﭘﺎﭼ‪) ‬وب ﺳﺮور(‬                     ‫٢٬٦٬٤٬٢ )‪Internet Information Services (IIS‬‬‫وب ﺳﺮور ﻣﺎﯾ ﺮوﺳﺎﻓﺖ ...
‫٣٬٦٬٤٬٢ ‪nginx‬‬‫ﺗﻮﺳﻌﻪ دﻫﻨﺪه روﺳ . ﺗﻘﺮﯾﺒﺎ ٠١ درﺻﺪ ﺳﺎﯾﺘﻬﺎی‬       ‫ﺳﺮور ﻣﺘﻦ ﺑﺎز و ﺳﺎده ﺗﻮﺳﻂ ﯾ‬   ‫ﯾ‬ ‫اﯾﻨﺘﺮﻧﺘ از اﯾﻦ ﺳﺮور ...
‫ﺷ‪‬ﻞ ٥١ درﺻﺪ ﻣﺼﺮف وب ﺳﺮورﻫﺎی ﻣﺨﺘﻠﻒ در ﺳﺎﻟﻬﺎی ﻣﺨﺘﻠﻒ )ﮔﺰارش ﺷﺪه ﺗﻮﺳﻂ ﻧﺖ ﮐﺮاﻓﺖ(‬‫از وبﺳﺮورﻫﺎی ﻣﻌﺮﻓ ﺷﺪه، ﺗﻤﺎم آﻧﻬﺎ ﺑﺮ روی ﻫﻤ...
‫در اﺑﺘﺪا از زﺑﺎنﻫﺎی ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺴ ﻣﻌﻤﻮﻟ ﻣﺎﻧﻨﺪ ‪ C‬و ++‪ C‬و ‪ Perl‬ﺑﺮای ﻧﻮﺷﺘﻦ وب ﭘﻮﯾﺎ‬‫اﺳﺘﻔﺎده ﻣ ﺷﺪ. ﺑﻪ اﯾﻦ ﺑﺮﻧﺎﻣﻪﻫﺎ ‪ CGI S...
‫ﻣ دﻫﻨﺪ و ﺗﻨﻬﺎ ٠١% ﺑﺮای ﭘﺮدازش دادهﻫﺎ و ﻣﻨﻄﻖ ﺑﺮﻧﺎﻣﻪ ﺻﺮف ﻣ ﺷﻮد، و اﻣ ﺎﻧﺎت‬                   ‫ﺧﺮوﺟ دادن زﺑﺎنﻫﺎﯾﯽ ﻣﺎﻧﻨﺪ ‪ C‬...
‫ﻣﺘﻐﯿﺮﻫﺎ ﺑﻪ ﺻﻮرت آزاد، ﺑﺎﻋﺚ ﻣ ﺷﻮد ﺑﺮﻧﺎﻣﻪﺲﯾﻮﻧ ‪ PHP‬ﺧﻮد را درﮔﯿﺮ‬            ‫ﻧﻮع دﻫ‬‫ﺑﺮﻧﺎﻣﻪ‬    ‫ﻣﺘﻐﯿﺮﻫﺎ و ﻧﻮع آﻧﻬﺎ ﻧﮑﻨﺪ و...
‫ﻣﺘﺎﺳﻔﺎﻧﻪ اﮐﺜﺮ اﯾﻦ ﭼﻬﺎرﭼﻮبﻫﺎ ، ﺗﻮﺳﻂ ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺴﺎن ﻣﻌﻤﻮﻟ و ﻣﺘﻦﺑﺎز ﻃﺮاﺣ ﺷﺪهاﻧﺪ و‬                     ‫اﯾﻦ اﻣﺮ ﻣﻨﺠﺮ ﺑﻪ ﻋﺪم رﻋ...
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Secure Web Application Development Framework (Persian)
Upcoming SlideShare
Loading in...5
×

Secure Web Application Development Framework (Persian)

1,099

Published on

This is Abbas Naderi's thesis on developing secure web application frameworks and their criteria.

Abbas Naderi is OWASP Chapter Leader of Iran with 5+ years of OWASP activity and 7+ years of information security expertise.

The thesis covers all necessary basics and information plus current trends in security and web application development, then covers main topics on how to securely develop web applications.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,099
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
72
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Secure Web Application Development Framework (Persian)"

  1. 1. ‫داﻧﺸ ﺎه ﺷﻬﯿﺪ ﺑﻬﺸﺘ‬ ‫داﻧﺸ ﺪه ﻣﻬﻨﺪﺳ ﺑﺮق و ﮐﺎﻣﭙﯿﻮﺗﺮ‬ ‫ﭘﺮوژهی ﮐﺎرﺷﻨﺎﺳ‬ ‫ﻣﻬﻨﺪﺳ ﮐﺎﻣﭙﯿﻮﺗﺮ ﮔﺮاﯾﺶ ﻧﺮم اﻓﺰار‬ ‫ﻣﻮﺿﻮع ﭘﺮوژه:‬‫ﭼﻬﺎرﭼﻮب ﺗﻮﺳﻌﻪ وب اﻣﻦ‬ ‫اﺳﺘﺎد راﻫﻨﻤﺎ:‬ ‫ﺟﻨﺎب آﻗﺎی دﮐﺘﺮ ذاﮐﺮاﻟﺤﺴﯿﻨ‬ ‫ﮔﺮدآوردﻧﺪه:‬ ‫ﻋﺒﺎس ﻧﺎدری اﻓﻮﺷﺘﻪ‬ ‫‪abbas.naderi@owasp.org‬‬ ‫ﺑﻬﺎر ١٩٣١‬
  2. 2. ‫ﭼ ﯿﺪه:‬‫وب ﺑﻪ ﻋﻨﻮان ﻣﻬﻤﺘﺮﯾﻦ ﺑﺴﺘﺮ اراﺋﻪ ﻧﺮماﻓﺰار و ﺳﺮوﯾﺲ، ﺗﺎ ﺟﺎﯾﯽ ﺟﻠﻮ رﻓﺘﻪ ﮐﻪ اﻣﺮوزه ﻣﺤﯿﻂﻫﺎی‬‫ﺑﺴﺘﺮ و ﭘﺮوﺗﮑﻞ ﺑﺴﯿﺎر ﺳﺎده اﺳﺖ ﮐﻪ‬ ‫ﻪﻣﺎﻧﺮﺑﺳﺎزی و ﺣﺘ ﺳﯿﺴﺘﻢﻫﺎی ﻋﺎﻣﻞ ﺗﺤﺖ وب ﻗﺮار ﮔﺮﻓﺘﻪاﻧﺪ.وب ﯾ‬‫ﺑﺎ اﻫﺪاف دﯾ ﺮی ﻃﺮاﺣ ﺷﺪه ﺑﻮده و ﺑﻪ ﺻﻮرت اﻧﻔﺠﺎری ﮔﺴﺘﺮش ﯾﺎﻓﺘﻪ اﺳﺖ، ﺑﻪ ﻫﻤﯿﻦ دﻟﯿﻞ ﺗﻮﻟﯿﺪ ﻧﺮم-‬‫اﻓﺰارﻫﺎی ﻣﺒﺘﻨ ﺑﺮ وب ﻧﯿﺎزﻣﻨﺪ ﭼﻬﺎرﭼﻮبﻫﺎی ﮔﺴﺘﺮده و ﻗﺪرﺗﻤﻨﺪی ﻫﺴﺘﻨﺪ. اﯾﻦ ﭼﻬﺎرﭼﻮبﻫﺎی ﻣﻌﻤﻮﻻ در‬‫اﻧﺠﻤﻦﻫﺎی ﻣﺘﻦﺑﺎز ﺷ ﻞ ﮔﺮﻓﺘﻪاﻧﺪ و ﻧﻘﺎط ﺿﻌﻒ اﻣﻨﯿﺘ دارﻧﺪ. در اﯾﻦ ﺳﻨﺪ ﭼﻬﺎرﭼﻮب ﺗﻮﺳﻌﻪ وب اﻣﻦ، ﺑﺎ‬‫اﺗﮑﺎ ﺑﻪ دو ﭼﻬﺎرﭼﻮب ﺗﻮﻟﯿﺪ ﺷﺪه ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﻣﻨﯿﺖ وب ﻣﻄﺮح ﺷﺪهاﻧﺪ. اﺑﺘﺪا ﻣﻔﺎﻫﯿﻢ و ﺳﺎﺧﺘﺎر وب ﺑﻪ‬‫ﺗﻔﺼﯿﻞ ﺑﺤﺚ ﺷﺪه ﺗﺎ ﺧﻮاﻧﻨﺪه ﺑﺘﻮاﻧﺪ ﻧﯿﺎز و ﭘﺎﺳ را ﺑﻪ ﺧﻮﺑﯽ درک ﮐﻨﺪ. ﺳﭙﺲ ﻣﺨﺎﻃﺮات ﻣﻮﺟﻮد در اﻣﻨﯿﺖ‬ ‫وب ﻣﻄﺮح و ﺑﺮرﺳ ﺷﺪهاﻧﺪ و در ﺑﺨﺶ اﻧﺘﻬﺎﯾﯽ راﻫ ﺎرﻫﺎی ﻣﻘﺎﺑﻠﻪ ﺑﺎ اﯾﻦ ﻣﺨﺎﻃﺮات اراﺋﻪ ﺷﺪهاﻧﺪ.‬‫ﻣﻔﺎﻫﯿﻤ ﻣﺎﻧﻨﺪ ﻣﻌﻤﺎری وب، ﭘﺮوﺗﮑﻞﻫﺎی ﻣﺠﻮد در وب، ﺗﮑﻨﻮﻟﻮژیﻫﺎی ﻣﻮرد اﺳﺘﻔﺎده در وب،‬‫ﮐﺎوﺷ ﺮﻫﺎی وب، اﻣﻨﯿﺖ ﻋﻤﻮﻣ وب، اﻣﻨﯿﺖ ﻧﺮماﻓﺰار، ‪ ،MVC‬ﭼﻬﺎرﭼﻮبﻫﺎی ﺗﻮﺳﻌﻪ وب و ﻧﯿﺎزﻣﻨﺪیﻫﺎی‬ ‫آﻧﺎن، ﻣﻌﻀﻼت ﻣﺨﺘﻠﻒ وب، ﺗﻌﺎرﯾﻒ اﻣﻨﯿﺖ اﻃﻼﻋﺎت، راﻫ ﺎرﻫﺎی ﺗﻔﺼﯿﻠ و ﻓﻨ ﻣﻘﺎﺑﻠﻪ ﺑﺎ ﻣﻌﻀﻼت اﻣﻨﯿﺘ‬ ‫و دﯾﺪﮔﺎه درﺳﺖ ﺑﻪ اﻣﻨﯿﺖ وب، ﺑﺮﺧ از ﻣﻄﺎﻟﺐ ﭘﻮﺷﺶ داده ﺷﺪه در اﯾﻦ ﺳﻨﺪ ﻣ ﺪﻨﺷﺎﺑ.‬ ‫ﮐﻠﻤﺎت ﮐﻠﯿﺪی: وب، اﻣﻨﯿﺖ، اﻣﻨﯿﺖ ﻧﺮماﻓﺰار، ﭼﻬﺎرﭼﻮب، ﻧﻔﻮذﮔﺮی، ﺗﻮﺳﻌﻪ ﻧﺮماﻓﺰار، ﻣﻬﻨﺪﺳ ﻧﺮماﻓﺰار‬
  3. 3. ‫ﺐﻟﺎﻄﻣ ﺖﺳﺮﻬﻓ‬١............................................................................. ‫1 ﻪﻣﺪﻘﻣ‬٣...................................................................... ‫ﻓﺮﻌﻣ‬ 2٣ ............................................................... ‫اﻣﻨﯿﺖ ﻧﺮم اﻓﺰار‬ 2.1٥ ................................................................ :HTTP ‫وب و‬ 2.2٩ .................................................................. :‫ﻣﻌﻤﺎری وب‬ 2.3١٠.................................... :‫ﺗﮑﻨﻮﻟﻮژﯾﺎﻬی ﻣﻮرد اﺳﺘﻔﺎده در وب‬ 2.4١١.......................................................................HTTP 2.4.1١٣..................................................................... HTML 2.4.2١٥......................................................................... CSS 2.4.3١٦................................................................. Javascript 2.4.4١٨...................................................................... AJAX 2.4.5٢٠.............................................................. Web Server 2.4.6٢٢........................................................................ Apache 2.4.6.1٢٣.............................. Internet Information Services (IIS) 2.4.6.2٢٤........................................................................... nginx ٢٬٤٬٦٬٣٢٥................................................... Server Side Scripts 2.4.7٢٧............................................................................. PHP 2.4.7.1
  4. 4. ٢٩............................................................................. ASP 2.4.7.2٣٠.................................................................... Java (JSP) 2.4.7.3٣٠.................................................................. ColdFusion 2.4.7.4٣١.............................................................................. Perl 2.4.7.5٣٢............................................................................ Ruby 2.4.7.6٣٢......................................................................... Python 2.4.7.7٣٤...................................................................... ‫دﯾ ﺮ زﺑﺎﻧﻬﺎ‬ 2.4.7.8٣٤....................................................... Database Server 2.4.8٣٦.......................................................................... Oracle 2.4.8.1٣٦.................................................................. SQL Server 2.4.8.2٣٧................................................................. PostgreSQL 2.4.8.3٣٧....................................................................... MySQL 2.4.8.4٣٨......................................................................... SQLite 2.4.8.5٤٠.................................................................. HTML 5 2.4.9٤٢................................................................. ‫ﮐﺎوﺷ ﺮ وب‬ 2.4.10٤٤............................................ ‫1.01.4.2 ﺎﻣﯾ ﺮوﺳﺎﻓﺖ اﯾﺖﻧﺮﺘﻨ اﮐﺴﭙﻠﻮرر‬٤٦............................................................ Mozilla Firefox 2.4.10.2٤٧........................................................................... Opera 2.4.10.3٤٨........................................................... Google Chrome 2.4.10.4
  5. 5. ‫5.01.4.2 ‪٤٨................................................................ Apple Safari‬‬‫6.01.4.2 ‪٥٠......................................................... Mobile Browsers‬‬‫7.01.4.2 ﻏﯿﺮه ............................................................................١٥‬‫اﻟ ﻮﻫﺎی ﻪﻌﺳﻮﺗ ﻧﺮﻣﺎﻓﺰار وب .............................................٣٥‬ ‫5.2‬‫‪٥٣........................................................................MVC‬‬ ‫1.5.2‬‫‪٥٥.......................................... Component Based MVC‬‬ ‫2.5.2‬‫ﭼﻬﺎرﭼﻮﺑﻬﺎی ﻪﻌﺳﻮﺗ وب ..................................................٦٥‬ ‫6.2‬‫ﻧﻮع زﺑﺎن .................................٧٥‬ ‫اﻧﻮاع ﭼﻬﺎرﭼﻮب ﻪﺑ ﮑﻔﺗﯿ‬ ‫١٬۶٬٢‬‫ﭼﻬﺎرﭼﻮﺑﻬﺎی ﻣﻮﺟﻮد ﺮﺑ روی زﺑﺎﻧﻬﺎی ﻏﯿﺮ وﺑﯽ ........................٨٥‬ ‫1.1.6.2‬‫ﭼﻬﺎرﭼﻮﺑﻬﺎی ﻣﻮﺟﻮد ﺮﺑ روی زﺑﺎﻧﻬﺎی وﺑﯽ ..............................٨٥‬ ‫2.1.6.2‬‫وﯾﮔﮋﯿﺎﻬی ﻣﺸﺘﺮک ﭼﻬﺎرﭼﻮﺑﻬﺎی ﻪﻌﺳﻮﺗ وب ........................٨٥‬ ‫2.6.2‬‫دﺳﺘﺮﺳ ﻪﺑ داده ..............................................................٩٥‬ ‫1.2.6.2‬‫1.1.2.6.2دﺳﺘﺮﺳ ﻪﺑ داده ﻘﺘﺴﻣﯿﻢ )‪٥٩.................................. (Native‬‬‫أ(اﺗﺼﺎل ﻪﺑ ﺎﭘﯾ ﺎه .....................................................................٠٦‬‫ب(اﻧﺘﺨﺎب ﻊﺒﻨﻣ داده ﻪﻃﻮﺑﺮﻣ ....................................................١٦‬‫ت(ارﺳﺎل دﺳﺘﻮرات ..................................................................١٦‬‫ث(ﻗﻄ ارﺗﺒﺎط ........................................................................٥٦‬‫ج(ﺗﮑﺮار ﻞﮐ ﻓﺮآﯾﺪﻨ ...................................................................٥٦‬‫2.1.2.6.2دﺳﺘﺮﺳ ﻪﺑ داده اﻧﺘﺰاﻋ )‪٦٧.................. (Abstraction Layer‬‬
  6. 6. ‫3.1.2.6.2ﺖﺷﺎﮕﻧ رواﺑﻂ اﺷﯿﺎء )‪٦٩........................................... (ORM‬‬‫داده از دﺳﺘﻮر در ﺎﭘﯾ ﺎه داده ..................................٠٧‬ ‫٤٬١٬٢٬٦٬٢ﮑﻔﺗﯿ‬‫ﺪﻣﯾﺮﯾﺖ ﮐﺎرﺑﺮان ...............................................................١٧‬ ‫2.2.6.2‬‫ﺪﻣﯾﺮﯾﺖ ﺖﺴﺸﻧ ................................................................١٧‬ ‫3.2.6.2‬‫ﮐﻨﺘﺮل دﺳﺘﺮﺳ ...............................................................٣٧‬ ‫4.2.6.2‬‫1.4.2.6.2ﻟﯿﺖﺴ ﮐﻨﺘﺮل دﺳﺘﺮﺳ )‪٧٤........................................ (ACL‬‬‫2.4.2.6.2ﮐﻨﺘﺮل دﺳﺘﺮﺳ ﺶﻘﻧ ﻣﺤﻮر ............................................٤٧‬‫‪٧٦............................................................................. SEO‬‬ ‫5.2.6.2‬‫وب ﺳﺮوﯾﺲ ....................................................................٨٧‬ ‫٦٬٢٬٦٬٢‬‫‪٧٩.......................................................................... AJAX‬‬ ‫٧٬٢٬٦٬٢‬‫ﺪﻣﯾﺮﯾﺖ ﺶﮐ ...................................................................٠٨‬ ‫٨٬٢٬٦٬٢‬‫ﺪﻣﯾﺮﯾﺖ ﺎﻄﺧ ...................................................................١٨‬ ‫٩٬٢٬٦٬٢‬‫٠١٬٢٬٦٬٢ ﺪﻣﯾﺮﯾﺖ زﻣﺎن...................................................................٢٨‬‫١١٬٢٬٦٬٢ اﻟ ﻮی ﻪﻌﺳﻮﺗ ...................................................................٣٨‬‫٢١٬٢٬٦٬٢ ﺐﻟﺎﻗ ﺪﻨﺑی ......................................................................٣٨‬‫٣١٬٢٬٦٬٢ ﺪﻣﯾﺮﯾﺖ زﺑﺎن ...................................................................٤٨‬‫٤١٬٢٬٦٬٢ اﻓﺰوﻧﺎﻬﻬ..........................................................................٥٨‬‫٥١٬٢٬٦٬٢ ﺪﻣﯾﺮﯾﺖ داﻧﻠﻮد .................................................................٦٨‬‫٦١٬٢٬٦٬٢ ﻪﻌﺳﻮﺗ ﻨﺘﺒﻣ ﺮﺑ ﺖﺴﺗ ........................................................٧٨‬
  7. 7. ٨٩...........................................‫ﭼﻬﺎرﭼﻮﺑﻬﺎی ﺗﺠﺎری ﭘﺮﮐﺎرﺑﺮد‬ ٢٬۶٬٣٨٩.................................................................... ASP.NET 2.6.3.1٩٠..................... Microsoft .NET Framework 2.6.3.1.1٩١............................................. DotNetNuke 2.6.3.1.2٩١............................................................................. C++ 2.6.3.2٩١.................................................. CppCMS 2.6.3.2.1٩٢............................................................ Wt 2.6.3.2.2٩٢............................................................................... ‫ﺟﺎوا‬ ٢٬۶٬٣٬٣٩٢....................................................... Spring 2.6.3.3.1٩٣........................................... Apache Struts 2.6.3.3.2٩٣......................................... Apache Wicket 2.6.3.3.3٩٣................................. Google Web Toolkit 2.6.3.3.4٩٤.............................................................................. Perl 2.6.3.4٩٤.................................................... Catalyst 2.6.3.4.1٩٤...................................................... Dancer ٢٬۶٬٣٬۴٬٢٩٥............................................................................. PHP ٢٬۶٬٣٬۵٩٥.................................................. CakePHP ٢٬۶٬٣٬۵٬١٩٥.............................................. CodeIgniter ٢٬۶٬٣٬۵٬٢٩٥................................................... Symfony 2.6.3.5.3
  8. 8. ‫‪٩٦............................................................ Yii‬‬ ‫۴٬۵٬٣٬۶٬٢‬‫‪٩٦...................................... Zend Framework‬‬ ‫5.5.3.6.2‬‫‪٩٧.............................................. jFramework‬‬ ‫6.5.3.6.2‬‫‪٩٧......................................................................... Python‬‬ ‫6.3.6.2‬‫‪٩٧...................................................... django‬‬ ‫١٬۶٬٣٬۶٬٢‬‫‪٩٨.................................................... Pyjamas‬‬ ‫2.6.3.6.2‬‫‪٩٨............................................................................ Ruby‬‬ ‫٧٬٣٬۶٬٢‬‫‪٩٨........................................... Ruby on Rails‬‬ ‫1.7.3.6.2‬‫دﯾ ﺮ زﺑﺎﻧﻬﺎ ......................................................................٩٩‬ ‫٨٬٣٬۶٬٢‬‫اﻣﻨﯿﺖ ﻣﻮﻤﻋ وب ..........................................................٩٩‬ ‫٧٬٢‬‫اﻣﻨﯿﺖ ﺷﺒ ﻪ و ﺖﺨﺳ اﻓﺰار ............................................٠٠١‬ ‫١٬٧٬٢‬‫اﻣﻨﯿﺖ ﺳﯿﻢﺘﺴ ﻞﻣﺎﻋ ...................................................١٠١‬ ‫٢٬٧٬٢‬‫اﻣﻨﯿﺖ ﺳﺮوﯾﺲ ...........................................................٢٠١‬ ‫٣٬٧٬٢‬‫اﻣﻨﯿﺖ ﻧﺮﻣﺎﻓﺰار ...........................................................٤٠١‬ ‫۴٬٧٬٢‬‫اﻣﻨﯿﺖ ﺪﮐ ﺷﺎﻣﯿﻦ ...........................................................٤٠١‬ ‫١٬۴٬٧٬٢‬‫اﻣﻨﯿﺖ ﻘﻄﻨﻣ /ﺳﻄ ﻻﺎﺑ .................................................٥٠١‬ ‫٢٬۴٬٧٬٢‬ ‫ﻣﺨﺎﻃﺮات اﻣﻨﯿﺖ وب‬ ‫٣‬ ‫٧٠١‬‫ﺣﻮزﻫﻬﺎی اﻣﻨﯿﺖ ﻧﺮﻣﺎﻓﺰار ...............................................٧٠١‬ ‫١٬٣‬
  9. 9. ‫‪١٠٧....................................................... Confidentiality‬‬ ‫1.1.3‬‫‪١٠٧................................................................. Integrity‬‬ ‫٢٬١٬٣‬‫‪١٠٨............................................................ Availability‬‬ ‫3.1.3‬‫ﻣﻌﻀﻼت ﻣﺸﻬﻮر اﻣﻨﯿﺖ وب ............................................٩٠١‬ ‫٢٬٣‬‫‪١٠٩........................................................ SQL Injection‬‬ ‫1.2.3‬‫ﺗﺰرﯾﻖ درﺧﻮاﺳﺖ ﮐﻮر .......................................................٠١١‬ ‫١٬١٬٢٬٣‬‫ﺗﺰرﯾﻖ ﻋﺎدی ..................................................................١١١‬ ‫٢٬١٬٢٬٣‬‫‪١١٢.................................... Union Bypassing‬‬ ‫١٬٢٬١٬٢٬٣‬‫رﺧﻨﻪ ﻪﺑ ﺳﯿﻢﺘﺴ ..........................................٤١١‬ ‫٢٬٢٬١٬٢٬٣‬‫ﺗﺰرﯾﻘﺎت دﯾ ﺮ .............................................................٥١١‬ ‫٢٬٢٬٣‬‫ﺗﺰرﯾﻖ ﻪﺑ ﮐﻨﺴﻮل ............................................................٦١١‬ ‫١٬٢٬٢٬٣‬‫ﺗﺰرﯾﻖ ﺪﮐ ......................................................................٦١١‬ ‫٢٬٢٬٢٬٣‬‫ﺗﺰرﯾﻘﺎت دﯾ ﺮ .................................................................٧١١‬ ‫٣٬٢٬٢٬٣‬‫اﺳ ﺮﯾﻮﻨﭙﯾﺴ ﺑﯿﻦ ﺎﺳﯾﺘ ..............................................٧١١‬ ‫٣٬٢٬٣‬‫‪ XSS‬ذﺧﯿﺮه ﺷﺪه ...........................................................٩١١‬ ‫١٬٣٬٢٬٣‬‫‪ XSS‬ﺲﮑﻌﻨﻣ ﺷﺪه .........................................................٩١١‬ ‫٢٬٣٬٢٬٣‬‫اﻧﻀﻤﺎم ﺎﻓﯾﻞ ﻣﺨﺮب .....................................................١٢١‬ ‫۴٬٢٬٣‬‫اﻧﻀﻤﺎم ﺎﻓﯾﻞ از دور..........................................................٢٢١‬ ‫١٬۴٬٢٬٣‬‫اﻧﻀﻤﺎم ﺎﻓﯾﻞ ﻠﺤﻣ ..........................................................٣٢١‬ ‫٢٬۴٬٢٬٣‬
  10. 10. ‫ارﺟﺎع ﻘﺘﺴﻣﯿﻢ ﻦﺌﻤﻄﻣﺎﻧ ﻪﺑ ﻣﺤﺘﻮا ..................................٣٢١‬ ‫۵٬٢٬٣‬‫ﻞﻌﺟ درﺧﻮاﺳﺖ ﺑﯿﻦ ﺎﺳﯾﺘ ...........................................٥٢١‬ ‫۶٬٢٬٣‬‫ﻒﻌﺿ اﺣﺮاز ﻮﻫﯾﺖ و ﺪﻣﯾﺮﯾﺖ ﺖﺴﺸﻧ ...............................٧٢١‬ ‫٧٬٢٬٣‬‫ﻈﻨﺗﯿﻤﺎت ﺤﺻﺎﻧﯿﺢ و ﺪﻣﯾﺮﯾﺖ ﺎﻄﺧ ..................................٨٢١‬ ‫٨٬٢٬٣‬‫ﻔﺨﻣﯿ ﺎری ................................................................٩٢١‬ ‫٩٬٢٬٣‬‫رﻣﺰﻧﮕﺎری ﻦﺌﻤﻄﻣﺎﻧ .....................................................٠٣١‬ ‫٠١٬٢٬٣‬‫١٬٠١٬٢٬٣ رﻣﺰﻧﮕﺎری ارﺗﺒﺎﻃﺎت .........................................................٠٣١‬‫٢٬٠١٬٢٬٣ رﻣﺰﻧﮕﺎری دادﻫﻬﺎ ............................................................١٣١‬‫رﻣﺰﻧﮕﺎری ﯾ ﻄﺮﻓﻪ )ﭼ ﯿﺪﻫ ﯿﺮی( ...................٢٣١‬ ‫١٬٢٬٠١٬٢٬٣‬‫رﻣﺰﻧﮕﺎری دوﻃﺮﻓﻪ........................................٢٣١‬ ‫٢٬٢٬٠١٬٢٬٣‬‫اﻣﻨﯿﺖ ﻃﺮف ﺮﺘﺸﻣی ...................................................٣٣١‬ ‫١١٬٢٬٣‬‫ﻏﯿﺮه ........................................................................٤٣١‬ ‫٢١٬٢٬٣‬ ‫ﭼﻬﺎرﭼﻮب ﻪﻌﺳﻮﺗ وب اﻣﻦ‬ ‫۴‬ ‫۵٣١‬‫ﭼﻬﺎرﭼﻮب ﭘﯿﺸﻨﻬﺎدی ....................................................٥٣١‬ ‫١٬٤‬‫وﯾﮔﮋﯿﺎﻬی ﺑﺎرز ﭼﻬﺎرﭼﻮب ﭘﯿﺸﻨﻬﺎدی ...............................٦٣١‬ ‫١٬١٬۴‬‫ﺪﻣﺎﻌﺗ ...........................................................................٦٣١‬ ‫١٬١٬١٬۴‬‫زﺑﺎن و ﺮﺘﺴﺑ ...................................................................٦٣١‬ ‫٢٬١٬١٬۴‬‫ﺎﭘﯾ ﺎﻫﺪاده.....................................................................٦٣١‬ ‫٣٬١٬١٬۴‬
  11. 11. ‫ﺪﻣﯾﺮﯾﺖ ﮐﺎرﺑﺮان و ﺖﺴﺸﻧ.................................................٧٣١‬ ‫۴٬١٬١٬۴‬‫ﮐﻨﺘﺮل دﺳﺘﺮﺳ .............................................................٧٣١‬ ‫۵٬١٬١٬۴‬‫‪١٣٨........................................................................... SEO‬‬ ‫۶٬١٬١٬۴‬‫وب ﺳﺮوﯾﺲ ..................................................................٨٣١‬ ‫٧٬١٬١٬۴‬‫آژاﮐﺲ .........................................................................٨٣١‬ ‫٨٬١٬١٬۴‬‫ﺶﮐ و ﺘﺸﭘﯿﺒﺎن ..............................................................٨٣١‬ ‫٩٬١٬١٬۴‬‫٠١٬١٬١٬۴ ﺪﻣﯾﺮﯾﺖ ﺎﻄﺧ .................................................................٩٣١‬‫١١٬١٬١٬۴ ﺪﻣﯾﺮﯾﺖ زﻣﺎن.................................................................٩٣١‬‫٢١٬١٬١٬۴ اﻟ ﻮی ﻪﻌﺳﻮﺗ .................................................................٩٣١‬‫٣١٬١٬١٬۴ ﺐﻟﺎﻗ ﺪﻨﺑی ....................................................................٠٤١‬‫۴١٬١٬١٬۴ ﺪﻣﯾﺮﯾﺖ زﺑﺎن .................................................................٠٤١‬‫۵١٬١٬١٬۴ اﻓﺰوﻧﻬﻬﺎ........................................................................٠٤١‬‫۶١٬١٬١٬۴ ﺪﻣﯾﺮﯾﺖ داﻧﻠﻮد ...............................................................٠٤١‬‫٧١٬١٬١٬۴ ﺖﺴﺗ ...........................................................................١٤١‬‫٨١٬١٬١٬٤ ﺗﻮﮐﺎر ............................................................................١٤١‬‫ﻟﯿﺲﻧﺎﺴ و دﺳﺘﺮﺳ ﭼﻬﺎرﭼﻮب ......................................١٤١‬ ‫٢٬١٬۴‬‫راﻫ ﺎرﻫﺎی اﻣﻨﯿﺘ ﭼﻬﺎرﭼﻮب ..........................................٣٤١‬ ‫٢٬٤‬‫‪١٤٣........................................................ SQL Injection‬‬ ‫1.2.4‬‫‪١٤٣.................................................................... Escaping‬‬ ‫١٬١٬٢٬۴‬
  12. 12. ‫دﺳﺘﻮرات ﻬﻣﯿﺎ ﺷﺪه )‪١٤٤...................... (Prepared Statement‬‬ ‫٢٬١٬٢٬۴‬‫ﺑﺮرﺳ ورودی ................................................................٧٤١‬ ‫٣٬١٬٢٬۴‬‫ﻟﯿﺖﺴ ﺳﯿﺎه ................................................٧٤١‬ ‫١٬٣٬١٬٢٬۴‬‫ﻟﯿﺖﺴ ﻔﺳﯿﺪ ...............................................٧٤١‬ ‫٢٬٣٬١٬٢٬۴‬‫ﺗﺰرﯾﻘﺎت دﯾ ﺮ .............................................................٨٤١‬ ‫٢٬٢٬۴‬‫ﺗﺰرﯾﻖ ﻪﺑ ﮐﻨﺴﻮل ............................................................٨٤١‬ ‫١٬٢٬٢٬۴‬‫ﺗﺰرﯾﻖ ﺪﮐ ......................................................................٨٤١‬ ‫٢٬٢٬٢٬۴‬‫ﺗﺰرﯾﻘﺎت دﯾ ﺮ .................................................................٨٤١‬ ‫٣٬٢٬٢٬۴‬‫اﺳ ﺮﯾﻮﻨﭙﯾﺴ ﺑﯿﻦ ﺎﺳﯾﺘ ..............................................٩٤١‬ ‫٣٬٢٬۴‬‫ﻧﯿﺎزی ﻪﺑ ﺐﺴﭼﺮﺑ ﻧﯿﺖﺴ ...................................................٩٤١‬ ‫١٬٣٬٢٬۴‬‫ﺐﺴﭼﺮﺑ ﻻزم اﺳﺖ ..........................................................٠٥١‬ ‫٢٬٣٬٢٬۴‬‫اﻧﻀﻤﺎم ﺎﻓﯾﻞ ﻣﺨﺮب .....................................................١٥١‬ ‫۴٬٢٬۴‬‫ارﺟﺎع ﻘﺘﺴﻣﯿﻢ ﻦﺌﻤﻄﻣﺎﻧ ﻪﺑ ﻣﺤﺘﻮا ..................................٢٥١‬ ‫۵٬٢٬۴‬‫ﻞﻌﺟ درﺧﻮاﺳﺖ ﺑﯿﻦ ﺎﺳﯾﺘ ...........................................٢٥١‬ ‫۶٬٢٬۴‬‫ﻪﻔﻟﻮﻣ ﯾ ﺘﺎ .....................................................................٢٥١‬ ‫١٬۶٬٢٬۴‬‫‪١٥٣................................................................ CAPTCHA‬‬ ‫2.6.2.4‬‫ﻒﻌﺿ اﺣﺮاز ﻮﻫﯾﺖ و ﺪﻣﯾﺮﯾﺖ ﺖﺴﺸﻧ ...............................٤٥١‬ ‫٧٬٢٬۴‬‫ﻣﺮا ﻪﺑ ﺮﻃﺎﺧ ﺑﺴﭙﺎر ..........................................................٤٥١‬ ‫١٬٧٬٢٬۴‬‫ﻘﺗﯿﺪ ﺖﺴﺸﻧ ..................................................................٤٥١‬ ‫٢٬٧٬٢٬۴‬
  13. 13. ‫‪١٥٥.............................................. IP Binding‬‬ ‫1.2.7.2.4‬‫ﺎﻬﻬﻔﻟﻮﻣی ﮐﺎوﺷ ﺮ .......................................٥٥١‬ ‫٢٬٢٬٧٬٢٬۴‬‫زﻣﺎن ﺖﺴﺸﻧ .................................................................٥٥١‬ ‫٣٬٧٬٢٬۴‬‫ﻈﻨﺗﯿﻤﺎت ﺤﺻﺎﻧﯿﺢ و ﺪﻣﯾﺮﯾﺖ ﺎﻄﺧ ..................................٦٥١‬ ‫٨٬٢٬۴‬‫ﺤﻣﯿﻂ اﺟﺮاﯽﯾ ................................................................٦٥١‬ ‫١٬٨٬٢٬۴‬‫دﺳﺘﺮﺳ اﺟﺮا ................................................................٧٥١‬ ‫٢٬٨٬٢٬۴‬‫ﻔﺨﻣﯿ ﺎری ................................................................٨٥١‬ ‫٩٬٢٬۴‬‫رﻣﺰﻧﮕﺎری ﻦﺌﻤﻄﻣﺎﻧ .....................................................٨٥١‬ ‫٠١٬٢٬۴‬‫١٬٠١٬٢٬۴ رﻣﺰﻧﮕﺎری ارﺗﺒﺎﻃﺎت .........................................................٨٥١‬‫زﯾﺖﺧﺎﺳﺮ ﻠﮐﯿﺪ ﻣﻮﻤﻋ .................................٠٦١‬ ‫١٬١٬٠١٬٢٬۴‬‫٢٬٠١٬٢٬۴ رﻣﺰﻧﮕﺎری دادﻫﻬﺎ ............................................................١٦١‬‫رﻣﺰﻧﮕﺎری ﯾ ﻄﺮﻓﻪ )ﭼ ﯿﺪﻫ ﯿﺮی( ...................١٦١‬ ‫١٬٢٬٠١٬٢٬۴‬‫رﻣﺰﻧﮕﺎری دوﻃﺮﻓﻪ........................................٣٦١‬ ‫٢٬٢٬٠١٬٢٬۴‬‫اﻣﻨﯿﺖ ﻃﺮف ﺮﺘﺸﻣی ...................................................٤٦١‬ ‫١١٬٢٬۴‬‫ﻏﯿﺮه ........................................................................٤٦١‬ ‫٢١٬٢٬۴‬‫ﺘﻧﯿﻪﺠ ﮔﯿﺮی: ...............................................................٦٦١‬ ‫٥‬‫واژﻫﻨﺎﻣﻪ .....................................................................٧٦١‬ ‫٦‬‫ﺖﺳﺮﻬﻓ ﻊﺑﺎﻨﻣ)ﻓﺎرﺳ (...................................................٢٧١‬ ‫7‬‫ﺖﺳﺮﻬﻓ ﻊﺑﺎﻨﻣ )اﻧﮕﻠﯿﺴ ( ...............................................٣٧١‬ ‫٨‬
  14. 14. ‫ﻣﻘﺪﻣﻪ:‬ ‫١‬‫وب، ﺑﻪ ﻋﻨﻮان ﺑﺴﺘﺮ اراﺋﻪ ﺧﺪﻣﺎت در ﭼﻨﺪﯾﻦ ﺳﺎل اﺧﯿﺮ ﺑﻪ ﻣﻬﻤﺘﺮﯾﻦ رﺳﺎﻧﻪ ﺗﺒﺪﯾﻞ ﺷﺪه-‬‫ﺗﺎ ﺳﺎزﻣﺎن ﻫﺎی ﺑﺰرگ دوﻟﺘ ﺧﺪﻣﺎت ﻣﺘﻨﻮع ﺧﻮد را ﺑﺮ‬ ‫اﺳﺖ. از ﺷﺮﮐﺘﻬﺎی ﺧﺼﻮﺻ ﮐﻮﭼ‬ ‫روی ﺑﺴﺘﺮ وب اراﺋﻪ ﻣ دﻫﻨﺪ.‬‫از ﺳﺎل ٠٩٩١ ﮐﻪ وب ﮔﺴﺘﺮده ﺟﻬﺎﻧ )‪ (World Wide Web‬ﺗﻮﺳﻂ ﺗﯿﻢ ﺑﺮﻧﺮز ﻟ اﺧﺘﺮاع‬‫از ﺳﺎﮐﻨﯿﻦ ﮐﺮه زﻣﯿﻦ ﻧﺎﺷﻨﺎﺧﺘﻪ ﻧﯿﺴﺖ، ﮐﻤﺘﺮ از ۵٢ ﺳﺎل‬ ‫ﺷﺪ، ﺗﺎ اﻻن ﮐﻪ وب ﺑﺮای ﻫﯿﭽﯿ‬ ‫ﻣ ﮔﺬرد.‬ ‫ﺷ‪‬ﻞ ١ﻧﻤﺎﯾﻪ ﻣﻌﻤﻮﻟ‪ ‬ﮐﻪ ﺑﺮای ﻧﺸﺎن دادن وب ﺑﻪ ﮐﺎر ﻣ‪‬رود‬ ‫وب ﺗﮑﻨﻮﻟﻮژی ﻧﺴﺒﺘﺎ ﺳﺎدهای اﺳﺖ وﻟ ﮐﺎرﺑﺮدﻫﺎی آن ﺑﺴﯿﺎر ﮔﺴﺘﺮش ﯾﺎﻓﺘﻪ و ﭘﯿﭽﯿﺪﮔ‬‫ﻗﺎﺑﻞ ﺗﻮﺟﻬ ﯾﺎﻓﺘﻪاﻧﺪ، ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل ﺟﺎواﺳ ﺮﯾﭙﺖ در اﺑﺘﺪا ﮐﻤﺘﺮ از ٢% ﺳﯿﺴﺘﻢﻫﺎی وﺑﯽ را‬‫اﮐﻨﻮن ﺑﯿﺶ از ٠٧% اﮐﺜﺮ ﺳﯿﺴﺘﻢﻫﺎی ﻣﺪرن وﺑﯽ ﺑﺮ اﺳﺎس اﯾﻦ‬ ‫ﺗﺸ ﯿﻞ ﻣ داد وﻟ‬ ‫1‬
  15. 15. ‫ﺗﮑﻨﻮﻟﻮژی ﺧﺎص ﻫﺴﺘﻨﺪ، ﺗﺎ ﺟﺎﯾﯽ ﮐﻪ ﻧﻘﻄﻪ ﻗﻮت ﮐﺎوﺷ ﺮ وب ‪ Google Chrome‬ﺑﻪ ﻋﻨﻮان‬‫ﺤﻣﺒﻮبﺗﺮﯾﻦ ﮐﺎوﺷ ﺮ وب ٢١٠٢ )ﭘﺲ از ﺗﻨﻬﺎ ۶ ﺳﺎل ﻓﻌﺎﻟﯿﺖ( ﻗﺪرت ﭘﺮدازش ﺳﺮﯾﻊ‬ ‫ﺟﺎواﺳ ﺮﯾﭙﺖ آن اﺳﺖ.‬‫اﯾﻦ ﺟﻬﺶ در اﺳﺘﻔﺎده از وب، ﻧﯿﺎز ﺑﻪ ﭼﻬﺎرﭼﻮبﻫﺎی ﺗﻮﺳﻌﻪ وب را ﻓﺮاﻫﻢ آورده اﺳﺖ، ﺗﺎ‬‫ﺗﮑﻨﻮﻟﻮژیﻫﺎی ﭘﯿﭽﯿﺪه ﻣﻮرد ﻧﯿﺎز ﺑﺮای ﺗﻮﺳﻌﻪ دﻫﻨﺪه وب در دﺳﺘﺮس ﺑﺎﺷﻨﺪ و ﻓﺮآﯾﻨﺪ‬ ‫ﻣﻬﻨﺪﺳ وب را ﺗﺴﻬﯿﻞ و ﻣﻤ ﻦ ﺳﺎزﻧﺪ.‬‫ﭼﻬﺎرﭼﻮبﻫﺎی ﺗﻮﺳﻌﻪ وب، ﻋﻼوه ﺑﺮ ﻧﻘﺶ ﻣﻬﻤﺸﺎن در ﺗﺴﻬﯿﻞ ﺗﻮﺳﻌﻪ ﺳﯿﺴﺘﻢﻫﺎی‬‫ﭘﯿﭽﯿﺪه، وﻇﯿﻔﻪ ﺗﺎﻣﯿﻦ اﻣﻨﯿﺖ اﺑﺘﺪاﯾﯽ )و ﮔﺎﻫﺎ ﭘﯿﺸﺮﻓﺘﻪ( ﺳﯿﺴﺘﻢﻫﺎی ﻣﺒﺘﻨ ﺑﺮ وب را اﯾﻔﺎ‬ ‫ﻣ ﺪﻨﻨﮐ.‬‫از ‪Software‬‬ ‫ﺣﻮزه ﻣﺘﻔﺎوﺗ‬ ‫از آﻧﺠﺎﯾﯽ ﮐﻪ ‪ Information Assurance‬ﺑﻪ ﮐﻠ‬‫‪ Engineering‬ﻮﺴﺤﻣب ﻣ ﺷﻮد، ﻣﻌﻤﻮﻻ ﻧﻤ ﺗﻮان اﻧﺘﻈﺎر داﺷﺖ ﮐﻪ ﺗﯿﻢﻫﺎی ﺗﻮﺳﻌﻪ وب از‬‫داﻧﺶ اﻣﻨﯿﺘ ﮐﺎﻓ ﺑﺮای ﺗﺎﻣﯿﻦ اﻣﻨﯿﺖ ﺳﯿﺴﺘﻢﻫﺎﯾﺸﺎن ﻧﯿﺰ ﺑﺮﺧﻮردار ﺑﺎﺷﻨﺪ. ﻋﻼوه ﺑﺮ آن،‬‫ﺗﻮﺳﻌﻪ دﻫﻨﺪه وب اﺳﺖ، ﻟﺬا‬ ‫ﻣﺘﺨﺼﺺ اﻣﻨﯿﺖ وب ﺑﺴﯿﺎر ﺑﯿﺸﺘﺮ از ﯾ‬ ‫دﺳﺘﻤﺰد ﻣﺘﻮﺳﻂ ﯾ‬ ‫اﯾﻦ ﮐﺎر ﺑﻪ ﺻﺮﻓﻪ اﻗﺘﺼﺎدی ﻧﯿﺰ ﻧﯿﺴﺖ.‬ ‫2‬
  16. 16. ‫ﻓﺮﻌﻣﻢ ﻫﺎﻔﻣ ﯽ‬ ‫٢‬ ‫ﺷﻨﺎﺧﺖ ﭼﻬﺎرﭼﻮبﻫﺎی ﺗﻮﺳﻌﻪ وب اﻣﻦ ﻧﯿﺎزﻣﻨﺪ آﺷﻨﺎﯾﯽ ﺑﺎ ﻣﻔﺎﻫﯿﻢ و ﭘﺪﯾﺪهﻫﺎی ﺳﻄ‬ ‫ﻦﯿﯾﺎﭘﺗﺮ ﺣﻮزه ﺗﺤﺖ ﭘﻮﺷﺶ ﻫﺴﺘﻨﺪ. ﻣﻔﺎﻫﯿﻢ ﻣﻮرد ﻧﯿﺎز ﺷﺎﻣﻞ ﻣﻮارد زﯾﺮ ﻫﺴﺘﻨﺪ:‬ ‫• اﻣﻨﯿﺖ ﻧﺮم اﻓﺰار‬ ‫• وب و ‪HTTP‬‬ ‫• ﻣﻌﻤﺎری وب‬ ‫• ﺗﮑﻨﻮﻟﻮژیﻫﺎی ﻣﻮرد اﺳﺘﻔﺎده در وب‬ ‫• اﻟ ﻮﻫﺎی ﺗﻮﺳﻌﻪ ﻧﺮماﻓﺰار وب‬ ‫• ﭼﻬﺎرﭼﻮبﻫﺎی ﺗﻮﺳﻌﻪ وب‬ ‫• اﻣﻨﯿﺖ ﻋﻤﻮﻣ وب‬‫ﻻزم ﺑﻪ ذﮐﺮ اﺳﺖ ﮐﻪ ﻣﻮارد ﻓﻮق در اﯾﻦ ﺳﻨﺪ از دﯾﺪﮔﺎه اﻣﻨﯿﺘ ﺑﺮرﺳ ﻣ ﮔﺮدﻧﺪ، ﮐﻪ‬ ‫ﻧﯿﺎزﻣﻨﺪ ﻧﮕﺎه ﻣﻮﺷ ﺎﻓﺎﻧﻪ و ﺟﺰﺋ ﺑﻪ ﻣﻮارد ﺧﺎص اﯾﻦ ﺗﮑﻨﻮﻟﻮژیﺖﺳﺎﻫ.‬ ‫اﻣﻨﯿﺖ ﻧﺮم اﻓﺰار‬ ‫١٬٢‬‫اﻣﻨﯿﺖ ﺳﯿﺴﺘﻢﻫﺎی اﻃﻼﻋﺎﺗ را ﻣ ﺗﻮان ﺑﻪ ﺳﻪ دﺳﺘﻪ اﻣﻨﯿﺖ ﻧﺮم اﻓﺰار، اﻣﻨﯿﺖ ﺷﺒ ﻪ و‬‫اﻣﻨﯿﺖ زﯾﺮﺳﺎﺧﺖ ﺗﻘﺴﯿﻢ ﻧﻤﻮد. اﻣﻨﯿﺖ ﺷﺒ ﻪ و اﻣﻨﯿﺖ زﯾﺮﺳﺎﺧﺖ ﺗﺎ ﺣﺪ ﻗﺎﺑﻞ ﺗﻮﺟﻬ ﻗﺎﺑﻞ‬‫ﺶﯿﭘﺑﯿﻨ و ﻗﺎﻧﻮﻧﻤﻨﺪ اﺳﺖ، زﯾﺮا ﺧﻮد ﺷﺒ ﻪ و زﯾﺮﺳﺎﺧﺖ ﻗﺎﻧﻮﻧﻤﻨﺪ ﻫﺴﺘﻨﺪ و ﺗﻨﻮع ﺑﺴﯿﺎر‬ ‫زﯾﺎدی ﺑﺮای آن وﺟﻮد ﻧﺪارد.‬ ‫3‬
  17. 17. ‫ﺷ‪‬ﻞ ٢ اﻣﻨﯿﺖ ﻧﺮماﻓﺰار ﺑﻪ ﻣﻬﻤﺘﺮﯾﻦ ﺷﻐﻞ اﻧﻔﻮرﻣﺎﺗﯿ‪ ‬ﺗﺒﺪﯾﻞ ﺷﺪه اﺳﺖ‬‫اﻣﻨﯿﺖ ﻧﺮماﻓﺰار، ﺑﻪ ﻣﺜﺎﺑﻪ ﺧﻮد ﻧﺮماﻓﺰار، دارای ﺗﻨﻮع ﻗﺎﺑﻞ ﺗﻮﺟﻬﯿﺴﺖ ﻟﺬا ﺗﺴﻠﻂ ﺑﺮ اﯾﻦ‬‫ﺣﯿﻄﻪ ﻣﻌﻤﻮﻻ ﺑﺴﯿﺎر دﺷﻮارﺗﺮ از دو ﺣﯿﻄﻪ دﯾ ﺮ اﺳﺖ. در ﺣﺎل ﺣﺎﺿﺮ ﻣﺘﺨﺼﺼﯿﻦ اﻣﻨﯿﺖ ﻧﺮم-‬‫اﻓﺰار ﺑﺎﻻﺗﺮﯾﻦ دﺳﺘﻤﺰد ﻓﻨﺎوری اﻃﻼﻋﺎت دﻧﯿﺎ را ﺑﻪ ﺧﻮد اﺧﺘﺼﺎص دادهاﻧﺪ. ) ‪15 Top‬‬‫‪Paying IT Certifications for 2012 Randy Muller, Global Knowledge‬‬ ‫‪(Instructor‬‬‫ﻣﻮﺳﺴﺎت ﺑﺴﯿﺎری در ﺳﻄ ﺑﯿﻦاﻟﻤﻠﻠ در اﻣﻨﯿﺖ ﻧﺮماﻓﺰار ﻓﻌﺎﻟﯿﺖ ﻣ ﮐﻨﻨﺪ. داﻧﺸ ﺎهﻫﺎی‬‫ﻣﺘﻌﺪدی ﻧﯿﺰ ﮐﻢ ﮐﻢ ﺑﻪ ﻓﻌﺎﻟﯿﺖ در اﯾﻦ رﺷﺘﻪ روی آوردهاﻧﺪ. در ﻣﯿﺎن اﯾﻦ ﻣﻮﺳﺴﺎت 2)‪ (ISC‬و‬ ‫‪ OWASP‬از اﻋﺘﺒﺎر ﺑﻬﺘﺮی ﺑﺮﺧﻮردار ﻫﺴﺘﻨﺪ.‬ ‫4‬
  18. 18. ‫وب و ‪:HTTP‬‬ ‫٢٬٢‬‫وب، ﺑﻪ ﻋﻨﻮان ﺑﺴﺘﺮ اﯾﺪهآل اراﺋﻪ ﻣﺤﺘﻮا اﻣﺮوزه ﺑﻪ اﺻﻠ ﺗﺮﯾﻦ رﺳﺎﻧﻪ ﻧﺮماﻓﺰارﻫﺎ ﺗﺒﺪﯾﻞ ﺷﺪه‬‫اﺳﺖ. در ﺳﺎل ١٩٩١ ﮐﻪ وب ﺗﻮﺳﻂ ﺗﯿﻢ ﺑﺮﻧﺮز ﻟ اﺑﺪاع ﮔﺮدﯾﺪ، ﺗﻨﻬﺎ ﺟﻬﺖ اراﺋﻪ ﯾ ﻄﺮﻓﻪ‬ ‫ﺻﻔﺤﺎت اﯾﺴﺘﺎی ‪ HTML‬ﺑﻪ ﮐﺎرﺑﺮان اﺳﺘﻔﺎده ﻣﯿﺸﺪ.‬ ‫ﺷ‪‬ﻞ ٣ وب ﻣﻌﻤﻮﻻ ﺗﺤﺖ ﭘﺮوﺗﮑﻞ ‪ HTTP‬ﮐﺎر ﻣ‪‬ﮐﻨﺪ، وﻟ‪ ‬ﮐﺎرﺑﺮان ﺗﻮﺟﻬ‪ ‬ﺑﻪ آن ﻧﺪارﻧﺪ‬ ‫‪ HTTP‬ﭘﺮوﺗﮑﻞ اﻧﺘﻘﺎل ﺻﻔﺤﺎت و ﻣﺤﺘﻮای وب اﺳﺖ. اﯾﻦ ﭘﺮوﺗﮑﻞ ﺑﺴﯿﺎر ﺳﺎده و ﺳﺒ‬‫ﻃﺮاﺣ ﺷﺪه اﺳﺖ و اﻓﺰوﻧﻪ آن )ﻧﺴﺨﻪ ١٬١( اﻣ ﺎن اراﺋﻪ ﻓﺎﯾﻠﻬﺎی ﺑﺰرگ را ﻧﯿﺰ دارا ﻣ ﺑﺎﺷﺪ.‬‫دﻟﯿﻞ اﺻﻠ ﻣﺤﺒﻮﺑﯿﺖ وب، رﻓ ﻣﺸ ﻞ ‪ Platform Compatibility‬ﺑﻪ ﻣﻌﻨﺎی واﺑﺴﺘﮕ ﺑﻪ‬ ‫ﺳ ﻮی اﺟﺮاﺳﺖ، ﯾﻌﻨ ﮐﺎرﺑﺮان وب ﻣ ﺗﻮاﻧﻨﺪ از روی ﻣﻮﺑﺎﯾﻞ، ﺗﺒﻠﺖ، ﻟﭙﺘﺎپ و ﺣﺘ ﺳﺮور ﯾ‬ ‫ﻧﻮع ﺳﺮوﯾﺲ اﺳﺘﺎﻧﺪارد را درﯾﺎﻓﺖ ﻧﻤﺎﯾﻨﺪ.‬‫ﺑﺎ ﮔﺬر زﻣﺎن، اﻣ ﺎﻧﺎت ﭘﻮﯾﺎﺳﺎزی ﺻﻔﺤﺎت ﺑﻪ ‪ HTML‬اﻓﺰوده ﺷﺪ ﮐﻪ ﺑﺎ ﻧﺎم ‪Dynamic‬‬‫ﻧﻮع‬ ‫‪ HTML‬ﯾﺎ ‪ DHTML‬ﺷﻨﺎﺧﺘﻪ ﻣ ﺷﺪ. اﯾﻦ ﭘﻮﯾﺎﺳﺎزی ﻗﺎﻟﺒﺎ ﺗﻮﺳﻂ ‪ Javascript‬ﮐﻪ ﯾ‬‫ﺧﺼﻮﺻ ﺳﺎزی ﺷﺪه ‪ ECMAScript‬ﺑﻮد و ﺑﺮ روی ﻫﺮ دو ﮐﺎوﺷ ﺮ ﻣﻄﺮح آن زﻣﺎن –‬‫‪ Netscape Navigator‬و ‪ – Internet Explorer‬ﭘﺸﺘﯿﺒﺎﻧ ﻣ ﺷﺪ. ‪ VBScript‬ﻧﯿﺰ ﺑﻪ ﻃﻮر‬ ‫ﻣﺤﺪودﺗﺮ در ‪ Internet Explorer‬ﭘﺸﺘﯿﺒﺎﻧ ﻣ ﺷﺪ ﮐﻪ ﺑﺎ ﮔﺬر زﻣﺎن ﺣﺬف ﮔﺮدﯾﺪ.‬ ‫5‬
  19. 19. ‫ﺻﻔﺤﺎت ﭘﻮﯾﺎ، ﺗﻨﻬﺎ در ﺳﻤﺖ ﻣﺸﺘﺮی ﭘﻮﯾﺎ ﺑﻮدﻧﺪ، ﺑﺪﯾﻦ ﻣﻌﻨ ﮐﻪ اﻣ ﺎن اﯾﺠﺎد اﻧﯿﻤﯿﺸﻦ و‬ ‫اﻓﮑﺖﻫﺎی ﺳﺎده ﺑﺮ روی ﮐﺎوﺷ ﺮ ﮐﺎرﺑﺮ ﻣﺮور ﮐﻨﻨﺪه وب را ﻓﺮاﻫﻢ ﻣ آوردﻧﺪ و ﺑﺮای ﺑﺮوزرﺳﺎﻧ‬‫ﻣﺤﺘﻮای ﺻﻔﺤﺎت، ﻣﺪﯾﺮ ﺳﺎﯾﺖ ﺑﺎﯾﺪ ﺑﻪ ﺻﻮرت دﺳﺘ ﻣﺤﺘﻮا را ﺗﻐﯿﯿﺮ ﻣ داد. اﯾﻨﮕﻮﻧﻪ وﺖﯾﺎﺴﺑ-‬‫ﻫﺎ ﻣﻌﻤﻮﻻ ﺑﺮای ﻣﻌﺮﻓ ﺷﺮﮐﺖﻫﺎ و ﺧﺪﻣﺎﺗﺸﺎن، ﻣﻄﺎﻟﺐ ﻋﻠﻤ و آﻣﻮزﺷ ﻣﻔﯿﺪ ﺑﻮدﻧﺪ و اﻣ ﺎن‬ ‫ﺗﻌﺎﻣﻞ ﮐﺎرﺑﺮ ﺑﺎ ﺳﯿﺴﺘﻢ وﺟﻮد ﻧﺪاﺷﺖ.‬‫ﭘﺲ از ﭼﻨﺪ ﺳﺎل، ﺳﺮورﻫﺎی وب اﻣ ﺎن ﭘﻮﯾﺎﺷﺪن ﺻﻔﺤﺎت را دارا ﺷﺪﻧﺪ، ﺑﺪﯾﻦ ﻣﻌﻨ ﮐﻪ‬‫ﺑﺮﻧﺎﻣﻪ را ﺑﺎ‬ ‫ﻓﺎﯾﻞ ﺛﺎﺑﺖ و ﻣﺸﺨﺺ ‪ HTML‬ﺑﻪ ﮐﺎرﺑﺮ، اﺑﺘﺪا ﯾ‬ ‫ﺳﺮور وب ﺑﻪ ﺟﺎی اراﺋﻪ ﯾ‬‫ﭘﺎراﻣﺘﺮﻫﺎی ورودی ﮐﺎرﺑﺮ اﺟﺮا ﻣ ﻧﻤﻮد و ﺳﭙﺲ ﺧﺮوﺟ آﻧﺮا در ﻗﺎﻟﺐ ‪ HTML‬ﺑﻪ ﮐﺎرﺑﺮ ﻣﻨﺘﻘﻞ‬ ‫ﻣ ﮐﺮد. اﯾﻦ روش ﺑﺎﻋﺚ اﯾﺠﺎد وﺑﺴﺎﯾﺖﻫﺎی ﭘﻮﯾﺎ ﺷﺪ ﮐﻪ اﻣ ﺎن ﺗﻌﺎﻣﻞ ﺑﺎ ﮐﺎرﺑﺮ را داﺷﺘﻨﺪ.‬‫از آﻧﺠﺎﯾﯽ ﮐﻪ ﺟﺰﺋﯿﺎت ﮐﺎر ﺑﺎ ﭘﺮوﺗﮑﻞ ‪ HTTP‬ﺑﺮای اﯾﻦ ﻣﻨﻈﻮر ﻻزم ﺑﻮد، و اﮐﺜﺮ ﺑﺮﻧﺎﻣﻪ-‬‫ﻮﻧﯾﺴﺎن اﻃﻼع ﮐﺎﻓ از آن ﻧﺪاﺷﺘﻨﺪ، زﺑﺎنﻫﺎی ﻣﺨﺼﻮص اﯾﻨﮑﺎر اﯾﺠﺎد ﺷﺪﻧﺪ. ﻣﻌﺮوﻓﺘﺮﯾﻦ اﯾﻦ‬‫زﺑﺎنﻫﺎ را ﻣ ﺗﻮان ‪ PHP‬و ‪ ASP‬داﻧﺴﺖ. ﺑﻪ ﻃﻮر ﮐﻠ ﺑﻪ ﺑﺮﻧﺎﻣﻪﻫﺎﯾﯽ ﮐﻪ در ﻃﺮف ﺳﺮور اﺟﺮا‬ ‫ﻣ ﺷﻮﻧﺪ و ﺧﺮوﺟ آﻧﻬﺎ ﺑﺮای ﻣﺸﺘﺮی ارﺳﺎل ﻣ ﮔﺮدد، ‪ CGI‬ﻣ ﺪﻨﯾﻮﮔ.‬‫،ﺎﻫﻫﺎی اﯾﻨﺘﺮﻧﺘ ﺑﻪ ﻧﺮماﻓﺰارﻫﺎی اﯾﻨﺘﺮﻧﺘ ﻣﺒﺪل‬ ‫ﺑﺎ ﺗﻌﺎﻣﻠ ﺷﺪن وﺑﺴﺎﯾﺖﺖﯾﺎ ﻼﻤ‬‫ﺷﺪﻧﺪ. درﯾﺎﻓﺖ ورودی از ﮐﺎرﺑﺮ، ﭘﺮدازش و ذﺧﯿﺮه آن و اراﺋﻪ ﺧﺮوﺟ ﻣﻮرد ﻧﻈﺮ ﺑﻪ ﮐﺎرﺑﺮ ﻋﻤﻼ‬‫ﻧﺮماﻓﺰار ﺳﺮور/ﻣﺸﺘﺮی را اﯾﺠﺎد ﻣ ﮐﺮد. ﺗﻨﻬﺎ ﻣﺸ ﻠ ﮐﻪ در اﯾﻦ ﻣﺮﺣﻠﻪ وﺟﻮد داﺷﺖ،‬ ‫ﯾ‬ ‫درﺧﻮاﺳﺖ ﮐﺎﻣﻞ ﺑﺮای درﯾﺎﻓﺖ ﻫﺮﮔﻮﻧﻪ ﭘﺎﺳﺨ از ﺳﺮور ﺑﻮد و ارﺳﺎل ﯾ‬ ‫ﻧﯿﺎز ﺑﻪ اﯾﺠﺎد ﯾ‬‫درﺧﻮاﺳﺖ ﮐﺎﻣﻞ، ﺑﻪ ﻣﻌﻨ ﭘﺎک ﺷﺪن ﮐﺎﻣﻞ ﺻﻔﺤﻪ در ﺳﻤﺖ ﻣﺸﺘﺮی، و ﺑﺎر ﺷﺪن ﻣﺠﺪد آن‬ ‫ﺑﻮد.‬‫ﻧﺮماﻓﺰار ﮔﭗ )‪ (Chat‬ﺑﺮ روی ﺳ ﻮی وب، ﻃﺮﻓﯿﻦ ﺑﺎﯾﺪ ﭘﺲ‬ ‫ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل ﺑﺮای اﯾﺠﺎد ﯾ‬‫از ﺗﺎﯾﭗ ﻫﺮ ﭘﯿﺎم، ﮐﻠﯿﺪی را ﻓﺸﺎر ﻣ دادﻧﺪ ﮐﻪ ﻣﻮﺟﺐ ﺑﺮوزرﺳﺎﻧ )‪ (Refresh‬ﺷﺪن ﻪﺤ ﺻ ﻞﮐ‬ ‫6‬
  20. 20. ‫ﻣ ﺷﺪ ﺗﺎ ﺑﺮای ﻣﻘﺼﺪ ﻓﺮﺳﺘﺎده ﺷﻮد. ﻫﻤﭽﻨﯿﻦ ﺻﻔﺤﻪ ﺑﺎﯾﺪ ﺑﻪ ﺻﻮرت دورهای ﺑﺮوزرﺳﺎﻧ ﻣ -‬‫ﺷﺪ ﺗﺎ ﭘﯿﺎمﻫﺎی ارﺳﺎﻟ ﻃﺮف ﻣﻘﺎﺑﻞ ﻧﯿﺰ درﯾﺎﻓﺖ ﮔﺮدد. اﯾﻦ ﻣﻌﻀﻞ ﺑﻪ ﻣﺪت ﻗﺎﺑﻞ ﻣﻼﺣﻈﻪای‬ ‫ﻧﺮخ رﺷﺪ ﻧﺮماﻓﺰار وﺑﯽ را ﺑﺴﯿﺎر ﭘﺎﯾﯿﻦ آورده ﺑﻮد.‬‫در اداﻣﻪ، ﺗﻮﺳﻌﻪدﻫﻨﺪﮔﺎن ﺧﻼق ﺑﺎ ﺗﮑﯿﻪ ﺑﺮ ﺗﮑﻨﻮﻟﻮژیﻫﺎی ﺧﺎﺻ ﮐﻪ ﻣﺮورﮔﺮﻫﺎ ﺧﺎرج از‬‫اﺳﺘﺎﻧﺪارد ﺑﺮای ﭘﺸﺘﯿﺒﺎﻧ از ﺑﺮﺧ ﻧﯿﺎزﻫﺎی ﺧﺎص ﻓﺮاﻫﻢ آورده ﺑﻮدﻧﺪ )ﺑﻪ ﻣﺎﻧﻨﺪ ‪ (iFrame‬و‬‫ﻫﻤﭽﻨﯿﻦ ﺑﻬﺮه ﮔﺮﻓﺘﻦ از ‪ ،Javascript‬اﻣ ﺎن اﯾﺠﺎد ﺻﻔﺤﺎت ﺗﻌﺎﻣﻠ را ﺗﺎ ﺣﺪودی ﻓﺮاﻫﻢ‬‫آوردﻧﺪ. در اﯾﻦ روش، ﺗﮏ ﮐﺪ ﺟﺎواﺳ ﺮﯾﭙﺖ، آدرس ﺻﻔﺤﻪ داﺧﻞ ‪ iFrame‬ﻧﺎﻣﺮﺋ را ﺗﻐﯿﯿﺮ‬‫ﺑﻮد و ﺗﻮﺳﻂ‬ ‫ﺻﻔﺤﻪ اﺻﻠ‬ ‫ﻣ داد. ﺻﻔﺤﻪ ﺟﺪﯾﺪ ﺣﺎوی اﻃﻼﻋﺎت ﻻزم ﺑﺮای ﺑﺮوزرﺳﺎﻧ‬‫ﺟﺎواﺳ ﺮﯾﭙﺖ ﻣﻮﺟﻮد در ﺻﻔﺤﻪ داﺧﻠ ﻧﺎﻣﺮﺋ ، اﯾﻦ اﻃﻼﻋﺎت در ﺻﻔﺤﻪ ﺑﯿﺮوﻧ اﻋﻤﺎل ﻣ -‬ ‫ﺷﺪﻧﺪ.‬ ‫ﺷ‪‬ﻞ ٤ ﻧﻤﺎی ﺳﺎﺧﺘﺎری ‪iFrame‬‬‫راه ﻏﯿﺮ ﻣﻌﻤﻮل ﺑﺮای رﺳﯿﺪن ﺑﻪ ﻫﺪف ﺑﻮد. ﻣﺪﺗ ﮐﻪ از اﯾﻦ‬ ‫اﯾﻦ روش در واﻗ ﯾ‬‫راﻫ ﺎر ﺳﭙﺮی ﺷﺪ، ‪ W3C‬ﺑﺎﻻﺧﺮه اﺳﺘﺎﻧﺪارد ‪ XMLHTTPRequest‬را در ﺳﺎل ۶٠٠٢ ﺑﻪ‬ ‫7‬
  21. 21. ‫اراﺋﻪ ﮐﺮد ﮐﻪ ﺑﻼﻓﺎﺻﻠﻪ ﺗﻮﺳﻂ ﮐﺎوﺷ ﺮﻫﺎی ﻣﻄﺮح ﻣﺎﻧﻨﺪ‬ ‫ﭘﯿﺸﻨﻮﯾﺲ ﻋﻤﻠﯿﺎﺗ‬ ‫ﻋﻨﻮان ﯾ‬‫‪ Firefox‬و ‪ IE‬ﭘﯿﺎدهﺳﺎزی ﮔﺮدﯾﺪ. اﯾﻦ اﺳﺘﺎﻧﺪارد اﻣ ﺎن ارﺳﺎل درﺧﻮاﺳﺖﻫﺎی ‪ HTTP‬از‬‫ﻣﺘﻐﯿﺮ‬ ‫آن در ﯾ‬ ‫ﻃﺮﯾﻖ ﺟﺎواﺳ ﺮﯾﭙﺖ – ﺑﺪون ﺑﺮوزﺷﺪن ﮐﻞ ﺻﻔﺤﻪ – و درﯾﺎﻓﺖ ﭘﺎﺳ‬‫ﺟﺎواﺳ ﺮﯾﭙﺖ را ﺑﻪ ﺻﻮرت آﺳﻨﮑﺮون ﭘﺸﺘﯿﺒﺎﻧ ﻣ ﻧﻤﺎﯾﺪ و ﻣﻬﻤﺘﺮﯾﻦ ﺟﻬﺶ در ﺗﮑﻨﻮﻟﻮژی وب‬ ‫ﺗﻠﻘ ﻣ ﮔﺮدد.‬‫ﻣﺨﻔﻒ ﻋﺒﺎرت‬ ‫ﭘﺲ از آن واژهﻫﺎی وب ٢ و آژاﮐﺲ )‪ (AJAX‬ﮐﻪ در واﻗ‬‫‪ Asynchronous Javascript And XML‬ﯾﺎ ﺟﺎواﺳ ﺮﯾﭙﺖ آﺳﻨﮑﺮون ﺑﻪ ﻫﻤﺮاه ‪ XML‬اﺳﺖ‬ ‫)‪ (XMLHTTPRequest‬ﻣﻌﻤﻮل ﺷﺪﻧﺪ و ﺗﮑﻨﻮﻟﻮژی وب ﺟﺪﯾﺪ ﭘﺎ ﺑﻪ ﻋﺮﺻﻪ ﮔﺬاﺷﺖ.‬ ‫ﺷ‪‬ﻞ ٥ﮐﻠﯿﺪواژهﻫﺎی ﻣﻬﻢ ﻣﻄﺮح در وب ٢‬‫ﺟﺎواﺳ ﺮﯾﭙﺘ ﮐﻪ در اﺑﺘﺪا ﺑﺮای ﺑﻪ ﺣﺮﮐﺖ دراوردن و ﺟﻠﻮهﻫﺎی وﯾﮋه ﺻﻔﺤﺎت اﯾﺴﺘﺎی وب‬‫ﭘﺎ ﺑﻪ ﻋﺮﺻﻪ ﮔﺬاﺷﺘﻪ ﺑﻮد، ﭘﺲ از ﻇﻬﻮر اﯾﻦ ﺗﮑﻨﻮﻟﻮژی ﺑﻪ ﻗﺴﻤﺖ ﻋﻤﺪه ﺗﻤﺎم ﻧﺮماﻓﺰارﻫﺎی وﺑﯽ‬‫ﺗﺒﺪﯾﻞ ﮔﺸﺖ، زﯾﺮا درﺧﻮاﺳﺖﻫﺎی آﺳ ﻨﺮون ﺑﺎﯾﺪ ﺑﺎ ﺟﺎواﺳ ﺮﯾﭙﺖ ارﺳﺎل ﻣﯿﺸﺪ، درﯾﺎﻓﺖ ﻣ -‬ ‫8‬
  22. 22. ‫ﭘﻮﺳﺘﻪ ﺑﺮای‬ ‫ﺷﺪ و دادهﻫﺎی آن در ﺻﻔﺤﻪ اﻋﻤﺎل ﻣ ﺷﺪ. در واﻗ ﺻﻔﺤﺎت ﺗﻨﻬﺎ ﺑﻪ ﯾ‬ ‫دﺳﺘﮑﺎری ﺗﻮﺳﻂ ﺟﺎواﺳ ﺮﯾﭙﺖ ﺗﺒﺪﯾﻞ ﺷﺪه ﺑﻮدﻧﺪ.‬‫درﺻﺪ ﺣﺠﻤ ﺟﺎواﺳ ﺮﯾﭙﺖ ﺑﻪ ﻃﻮر ﻣﺘﻮﺳﻂ در ﺳﺎﯾﺖﻫﺎی از ٢% ﻪﺑ ۵٧% رﺳﯿﺪه ﺑﻮد و‬‫درﺻﺪ ﭘﺮدازﺷ ﮐﻪ ﻣﺤﺘﻮای ﻣﺨﺘﻠﻒ ﺳﺎﯾﺖ ﺑﺮ روی ﻣﺸﺘﺮی ﻻزم داﺷﺖ، از ۵% ﻪﺑ ٩٩%‬ ‫اﻓﺰاﯾﺶ ﯾﺎﻓﺖ.‬‫ﮐﺎوﺷ ﺮﻫﺎی ﻗﺪﯾﻤ ﻣﺎﻧﻨﺪ ‪ Firefox‬و ‪ IE‬ﺗﻤﺮﮐﺰ اﺻﻠ ﺧﻮد را ﺑﺮ روی ﻣﻮﺗﻮر ﭘﺮدازش‬‫‪ HTML‬و ﺗﺼﺎوﯾﺮ ﻗﺮار داده ﺑﻮدﻧﺪ، و ﺟﺎواﺳ ﺮﯾﭙﺖ را ﺑﺎ ﺳﺮﻋﺖ ﮐﻤ ﺑﺎر ﻣ ﮐﺮدﻧﺪ. ﮔﻮﮔﻞ‬‫اﻗﺪام ﺑﻪ ﺗﻮﻟﯿﺪ ‪ Google Chrome‬ﮐﺮد ﮐﻪ دو ﺳﺎل زﻣﺎن ﺻﺮف ﺑﻬﯿﻨﻪﺳﺎزی ﻣﻮﺗﻮر اﺟﺮای‬‫ﮐﺎرﺑﺮان‬ ‫ﺟﺎواﺳ ﺮﯾﭙﺖ آن ﺷﺪه ﺑﻮد و ﻫﻤﯿﻦ ﻣﻬﻢ ﺑﺎﻋﺚ ﺷﺪ ﺗﺎ اﻣﺮوزه ﮐﺎوﺷ ﺮ ﻣﺬﮐﻮر رﺗﺒﻪ ﯾ‬ ‫را ﺑﻪ ﺧﻮد اﺧﺘﺼﺎص دﻫﺪ.‬‫در ﺳﺎﻟﻬﺎی اﺧﯿﺮ، ﻋﺪم وﺟﻮد اﻣ ﺎﻧﺎت ﺧﺎص ﻣﺎﻧﻨﺪ ﭘﺮدازش ﺳﻪ ﺑﻌﺪی و اﻧﯿﻤﯿﺸﻦ در وب،‬‫ﻣﻨﺠﺮ ﺑﻪ اﺳﺘﺎﻧﺪارد ﺷﺪن 5 ‪ HTML‬ﺷﺪ. اﯾﻦ ﻧﺴﺨﻪ از ‪ HTML‬ﻫﻨﻮز ﺑﻪ اﺳﺘﺎﻧﺪارد و ﭘﯿﺎده-‬‫ﺳﺎزی ﻗﻄﻌ ﻧﺮﺳﯿﺪه اﺳﺖ و ﻣﻌﻀﻼت اﻣﻨﯿﺘ ﻓﺮاواﻧ در آن ﮐﺸﻒ ﻣﯿﺸﻮﻧﺪ. ﻫﻤﭽﻨﯿﻦ ﻫﺮ‬ ‫ﻧﻮع آﻧﺮا ﭘﯿﺎدهﺳﺎزی ﻧﻤﻮده اﺳﺖ و ﺗﻨﻮع اﻣ ﺎﻧﺎت آن ﻧﯿﺰ ﻗﺎﺑﻞ ﺗﻮﺟﻪ اﺳﺖ.‬ ‫ﮐﺎوﺷ ﺮی ﺑﻪ ﯾ‬ ‫ﻣﻌﻤﺎری وب:‬ ‫٣٬٢‬‫ﭘﺮوﻓﺴﻮر دﯾﻮﯾﺪ ﭘﺘﺮﺳﻮن، ﻧﻮﯾﺴﻨﺪه ﮐﺘﺎب ﻣﻌﺮوف ﻣﻌﻤﺎری ﮐﺎﻣﭙﯿﻮﺗﺮ و اﺳﺘﺎد داﻧﺸ ﺎه‬‫ﺑﺮﮐﻠ ﮐﻪ از داﻧﺸﻤﻨﺪان ﺻﺎﺣﺐ ﻧﺎم و ﺗﺎﺛﯿﺮﮔﺬار ﺳﺨﺖ اﻓﺰار اﺳﺖ، ﺑﻪ ﺗﺎزﮔ ﭘﺎ در ﻋﺮﺻﻪ ﻧﺮم-‬‫دﮐﺮﺘ‬ ‫اﻓﺰار و ‪ SaaS‬ﮔﺬارده اﺳﺖ. وی در ﮐﻼس ﻣﺮﺑﻮط ﺑﻪ اﯾﻦ ﻣﻮﺿﻮع ﮐﻪ ﺑﻪ ﻫﻤﺮاﻫ‬ ‫‪ Armando Fox‬در داﻧﺸ ﺎه ﺑﺮﮐﻠ اراﺋﻪ ﻣ ﮐﺮد، ﻋﺒﺎرت ﻗﺎﺑﻞ ﺗﻮﺟﻬ را ذﮐﺮ ﻣ ﺪﻨﮐ:‬ ‫9‬
  23. 23. ‫»ﻣﺎ در ﺻﻨﻌﺖ ﺳﺨﺖاﻓﺰار، ﻣﺠﺒﻮرﯾﻢ ﺑﻪ ﺷﺪت ﻣﺤﺼﻮل را ﺗﺴﺖ و ﺑﺮرﺳ ﮐﻨﯿﻢ. ﻫﺰﯾﻨﻪ‬‫ﺟﻤ آوری و اﺻﻼح ﻣﺤﺼﻮل ﻣﻌﯿﻮب ﺑﺴﯿﺎر ﮔﺰاف اﺳﺖ. اﯾﻦ ﻃﺮز ﻓﮑﺮ در اﺑﺘﺪا ﺑﻪ ﺻﻨﻌﺖ ﻧﺮم-‬‫اﻓﺰار ﻧﯿﺰ ﻣﻨﺘﻘﻞ ﺷﺪه ﺑﻮد وﻟ در واﻗ ﻧﺮماﻓﺰار ﻣﺎﻫﯿﺘﺎ ﮔﻮﻧﻪ دﯾ ﺮی اﺳﺖ. ﻧﺮماﻓﺰار را ﻣ ﺗﻮان‬‫ﻓﺎز‬ ‫ﻫﺮروز اﺻﻼح و ﺑﺮوز رﺳﺎﻧ ﮐﺮد و اﯾﻦ ﺑﻪ ﻣﻌﻨ ﻋﺪم ﻧﯿﺎز ﺑﻪ ﺗﮑﻤﯿﻞ ﻧﻬﺎﯾﯽ آن در ﯾ‬ ‫اﺳﺖ.«‬‫ﻢﺘﺴﯿﺳﻫﺎی ﻣﺒﺘﻨ ﺑﺮ وب، ﻫﺮ روز و ﺣﺘ ﻫﺮ ﺳﺎﻋﺖ ارﺗﻘﺎ ﻣ ﯾﺎﺑﻨﺪ. ﻣﻨﻈﻮر از اﯾﻦ ارﺗﻘﺎ،‬‫ﺗﻐﯿﯿﺮ ﻣﺤﺘﻮی ﻧﯿﺴﺖ، ﺑﻠ ﻪ ﺗﻐﯿﯿﺮ ﻧﺮماﻓﺰار و ﮐﺪ اﺳﺖ. ﻫﻤﭽﻨﯿﻦ ﺳﯿﺴﺘﻢﻫﺎی ﻣﺒﺘﻨ ﺑﺮ وب‬‫ﻣﺎه ﺗﻌﺪاد ﻣﺨﺎﻃﺒﺎن‬ ‫ﺑﺴﯿﺎر اﺑﻌﺎدﭘﺬﯾﺮ )‪ (Scalable‬ﻫﺴﺘﻨﺪ، ﯾﻌﻨ ﻣﻤ ﻦ اﺳﺖ در ﻋﺮض ﯾ‬ ‫آﻧﻬﺎ ٠١ ﺑﺮاﺑﺮ ﺷﻮد.‬‫ﺑﺮای ﺗﺎﻣﯿﻦ اﯾﻦ ﻧﯿﺎز - ﮐﻪ در ﻧﺮماﻓﺰارﻫﺎی ﺑﺪوی ﺑﺪﯾﻦ ﺷ ﻞ وﺟﻮد ﻧﺪاﺷﺖ – ﻣﻠﺰم ﺑﻪ‬‫اﺳﺘﻔﺎده از ﻣﻌﻤﺎری و اﻟ ﻮﻫﺎی ﺗﻮﺳﻌﻪ ﻣﺨﺼﻮﺻ ﻫﺴﺘﯿﻢ. ﻫﻤﭽﻨﯿﻦ ﭼﻬﺎرﭼﻮبﻫﺎ و ﻧﺮم-‬‫اﻓﺰارﻫﺎی ﺷﺨﺺ ﺛﺎﻟﺚ )‪ (Third Party‬ﻧﻘﺶ ﻣﻬﻤ در ﺻﻮرت ﺗﻮﺳﻌﻪ ﺳﯿﺴﺘﻢﻫﺎی وﺑﯽ‬ ‫اﯾﻔﺎ ﻣ ﮐﻨﻨﺪ، ﮐﻪ اﻟﺒﺘﻪ ﺑﺎﻋﺚ ﻣﻌﻀﺎﻻت اﻣﻨﯿﺘ ﻓﺮاواﻧ ﻧﯿﺰ ﻣ ﺪﻧﻮﺷ.‬‫در ﺣﺎل ﺣﺎﺿﺮ ﻣﻌﻤﺎری ﺳﻪ ﻻﯾﻪ واﺳﻂ ﮐﺎرﺑﺮی – ﻖﻄﻨﻣ – داده و ﻣﺸﺘﻘﺎت آن ﺑﯿﺸﺘﺮﯾﻦ‬‫اﺳﺘﻔﺎده را در ﻢﺘﺴﯿﺳﻫﺎی ﻣﺒﺘﻨ ﺑﺮ وب دارﻧﺪ. اﻟ ﻮی ‪ MVC‬و ‪Component Based‬‬ ‫‪ MVC‬ﻫﻢ ﺗﻘﺮﯾﺒﺎ ﺑﻪ اﻟ ﻮی ﺛﺎﺑﺖ ﺳﯿﺴﺘﻢﻫﺎی وﺑﯽ ﭘﺮﺗﻐﯿﯿﺮ ﺗﺒﺪﯾﻞ ﺷﺪه اﺳﺖ.‬ ‫ﺗﮑﻨﻮﻟﻮژیﻫﺎی ﻣﻮرد اﺳﺘﻔﺎده در وب:‬ ‫٤٬٢‬‫ﺑﺴﺘﺮ ﺣﺎوی ﺗﮑﻨﻮﻟﻮژیﻫﺎی و ﭘﺮوﺗﮑﻞﻫﺎی ﻣﺘﻌﺪدی اﺳﺖ ﮐﻪ آﺷﻨﺎﯾﯽ ﺑﺎ‬ ‫وب ﺑﻪ ﻋﻨﻮان ﯾ‬‫آﻧﻬﺎ ﺑﺮای ﺑﺮرﺳ وب از دﯾﺪﮔﺎه اﻣﻨﯿﺖ اﻃﻼﻋﺎت ﺿﺮورﯾﺴﺖ. در اداﻣﻪ اﯾﻦ ﺗﮑﻨﻮﻟﻮژیﻫﺎی ﺑﻪ‬ ‫اﺧﺘﺼﺎر ﺑﺮرﺳ ﻣ ﮔﺮدﻧﺪ:‬ ‫01‬
  24. 24. ‫‪HTTP‬‬ ‫١٬۴٬٢‬‫اچ ﺗ ﺗ ﭘﯽ، ﭘﺮوﺗﮑﻞ اﻧﺘﻘﺎل اﺑﺮﻣﺘﻦ )‪ (Hypertext Transfer Protocol‬ﺑﺴﺘﺮ اﻧﺘﻘﺎل‬‫ﭘﺮوﺗﮑﻞ ﺷﺒ ﻪ در ﺳﻄ ﻧﺮماﻓﺰار اﺳﺖ ﮐﻪ درﮔﺎه ﭘﯿﺶ-‬ ‫داده در وب اﺳﺖ. اﯾﻦ ﭘﺮوﺗﮑﻞ ﯾ‬ ‫ﻓﺮض و اﺧﺘﺼﺎﺻ آن درﮔﺎه 08 ‪ TCP‬ﻣ ﺑﺎﺷﺪ.‬ ‫ﺷ‪‬ﻞ ٦ ‪ HTTPS‬ﻧﺴﺨﻪ اﻣﻦ ﺷﺪه و رﻣﺰﮔﺬاری ﺷﺪه ‪HTTP‬‬‫ﻧﮑﺘﻪ ﻗﺎﺑﻞ ﺗﻮﺟﻪ در ﻣﻮرد اﯾﻦ ﭘﺮوﺗﮑﻞ آﻧﺴﺖ ﮐﻪ ﺑﻪ دﻟﯿﻞ اﻣﻨﯿﺖ ﻗﺎﺑﻞ ﺗﻮﺟﻪ آن ﻧﺴﺒﺖ ﺑﻪ‬‫ﻃﺮﻓﻪ ﺑﻮدن آن ﺑﻮده اﺳﺖ( در اﮐﺜﺮ‬ ‫ﺑﻘﯿﻪ ﭘﺮوﺗﮑﻞﻫﺎ )ﮐﻪ ﺑﻪ دﻟﯿﻞ ﺳﺎدﮔ وب اوﻟﯿﻪ و ﯾ‬‫ﻓﺎﯾﺮوالﻫﺎ اﺟﺎزه ﻋﺒﻮر دارد. اﯾﻦ ﻧﮑﺘﻪ ﺑﺎﻋﺚ ﺷﺪه ﺑﺴﯿﺎری ﺗﮑﻨﻮﻟﻮژیﻫﺎی دﯾ ﺮ ﻧﯿﺰ ﺧﻮد را ﺑﺮ‬ ‫اﯾﻦ ﺑﺴﺘﺮ اﻧﻄﺒﺎق دﻫﻨﺪ، ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل ‪ RPC‬ﺟﺪﯾﺪ ﺑﻪ ﻧﺎم ‪ SOAP‬از اﯾﻦ ﺑﺴﺘﺮ ﻧﯿﺰ ﭘﺸﺘﯿﺒﺎﻧ‬ ‫ﻣ ﮐﻨﺪ.‬‫ﮐﺎرﮐﺮد آن‬ ‫ﺷﯿﻮه اﺻﻠ‬ ‫اﺳﺖ، ﯾﻌﻨ‬ ‫ﭘﺮوﺗﮑﻞ درﺧﻮاﺳﺖ/ﭘﺎﺳﺨ‬ ‫‪ HTTP‬ﻣﺎﻫﯿﺘﺎ ﯾ‬ ‫ﭘﺎﺳ ﺑﻪ وی اﺳﺖ. اﯾﻦ رﻓﺘﺎر ﭘﺮوﺗﮑﻞ در ﺑﺮﺧ‬ ‫درﺧﻮاﺳﺖ از ﻣﺸﺘﺮی و ارﺳﺎل ﯾ‬ ‫درﯾﺎﻓﺖ ﯾ‬ ‫از ﻣﻮارد ﻣﻄﻠﻮب ﻧﯿﺴﺖ ﮐﻪ ﻣﻨﺠﺮ ﺑﻪ ‪ HTTP Streaming‬ﺷﺪه اﺳﺖ.‬ ‫11‬
  25. 25. ‫درﺧﻮاﺳﺖﻫﺎی ‪ HTTP‬ﭼﻬﺎر ﻧﻮع اﺻﻠ دارﻧﺪ: ‪ GET/POST/DELETE/PUT‬ﺎﻬ ﺗ ﻪﮐ‬ ‫‪ GET,POST‬ﮐﺎرﺑﺮد ﮔﺴﺘﺮدهای ﯾﺎﻓﺘﻪاﻧﺪ. ﺑﺪﻧﻪ درﺧﻮاﺳﺖ ‪ HTTP‬در ﻗﺎﻟﺐ زﯾﺮ اﺳﺖ:‬ ‫1.1/‪POST /enlighten/calais.asmx/Enlighten HTTP‬‬ ‫‪Host: api.opencalais.com‬‬ ‫‪Content-Type: application/x-www-form-urlencoded‬‬ ‫073 :‪Content-Length‬‬ ‫‪licenseID=string&content=string&paramsXML=string‬‬‫ﺑﺪﻧﻪ دارد. در ﺳﺮآﯾﻨﺪ‬ ‫ﻗﺴﻤﺖ ﺳﺮآﯾﻨﺪ و ﯾ‬ ‫در واﻗ ﻫﺮ درﺧﻮاﺳﺖ و ﭘﺎﺳ ‪ HTTP‬ﯾ‬ ‫ﺪﻌﺗاد ﺧﻂ وﺟﻮد دارد ﮐﻪ اوﻟ آﻧﻬﺎ ﻣﺸﺨﺺ ﮐﻨﻨﺪه ﻣﻮﺟﻮدﯾﺖ اﺻﻠ درﺧﻮاﺳﺖ اﺳﺖ و ﻣﺎﺑﻘ‬ ‫ﻋﻼﻣﺖ ﮐﻮﻟﻮن )دو ﻧﻘﻄﻪ( از ﻣﻘﺪار آﻧﻬﺎ ﻣﺘﻤﺎﯾﺰ ﻣ ﺳﺎزد.‬ ‫آﻧﻬﺎ ﭘﺎراﻣﺘﺮﻫﺎ را ﺑﻪ ﯾ‬‫درﺧﻮاﺳﺖ،‬ ‫ﺧﻂ ﺧﺎﻟ ، ﺑﺪﻧﻪ درﺧﻮاﺳﺖ ﯾﺎ ﭘﺎﺳ ذﮐﺮ ﻣ ﺷﻮد. در ﯾ‬ ‫ﺳﭙﺲ ﺑﻌﺪ از ﯾ‬‫ﻓﺎﺻﻠﻪ‬ ‫ﻓﺎﺻﻠﻪ از آدرس آن و ﺳﭙﺲ ﺑﺎ ﯾ‬ ‫ﺧﻂ اول ﺑﺎﯾﺪ ﺷﺎﻣﻞ ﻧﻮع درﺧﻮاﺳﺖ ﺑﺎﺷﺪ، ﮐﻪ ﺑﺎ ﯾ‬ ‫دﯾ ﺮ از ﻧﺴﺨﻪ ‪ HTTP‬ﺟﺪا ﺷﺪه ﺑﺎﺷﺪ.‬ ‫ﭘﺎﺳ ﻧﯿﺰ ﻗﺎﻟﺒﯽ ﻣﺸﺎﺑﻪ زﯾﺮ دارد:‬ ‫‪HTTP/1.1 200 OK‬‬ ‫8-‪Content-Type: text/xml; charset=utf‬‬ ‫43 :‪Content-Length‬‬ ‫21‬
  26. 26. ‫‪Response Body‬‬‫در ﭘﺎﺳ ﻧﯿﺰ ﺧﻂ اﺑﺘﺪاﯾﯽ، ﻣﺸﺨﺺ ﮐﻨﻨﺪه وﺿﻌﯿﺖ ﭘﺎﺳ اﺳﺖ. ﮐﻠﻤﻪ اول ﻧﺴﺨﻪ ﭘﺮوﺗﮑﻞ،‬‫ﮐﻠﻤﻪ دوم ﮐﺪ ﭘﺎﺳ )ﮐﻪ ﺣﺪود ۵٢ ﺣﺎﻟﺖ ﻣﺠﺎز ﺑﯿﻦ ٠٠١ و ٠٠۵ دارد( و ﮐﻠﻤﻪ ﺳﻮم ﺗﻮﺿﯿﺢ‬ ‫ﮐﺪ ﻣﺬﮐﻮر اﺳﺖ.‬‫از وﯾﮋﮔ ﻫﺎﯾﯽ ﮐﻪ در ﻧﺴﺨﻪ ١٬١ ﺑﻪ اﯾﻦ ﭘﺮوﺗﮑﻞ اﻓﺰوده ﺷﺪه اﺳﺖ، اﻣ ﺎن درﯾﺎﻓﺖ‬ ‫ﯾ‬‫اﺳﺖ. اﯾﻦ اﻣ ﺎن ﺑﺎ ﻋﻨﻮان ‪ HTTP Range‬ﺷﻨﺎﺧﺘﻪ ﻣ ﺷﻮد ﮐﻪ ﺑﺎ‬ ‫ﭘﺎﺳ‬ ‫ﻗﺴﻤﺘ از ﯾ‬‫ﺑﺮد از ﭘﺎﺳ را اﻧﺘﺨﺎب ﮐﺮد ﺗﺎ ﺳﺮور ارﺳﺎل ﮐﻨﺪ. ﮐﺎرﺑﺮد اﺻﻠ اﯾﻦ‬ ‫اﺳﺘﻔﺎده از آن ﻣ ﺗﻮان ﯾ‬‫وﯾﮋﮔ در درﯾﺎﻓﺖ ﻓﺎﯾﻠﻬﺎی ﺑﺰرگ از ﺳﺮور اﺳﺖ، در ﺻﻮرﺗ ﮐﻪ اﺗﺼﺎل ﻣﻨﻘﻄ ﺷﻮد، ﻣ ﺗﻮان‬‫آﻧﺮا اداﻣﻪ داد. ﻫﻤﭽﻨﯿﻦ ﻣ ﺗﻮان ﺑﻪ ﺻﻮرت ﻫﻤﺮوﻧﺪ ﻗﺴﻤﺖﻫﺎی ﻣﺨﺘﻠﻒ ﭘﺎﺳ را درﯾﺎﻓﺖ ﮐﺮد.‬ ‫ﺑﺎ روی ﮐﺎر آﻣﺪن اﯾﻦ وﯾﮋﮔ ، ﭘﺮوﺗﮑﻞ ‪ FTP‬ﮐﺎرﺑﺮد درﯾﺎﻓﺖ ﻓﺎﯾﻞ ﺧﻮد را از دﺳﺖ داد.‬‫‪ HTTP‬از آﻧﺠﺎﯾﯽ ﮐﻪ ﭘﺮوﺗﮑﻞ زﯾﺮﺳﺎﺧﺘ وب اﺳﺖ، ﻧﮑﺎت ﺟﺰﺋ ﻓﺮاواﻧ در ﺑﺤﺚ اﻣﻨﯿﺖ‬ ‫دارد ﮐﻪ ﺑﻪ ﺻﻮرت ﻣﻨﻘﻄ در اداﻣﻪ ﺑﺤﺚ ﺧﻮاﻫﺪ ﺷﺪ.‬ ‫‪HTML‬‬ ‫٢٬۴٬٢‬‫اچ ﺗ ام ال، ﯾﻌﻨ زﺑﺎن ﺑﺮﭼﺴﺒﯽ اﺑﺮﻣﺘﻦ )‪ .(Hypertext Markup Language‬اﯾﻦ زﺑﺎن‬‫ﺑﺎ اﺳﺘﻔﺎده از ﺑﺮﭼﺴﺐﻫﺎ اﺳﻨﺎد وﺑﯽ را اراﺋﻪ ﻣ دﻫﺪ. ‪ HTML‬ﻧﻮﻋ از ﺳﻨﺪ ‪ XML‬اﺳﺖ، در‬ ‫ﺣﺎﻟ ﮐﻪ ‪ XML‬ﺑﺴﯿﺎر ﺑﻌﺪ از ‪ HTML‬و ﭘﺲ از ﭼﻨﺪﯾﻦ اﺳﺘﺎﻧﺪاردﺳﺎزی ﺑﻪ وﺟﻮد آﻣﺪه اﺳﺖ.‬ ‫31‬
  27. 27. ‫ﺷ‪‬ﻞ ٧ ﺷﻤﺎﯾﻞ ﺳﺎده ﯾ‪ ‬ﺳﻨﺪ ‪HTML‬‬‫‪ HTTP‬ﺑﻪ ﻣﺸﺘﺮی ارﺳﺎل ﻣ -‬ ‫ﭘﺎﺳ‬ ‫اﺳﻨﺎد ‪ HTML‬ﻣﻌﻤﻮﻻ در ﻗﺴﻤﺖ ﺑﺪﻧﻪی ﯾ‬‫ﺳﺎﺧﺘﺎر درﺧﺘ از اﺷﯿﺎ‬ ‫ﺷﻮﻧﺪ.ﮐﺎوﺷ ﺮ ﻣﺸﺘﺮی اﯾﻦ اﺳﻨﺎد را ﭘﺮدازش ﮐﺮده، از روی آﻧﻬﺎ ﯾ‬‫اﯾﺠﺎد ﻣ ﮐﻨﺪ ﮐﻪ ﺑﺎ ﻧﺎم ‪ Document Object Model‬ﺷﻨﺎﺧﺘﻪ ﻣ ﺷﻮد. ﺳﭙﺲ ﺑﺮ اﺳﺎس‬ ‫‪ DOM‬ﺻﻔﺤﻪ را ﭘﺮدازش ﮐﺮده ﻧﻤﺎﯾﺶ ﻣ دﻫﺪ.‬ ‫ﺳﻨﺪ ‪ HTML‬ﺑﻪ ﺻﻮرت زﯾﺮ اﺳﺖ:‬ ‫ﻗﺎﻟﺐ ﮐﻠ ﯾ‬‫"‪<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN‬‬‫>"‪"http://www.w3.org/TR/html4/loose.dtd‬‬‫>‪<html‬‬‫>‪<head‬‬ ‫>"8-‪<meta http-equiv="Content-Type" content="text/html; charset=UTF‬‬ ‫>‪<title>Page Title</title‬‬ ‫>/ "‪<link rel="stylesheet" href="/style/base.css‬‬ ‫>‪<script src=/script/jquery/1.3.2.js></script‬‬‫>‪</head‬‬‫>‪<body‬‬ ‫>‪<p> some text here </p‬‬ ‫>/ ’‪<img src=’/img/photo.png‬‬‫>‪</body‬‬‫>‪</html‬‬‫‪ HTML‬ﺑﻪ ﻓﺎﯾﻠﻬﺎی دﯾ ﺮی‬ ‫ﻫﻤﺎﻧﮕﻮﻧﻪ ﮐﻪ در ﻣﺜﺎل ﻓﻮق ﻣﺸﺨﺺ اﺳﺖ، ﻣﻌﻤﻮﻻ در ﯾ‬‫از وﻇﺎﯾﻒ ﮐﺎوﺷ ﺮ وب آﻧﺴﺖ ﮐﻪ ﭘﺲ از درﯾﺎﻓﺖ ﻓﺎﯾﻞ اﺻﻠ ﺳﻨﺪ و‬ ‫ارﺟﺎع داده ﺷﺪهاﺳﺖ. ﯾ‬ ‫41‬
  28. 28. ‫ﭘﺮدازش آن، ﺗﻤﺎﻣ ﻓﺎﯾﻠﻬﺎی ارﺟﺎع ﺷﺪه را ﻧﯿﺰ ﺑﻪ ﺗﻔﮑﯿ از ﺳﺮور درﺧﻮاﺳﺖ و درﯾﺎﻓﺖ ﻧﻤﺎﯾﺪ ﺗﺎ‬‫ﺑﺘﻮاﻧﺪ ﺻﻔﺤﻪ را ﺗﻤﺎم و ﮐﻤﺎل ﻧﻤﺎﯾﺶ دﻫﺪ. در واﻗ ﻗﺴﻤﺖ ﻋﻤﺪه ﺑﺎر ﺷﺪن ﻫﺮ ﺻﻔﺤﻪ وب ﻣﺮﺑﻮط‬‫ﺣﺠﻢ ﻗﺎﺑﻞ‬ ‫ﺑﻪ درﯾﺎﻓﺖ ﻓﺎﯾﻠﻬﺎی ﺟﺎﻧﺒﯽ ﭘﺮ ﺣﺠﻢ آن – ﻣﺎﻧﻨﺪ ﺗﺼﺎوﯾﺮ – اﺳﺖ و ﺳﻨﺪ ‪HTML‬‬ ‫ﺗﻮﺟﻬ ﻧﺪارد.‬ ‫‪CSS‬‬ ‫٣٬۴٬٢‬‫ﻣﺤﺘﻮی از ﻗﺎﻟﺐ ﺑﻨﺪی، اﺳﺘﻔﺎده از ﺑﺮﭼﺴﺐﻫﺎی‬ ‫ﭼﻨﺪﮔﺎﻫﯿﺴﺖ ﮐﻪ در راﺳﺘﺎی ﺗﻔﮑﯿ‬‫رﻓﺘﺎر ﻧﺎﻣﻄﻠﻮب ﺗﻠﻘ ﻣ ﺷﻮد و ﮐﻠﯿﻪ ﻗﺎﻟﺐ ﺑﻨﺪی ﺻﻔﺤﺎت وب ﺑﻪ‬ ‫ﻗﺎﻟﺐﺑﻨﺪی ‪ HTML‬ﯾ‬ ‫‪ CSS‬ﺳﭙﺮده ﺷﺪه اﺳﺖ. ‪ CSS‬ﻣﺨﻔﻒ ﻋﺒﺎرت ‪ Casacading Style Sheets‬اﺳﺖ، ﺑﻪ ﻣﻌﻨ‬‫ﺻﻔﺤﺎت ﻗﺎﻟﺐ ﺑﻨﺪی ﮐﺮﮐﺮهای، ﮐﻪ ﺑﺮ روی ﯾ ﺪﯾ ﺮ ﺳﻮار ﻣ ﺷﻮﻧﺪ و ﻗﺎﻟﺐ را ﺗﺸ ﯿﻞ ﻣ دﻫﻨﺪ.‬ ‫ﺷ‪‬ﻞ ٨ ﮐﻠﯿﺪواژهﻫﺎی ﻣﻄﺮح در ‪ ،CSS‬ﯾ‪ ‬ﻃﺮاح وب ﺑﺎﯾﺪ ﺑﻪ اﯾﻦ ﻣﻔﺎﻫﯿﻢ ﻣﺴﻠﻂ ﺑﺎﺷﺪ‬‫ﻣﺘﻦ از ﺑﺮﭼﺴﺐ‬ ‫در ﮔﺬﺷﺘﻪ ﻫﻨﮕﺎم ﮐﺎرﺑﺮدﻫﺎی اﺑﺘﺪای ‪ ،HTML‬ﺟﻬﺖ ﺗﻐﯿﯿﺮ رﻧﮓ ﯾ‬‫ﺳﻨﺪ ‪ HTML‬اﻧﺘﻈﺎر ﻣ رود‬ ‫‪ font‬اﺳﺘﻔﺎده ﻣ ﺷﺪ. اﯾﻦ رﻓﺘﺎر دﯾ ﺮ ﻣﻄﻠﻮب ﻧﯿﺴﺖ زﯾﺮا از ﯾ‬‫ﮐﻪ ﻣﺤﺘﻮای ﻣﻨﻄﻘ و ﻣﻌﻨ دار ﺻﻔﺤﻪ را در ﺑﺮ داﺷﺘﻪ ﺑﺎﺷﺪ. اﻣﺮوزه ‪ HTML‬ﺗﻨﻬﺎ ﺗﻮﺳﻂ‬‫اﻧﺴﺎنﻫﺎ ﻣﺼﺮف ﻧﻤ ﺷﻮد و ﺑﺴﯿﺎری ﻧﺮماﻓﺰارﻫﺎ و ﻣﺎﺷﯿﻦﻫﺎ ﻫﺴﺘﻨﺪ ﮐﻪ اﯾﻦ اﺳﻨﺎد را درﯾﺎﻓﺖ‬ ‫51‬
  29. 29. ‫ﮐﺮده، ﺗﺠﺰﯾﻪ و ﺗﺤﻠﯿﻞ ﻣ ﮐﻨﻨﺪ. ﺑﺮای اﯾﻦ اﺑﺰار ﻗﺎﻟﺐ ﺑﻨﺪی ﺻﻔﺤﻪ اﻫﻤﯿﺖ ﺧﺎﺻ ﻧﺪارد و‬ ‫ﺗﻤﺮﮐﺰ آﻧﻬﺎ ﺑﺮ روی ﻣﺤﺘﻮاﺳﺖ.‬‫ﻓﺎﯾﻞ ‪ HTML‬ارﺟﺎع ﻣ دﻫﺪ و ﺑﺎ‬ ‫ﯾﺎ ﭼﻨﺪ ﺑﺮﭼﺴﺐ از ﯾ‬ ‫‪ CSS‬در ﻫﺮ دﺳﺘﻮر ﺧﻮد، ﺑﻪ ﯾ‬‫اﺳﺘﻔﺎده از ﺻﻔﺎت ﺧﺎﺻ رﻓﺘﺎرﻫﺎی ﻧﻤﺎﯾﺸ آﻧﻬﺎ را ﮐﻨﺘﺮل ﻣ ﮐﻨﺪ. ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل ﺑﺮای ﻗﺮﻣﺰ‬ ‫ﺻﻔﺤﻪ، ﻣ ﺗﻮان از ‪ CSS‬زﯾﺮ ﺑﻬﺮه ﺟﺴﺖ:‬ ‫و ﮐﻠﻔﺖ ﮐﺮدن ﺧﻄﻮط ﻣﻮﺟﻮد در ﺟﺪاول ﯾ‬ ‫{ ‪table td‬‬ ‫;‪border: 2px solid‬‬ ‫;‪border-color: red‬‬ ‫}‬‫از دﯾ ﺮ ﻣﺰاﯾﺎی ‪ CSS‬آﻧﺴﺖ ﮐﻪ ﺑﺎ ﺳﺎدﮔ ﻣ ﺗﻮان ﺑﺎ ﺑﺎر ﮐﺮدن ‪CSS‬ﻫﺎی ﻣﺨﺘﻠﻒ‬‫ﺻﻔﺤﻪ، ﻗﺎﻟﺐﻫﺎی ﻣﺨﺘﻠﻔ ﺑﺪان داد. ﻧﮑﺘﻪ ﺣﺎﺋﺰ اﻫﻤﯿﺖ ‪ CSS‬از دﯾﺪﮔﺎه اﻣﻨﯿﺖ وب‬ ‫ﺑﺮای ﯾ‬‫آﻧﺴﺖ ﮐﻪ ﺻﻔﺎت آن ﻣ ﺗﻮاﻧﻨﺪ ﻣﻘﺎدﯾﺮ ﻣﺘﻐﯿﺮ ﻧﯿﺰ درﯾﺎﻓﺖ ﮐﻨﻨﺪ. اﯾﻦ ﻣﻘﺎدﯾﺮ ﻣﺘﻐﯿﺮ ﺗﻮﺳﻂ‬‫‪ Javascript‬اﺟﺮا و ﭘﺮدازش ﻣ ﺷﻮد و اﻣ ﺎن اﺟﺮای ﮐﺪ در ﻓﺎﯾﻞﻫﺎی ‪ CSS‬را ﻧﯿﺰ ﻓﺮاﻫﻢ ﻣ -‬ ‫آورد.‬ ‫‪Javascript‬‬ ‫۴٬۴٬٢‬ ‫ﻫﻤﺎﻧﻄﻮر ﮐﻪ ﻗﺒﻼ ذﮐﺮ ﺷﺪ، ﺟﺎواﺳ ﺮﯾﭙﺖ ﺑﺎ اﻧﺸﻌﺎب از ‪ ECMAScript‬ﺑﻪ ﻋﻨﻮان زﺑﺎﻧ‬‫ﺑﺮای اﻓﮑﺖ دادن ﺑﻪ ﺻﻔﺤﺎت اﯾﺴﺘﺎی وب )‪ (HTML‬در ﺳﺎل ۴٩٩١ ﻂﺳﻮﺗ ‪ Netscape‬اﯾﺠﺎد‬ ‫ﮔﺮدﯾﺪ. در ﺳﺎل ۶٩٩١ ﻫﻢ ﻣﺎﯾ ﺮوﺳﺎﻓﺖ اﯾﻦ ﺗﮑﻨﻮﻟﻮژی را در ﮐﺎوﺷ ﺮ ‪ IE‬ﺧﻮد اﺿﺎﻓﻪ ﻧﻤﻮد.‬ ‫61‬
  30. 30. ‫ﺷ‪‬ﻞ9 ﻧﻤﺎﯾﻪ ‪ ،jQuery‬ﻣﺤﺒﻮبﺗﺮﯾﻦ ﮐﺘﺎﺑﺨﺎﻧﻪ ﺟﺎواﺳ‪‬ﺮﯾﭙﺖ‬‫زﺑﺎن ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯿﺴﺖ ﮐﻪ ﻣﺘﻐﯿﺮﻫﺎی آن ﻧﻮع ﭘﻮﯾﺎ دارﻧﺪ، ﻣﺒﺘﻨ ﺑﺮ ﺷ ء‬ ‫ﺟﺎواﺳ ﺮﯾﭙﺖ ﯾ‬‫)‪ (Object Based‬اﺳﺖ و ﺗﻮﺳﻂ ﻣﻔﺴﺮ اﺟﺮا ﻣ ﮔﺮدد. ﺗﻮاﺑﻊ ﺗﻮدرﺗﻮ و ‪ Closure‬ﻧﯿﺰ ﺗﻮﺳﻂ‬ ‫اﯾﻦ زﺑﺎن ﭘﺸﺘﯿﺒﺎﻧ ﻣ ﺷﻮﻧﺪ.‬‫اول در‬ ‫ﺗﻔﺎوت ﻋﻤﺪه ﺟﺎواﺳ ﺮﯾﭙﺖ و ‪ ECMAScript‬در وﺟﻮد ﭼﻨﺪﯾﻦ ﺷ ء ﺳﻄ‬‫ﺟﺎواﺳ ﺮﯾﭙﺖ اﺳﺖ، ﮐﻪ ﺗﻮﺳﻂ ﮐﺎوﺷ ﺮ وب ﺑﺮای آن ﻣﻬﯿﺎ ﻣ ﮔﺮدد. ﻣﻬﻤﺘﺮﯾﻦ اﯾﻦ اﺷﯿﺎء‬‫ﺷ ء ‪ document‬و ‪ window‬اﺳﺖ ﮐﻪ اوﻟ ‪ DOM‬ﺳﻨﺪ ‪ HTML‬را در اﺧﺘﯿﺎر ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺲ‬‫ﻗﺮار ﻣ دﻫﺪ ﺗﺎ ﺑﺘﻮاﻧﺪ اﺟﺰای ﺻﻔﺤﻪ را ﺗﻐﯿﯿﺮ دﻫﺪ و دوﻣ ﭘﻨﺠﺮه ﮐﺎوﺷ ﺮ را در اﺧﺘﯿﺎر ﺑﺮﻧﺎﻣﻪ-‬ ‫ﻧﻮﯾﺲ ﻣ ﮔﺬارد ﺗﺎ ﺑﺎ وﯾﮋﮔ ﻫﺎ و اﺑﻌﺎد آن ﺗﻌﺎﻣﻞ داﺷﺘﻪ ﺑﺎﺷﺪ.‬‫ﺟﺎواﺳ ﺮﯾﭙﺖ زﺑﺎن ﻣﺤﺪودﯾﺴﺖ و اﻣ ﺎن دﺳﺘﺮﺳ ﺑﻪ ﺳﯿﺴﺘﻢ ﻓﺎﯾﻞ و ﺳﺨﺖ اﻓﺰارﻫﺎی‬‫ﺑﺴﺘﺮ ﺧﻮد را ﻧﺪارد و ﺗﺎ ﻗﺒﻞ از ‪ AJAX‬اﺟﺎزه دﺳﺘﺮﺳ ﺑﻪ ﻣﻨﺎﺑﻊ اﯾﻨﺘﺮﻧﺖ را ﻫﻢ – ﺑﻪ ﺻﻮرت‬‫ﻣﺴﺘﻘﯿﻢ – ﻧﺪاﺷﺖ. در ﺣﺎل ﺣﺎﺿﺮ دﺳﺘﻪ ﺑﺴﯿﺎر ﻣﻬﻤ از ﻣﺨﺎﻃﺮات وب ﺑﺎ ﻧﺎم ‪ XSS‬ﺑﺮ اﺳﺎس‬ ‫اﯾﻦ ﺗﮑﻨﻮﻟﻮژی ﺑﻨﺎ ﺷﺪهاﻧﺪ.‬‫ﺟﺎواﺳ ﺮﯾﭙﺖ ﺑﺮای ﺗﻌﺎﻣﻞ ﺑﻬﺘﺮ ﺑﺎ ﮐﺎرﺑﺮ و ﺻﻔﺤﻪ، از ﺗﻌﺪادی رﺧﺪاد )‪ (Event‬ﺑﻬﺮه ﻣ -‬‫ﮐﺪ ﺟﺎواﺳ ﺮﯾﭙﺖ ﻣ ﺗﻮان اﺟﺮا ﮔﺮدد. ﺑﻪ ﻋﻨﻮان‬ ‫ﮔﯿﺮد ﮐﻪ ﺑﺎ اﺗﻔﺎق اﻓﺘﺎدن ﻫﺮﮐﺪام از آﻧﻬﺎ ﯾ‬‫ﺗﺼﻮﯾﺮ ﻣﻨﺘﻘﻞ‬ ‫ﻣﺜﺎل در ﺻﻮرﺗ ﮐﻪ ﺑﺨﻮاﻫﯿﻢ ﻫﻨﮕﺎﻣ ﮐﻪ ﮐﺎرﺑﺮ ﻧﺸﺎﻧﮕﺮ ﻣﺎوس را ﺑﺮ روی ﯾ‬ ‫ﮐﺮد، ﭘﯿﺎﻣ ﺑﻪ وی ﻧﺸﺎن دﻫﯿﻢ ﻣ ﺗﻮاﻧﯿﻢ از ﺟﺎواﺳ ﺮﯾﭙﺖ زﯾﺮ اﺳﺘﻔﺎده ﻧﻤﺎﯾﯿﻢ:‬ ‫71‬
  31. 31. ‫>’‪<script type=’text/javascript‬‬ ‫)‪function showSomeMessage(e‬‬ ‫{‬ ‫;)”!‪alert(“You brought your mouse on me‬‬ ‫}‬ ‫>‪</script‬‬ ‫>/ ’;)‪<img src = ’img.jpg’ onmouseover = ’showSomeMessage(this‬‬‫ﺑﻪ دﻟﯿﻞ ﻣﺤﺒﻮﺑﯿﺖ وب، ﺳﺎدﮔ ﺟﺎواﺳ ﺮﯾﭙﺖ و ﻗﺪﯾﻤ ﺑﻮدن و اﺳﺘﺎﻧﺪارد ﺑﻮدن‬‫آن، اﮐﻨﻮن ﺑﺴﯿﺎری از ﺑﺮﻧﺎﻣﻪﻫﺎی ﻣﺨﺘﻠﻒ )ﻏﯿﺮ وﺑﯽ( از اﯾﻦ ﺗﮑﻨﻮﻟﻮژی و زﺑﺎن اﺳﺘﻔﺎده ﻣ -‬ ‫ﮐﻨﻨﺪ.‬ ‫‪AJAX‬‬ ‫۵٬۴٬٢‬‫ﻣﺨﻔﻒ ﻋﺒﺎرت ‪ Asynchronous Javascript And XML‬آژاﮐﺲ ﺗﮑﻨﻮﻟﻮژی ارﺗﺒﺎط‬ ‫ﺟﺎواﺳ ﺮﯾﭙﺖ ﺑﺎ ﺳﺮور ﺧﻮد ﺟﻬﺖ درﯾﺎﻓﺖ داده و ﻧﻤﺎﯾﺶ داده ﺑﺪون ﺑﺮوزرﺳﺎﻧ ﺻﻔﺤﻪ اﺳﺖ.‬ ‫ﺷ‪‬ﻞ ٠١ ﻧﻤﺎﯾﻪ آژاﮐﺲ‬ ‫81‬
  32. 32. ‫ﺑﻪ دﻟﯿﻞ اﯾﻨﮑﻪ در اﺑﺘﺪا دادهﻫﺎی درﯾﺎﻓﺘ از ﻧﻮع ‪ XML‬ﺑﻮدهاﻧﺪ و ﺗﻮﺳﻂ ﺟﺎواﺳ ﺮﯾﭙﺖ‬‫ﭘﺮدازش ﺷﺪه ﺑﻪ ﻧﻮع دﻟﺨﻮاه ﺗﺒﺪﯾﻞ ﻣ ﺷﺪﻧﺪ، اﯾﻦ ﺗﮑﻨﻮﻟﻮژی »ﺟﺎواﺳ ﺮﯾﭙﺖ آﺳﻨﮑﺮون ﺑﻪ‬‫ﻫﻤﺮاه ‪ «XML‬ﻧﺎم ﮔﺮﻓﺘﻪ اﺳﺖ. در ﺣﺎل ﺣﺎﺿﺮ ﺑﯿﺸﺘﺮ از ﻗﺎﻟﺐ ‪ JSON‬ﺑﺮای درﯾﺎﻓﺖ اﻃﻼﻋﺎت‬ ‫ﺗﻮﺳﻂ آزاﮐﺲ اﺳﺘﻔﺎده ﻣ ﺷﻮد.‬‫‪ JSON‬ﻫﻢ ﺣﺠﻢ ﺑﺴﯿﺎر ﮐﻤﺘﺮی دارد ﻫﻢ ﺑﻪ ﺻﻮرت ﭘﯿﺶ ﻓﺮض ﺗﻮﺳﻂ ﻣﻔﺴﺮ ﺟﺎواﺳ ﺮﯾﭙﺖ‬ ‫ﻧﻤﻮﻧﻪ داده ‪ JSON‬ﺑﻪ ﺻﻮرت زﯾﺮ اﺳﺖ:‬ ‫ﻗﺎﺑﻞ ﭘﺮدازش اﺳﺖ. ﯾ‬ ‫,”‪{ “key”:”value‬‬ ‫,”2‪“key2”:”value‬‬ ‫{ :”3‪“key‬‬ ‫,”1-3‪“key3-1”:”value‬‬ ‫} ”2-3‪“key3-2”:”value‬‬ ‫}‬ ‫ﻣﺘﻦ درﯾﺎﻓﺖ ﺷﺪه از ﺳﺮور، ﺑﺎ دﺳﺘﻮر زﯾﺮ ﺑﻪ ﺳﺎدﮔ‬ ‫ﻟﺬا ﺑﺎ داﺷﺘﻦ اﯾﻦ داده ﺑﻪ ﺻﻮرت ﯾ‬ ‫ﻣﺘﻐﯿﺮ ﺟﺎواﺳ ﺮﯾﭙﺖ درآورد:‬ ‫ﻣ ﺗﻮان آﻧﺮا در ﻗﺎﻟﺐ ﯾ‬ ‫)‪eval( “ variable = “+jsondata‬‬‫اﻟﻤﺎن ﺑﻪ ﺻﻔﺤﻪ‬ ‫ﻗﺒﻞ از وﺟﻮد آژاﮐﺲ، ﺟﺎواﺳ ﺮﯾﭙﺖ ﻣ ﺗﻮاﻧﺴﺖ ﺑﺎ اﻓﺰودن ﯾ‬‫داده ﭘﻮﯾﺎﯾﯽ از ﺻﻔﺤﻪ وب را ﺑﺎر ﻧﻤﺎﯾﺪ، اﻣﺎ اﻣ ﺎن داﺷﺘﻦ اﯾﻦ داده در ﮐﺪ ﺟﺎواﺳ ﺮﯾﭙﺖ ﺑﻪ‬‫درﺧﻮاﺳﺖ ﺑﻪ ﺳﺮور را‬ ‫ﺳﺎدﮔ ﻓﺮاﻫﻢ ﻧﺒﻮد. ﺑﻪ ﻋﺒﺎرت دﻗﯿﻖ ﺟﺎواﺳ ﺮﯾﭙﺖ اﻣ ﺎن ارﺳﺎل ﯾ‬ ‫داﺷﺖ وﻟ اﻣ ﺎن ﻣﺸﺎﻫﺪه ﭘﺎﺳ آﻧﺮا ﻧﺪاﺷﺖ.‬ ‫91‬
  33. 33. ‫اﻣﺮوز ﻫﻢ ﺟﺎواﺳ ﺮﯾﭙﺖ و آژاﮐﺲ ﺗﻨﻬﺎ در ﻣﺤﺪوده ‪ Same Origin Policy‬ﻣ ﺗﻮاﻧﻨﺪ ﺑﺎ‬‫ﺳﺮور ﺧﻮد ﺗﻤﺎس ﺣﺎﺻﻞ ﻧﻤﺎﯾﻨﺪ، ﺑﺪﯾﻦ ﻣﻌﻨ ﮐﻪ ﺟﺎواﺳ ﺮﯾﭙﺖ از ﻫﺮ ﺳﺮوری ﮐﻪ ﺑﺎر ﺷﺪه‬ ‫ﺑﺎﺷﺪ ﺗﻨﻬﺎ ﺑﺎ ﻫﻤﺎن ﺳﺮور اﻣ ﺎن ارﺗﺒﺎط دارد.‬‫از روﺷﻬﺎی ﻣﺎﻫﯿﺘﺎ ﻧﺎ اﻣﻦ دور زدن‬ ‫اﺳﺘﻔﺎده از ‪ JSONP‬ﯾﺎ ‪ JSON with Padding‬ﯾ‬‫‪ Same Origin Policy‬در ﻫﻨﮕﺎﻣﯿﺴﺖ ﮐﻪ ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺲ ﺑﺮ روی ﭼﻨﺪ ﺳﺎﯾﺖ ﺑﻪ ﻃﻮر ﺗﻮزﯾﻊ‬ ‫ﺷﺪه ﮐﺎر ﻣ ﮐﻨﺪ.‬ ‫‪Web Server‬‬ ‫۶٬۴٬٢‬‫وب‬ ‫وب ﺳﺮور، ﺗﮑﻨﻮﻟﻮژی ﺳﺮوﯾﺲ دادن ﭘﺮوﺗﮑﻞﻫﺎی ‪ HTTP‬و ‪ HTTPS‬اﺳﺖ. ﯾ‬‫ﺳﺮور ﭘﺲ از اﺟﺮا، ﺑﺮ روی ﭘﻮرتﻫﺎی ﻣﺸﺨﺺ اﯾﻦ دو ﭘﺮوﺗﮑﻞ )ﺑﻪ ﺗﺮﺗﯿﺐ ٠٨ و ٣۴۴( ﻣﻨﺘﻈﺮ‬ ‫ﻣ ﻣﺎﻧﺪ و درﺧﻮاﺳﺖﻫﺎی ‪ HTTP‬درﯾﺎﻓﺖ ﺷﺪه را ﭘﺎﺳ ﻣ ﮔﻮﯾﺪ.‬ ‫ﺷ‪‬ﻞ ١١ ﻧﻤﺎﯾﯽ از ﺑﺎر ﺷﺪن ﯾ‪ ‬ﺳﻨﺪ از دﯾﺪ وب ﺳﺮور‬ ‫02‬
  34. 34. ‫‪ HTTPS‬ﻫﻤﺎن ﭘﺮوﺗﮑﻞ ‪ HTTP‬اﺳﺖ ﮐﻪ در ﻻﯾﻪ زﯾﺮﯾﻦ ﺧﻮد ﺑﺮ روی ﭘﺮوﺗﮑﻞ ‪) SSL‬ﺎﯾ‬‫ﻧﺴﺨﻪ ﺟﺪﯾﺪ آن ‪ (TLS‬ﺗﮑﯿﻪ ﻣ ﺪﻨﮐ. اﯾﻦ ﭘﺮوﺗﮑﻞﻫﺎ وﻇﯿﻔﻪ رﻣﺰﮔﺬاری دادهﻫﺎ را ﺑﺮ ﻋﻬﺪه‬‫ﮐﻪ ﺷﺨﺺ ﺛﺎﻟﺜ ارﺗﺒﺎط اﯾﻨﮕﻮﻧﻪ را ﺷﻨﻮد ﮐﻨﺪ، دادهﻫﺎی ﻧﺎﻣﻔﻬﻮم‬ ‫دارﻧﺪ، ﻟﺬا در ﺻﻮرﺗ‬ ‫درﯾﺎﻓﺖ ﻣ ﮐﻨﺪ و ﻧﻤ ﺗﻮاﻧﺪ ﺗﺸﺨﯿﺺ دﻫﺪ ﮐﻪ ﻣﺨﺎﻃﺐ در ﺣﺎل ﻣﺮور ﭼﻪ ﺳﺎﯾﺘ و ﭼﻪ ﺻﻔﺤﺎﺗ‬ ‫اﺳﺖ، ﺑﻠ ﻪ ﺗﻨﻬﺎ ﺑﻪ آی ﭘﯽ ﻣﻘﺼﺪ دﺳﺘﺮﺳ داﺷﺘﻪ ﻣ ﺗﻮاﻧﺪ ﺳﺮور ﻣﺨﺎﻃﺐ را ﺗﺸﺨﯿﺺ دﻫﺪ.‬‫ﺳﺮورﻫﺎی وب ﻣﺤﺘﻮا را ﺑﻪ دو ﺻﻮرت اﯾﺴﺘﺎ و ﭘﻮﯾﺎ ﺑﻪ ﮐﺎرﺑﺮان ﺗﺤﻮﯾﻞ ﻣ دﻫﻨﺪ. در ﻣﺪل‬‫اﯾﺴﺘﺎ، ﺳﺮور ﺑﺎ ﺗﺸﺨﯿﺺ ﻣﻘﺼﺪ درﺧﻮاﺳﺖ، ﻓﺎﯾﻞ ﻣﺮﺑﻮﻃﻪ را از ﻃﺮﯾﻖ ﭘﺮوﺗﮑﻞ ‪ HTTP‬ﻪﺑ‬‫ﺑﻪ ﺗﻌﺪادی‬ ‫ﻣﺸﺘﺮی ﺗﺤﻮﯾﻞ ﻣ دﻫﺪ. ﻣﻌﻤﻮﻻ ﺳﺮورﻫﺎ ﺑﺎ اﺳﺘﻔﺎده از ﺗﻨﻈﯿﻤﺎت ﺧﺎﺻ‬ ‫ﺳﺮور ﻗﺮار ﺑ ﯿﺮﻧﺪ.‬ ‫‪ VirtualHost‬ﺗﻘﺴﯿﻢ ﻣ ﺷﻮﻧﺪ ﺗﺎ ﭼﻨﺪﯾﻦ ﺳﺎﯾﺖ ﺑﺘﻮاﻧﻨﺪ ﺑﺮ روی ﯾ‬‫در ﻣﺪل ﭘﻮﯾﺎ، ﺳﺮور ﺑﺎ ﺗﺸﺨﯿﺺ ﻧﻮع درﺧﻮاﺳﺖ ﻣﺸﺘﺮی و ﺑﺮ اﺳﺎس ﺗﻨﻈﯿﻤﺎت ﺧﻮد، ﻗﻄﻌﻪ‬ ‫ﮐﺪ ﺧﺎﺻ را اﺟﺮا ﻣ ﻧﻤﺎﯾﺪ و ﺧﺮوﺟ آﻧﺮا ﺑﻪ ﮐﺎرﺑﺮ ﺗﺤﻮﯾﻞ ﻣ دﻫﺪ. ﮐﺪ ﻣﺮﺑﻮﻃﻪ ﻣﻌﻤﻮﻻ ﺑﺎ ﯾ‬ ‫از زﺑﺎنﻫﺎی ﺳﻤﺖ ﺳﺮور )‪ (Server Side Includes‬ﻧﻮﺷﺘﻪ ﺷﺪه اﺳﺖ.‬‫ﭘﺮوﺳﻪ وب اﺳﺖ، ﺳﺮﻋﺖ و ﮐﺎراﯾﯽ آن اﻫﻤﯿﺖ‬ ‫از آﻧﺠﺎﯾﯽ ﮐﻪ ﺳﺮور وب ﻧﻘﻄﻪ ﺷﺮوع ﯾ‬‫ﺑﺴﺰاﯾﯽ دارد. درﺻﺪ ﻗﺎﺑﻞ ﺗﻮﺟﻬ از ﺣﻤﻼت ﺟﻠﻮﮔﯿﺮی از ﺳﺮوﯾﺲ )‪ (Denial of Service‬ﺮﺑ‬‫روی ﺳﺮورﻫﺎی وب اﻧﺠﺎم ﻣ ﮔﯿﺮﻧﺪ، زﯾﺮا ﺑﻪ ازای ﻫﺮ درﺧﻮاﺳﺖ ﮐﺎرﺑﺮ، ﺳﺮور ﺑﺎﯾﺪ ﺣﺠﻢ ﻗﺎﺑﻞ‬ ‫ﺗﻮﺟﻬ ﮐﺎر اﻧﺠﺎم دﻫﺪ.‬‫از دﯾﺪﮔﺎه ﮐﺎراﯾﯽ، ﺳﺮورﻫﺎ ﺑﻪ دو دﺳﺘﻪ ‪ Threaded‬و ‪ Processed‬ﺗﻘﺴﯿﻢ ﻣ ﺷﻮﻧﺪ. در‬‫ﻧ ﺟﺪاﮔﺎﻧﻪ اﺧﺘﺼﺎص ﻣ دﻫﺪ و ﻧ ﻣﺮﺑﻮﻃﻪ وﻇﯿﻔﻪ‬ ‫ﻧﻮع اول، ﺳﺮور ﻫﺮ درﺧﻮاﺳﺖ را ﺑﻪ ﯾ‬‫ﻓﺮآﯾﻨﺪ‬ ‫ﮐﺎرﺑﺮ، ﯾ‬ ‫اﺟﺮای درﺧﻮاﺳﺖ را دارد.در ﻣﺪل دوم ﺳﺮور ﺑﻪ ازای ﻫﺮ درﺧﻮاﺳﺖ ﯾ‬ ‫ﺪﯾﺪﺟ اﯾﺠﺎد ﻣ ﮐﻨﺪ و ﺳﺮوﯾﺲدﻫ ﮐﺎرﺑﺮ را ﺑﻪ آن ﻓﺮآﯾﻨﺪ ﻣ ﺳﭙﺎرد.‬ ‫12‬
  35. 35. ‫ﭘﺮ واﺿ اﺳﺖ ﮐﻪ روش اول ﺑﺎزدﻫ ﺑﺴﯿﺎر ﺑﺎﻻﺗﺮی دارد و ﺳﺮﻋﺖ ﻗﺎﺑﻞ ﺗﻮﺟﻪﺗﺮی ﮐﺴﺐ‬‫از ﻧ ﻫﺎ دﭼﺎر ﻣﺸ ﻞ ﺷﻮد، ﯾﺎ ﻣﻌﻀﻞ اﻣﻨﯿﺘ ﺑﺮای آن ﭘﯿﺶ ﺑﯿﺎﯾﺪ، ﺗﻤﺎم‬ ‫ﻣ ﮐﻨﺪ، وﻟ اﮔﺮ ﯾ‬‫از ﻓﺮآﯾﻨﺪﺎﻫ‬ ‫ﻧ ﻫﺎی دﯾ ﺮ ﺗﺤﺖ ﺗﺎﺛﯿﺮ ﻗﺮار ﺧﻮاﻫﻨﺪ ﮔﺮﻓﺖ. در ﻣﺪل ﻓﺮآﯾﻨﺪی در ﺻﻮرﺗ ﮐﻪ ﯾ‬ ‫ﺷﻮد ﯾﺎ ﻣﺸ ﻞﺳﺎز ﺑﺎﺷﺪ، ﻣﺸ ﻠ ﺑﺮای ﻣﺎﺑﻘ ﻓﺮآﯾﻨﺪﻫﺎ ﻣﺘﺼﻮﯾﺮ ﻧﯿﺴﺖ.‬ ‫ﻫ‬‫ﻫﻤﭽﻨﯿﻦ از ﻧﻈﺮ ﻣﺪ اﺟﺮا ﻣ ﺗﻮان وب ﺳﺮورﻫﺎ را ﺑﻪ دو دﺳﺘﻪ ﻫﺴﺘﻪای و ﮐﺎرﺑﺮی ﺗﻘﺴﯿﻢ‬‫ﻧﻤﻮد. وب ﺳﺮورﻫﺎی ﻫﺴﺘﻪای، در ﺣﻠﻘﻪ ﺻﻔﺮ ﺳﯿﺴﺘﻢ و ﺑﺎ دﺳﺘﺮﺳ ﻫﺴﺘﻪ )‪ (Kernel‬اﺟﺮا‬‫ﺑﻪ ﺑﺎﻻ(‬ ‫ﻣ ﺷﻮﻧﺪ، ﻟﺬا ﺳﺮﻋﺖ ﻗﺎﺑﻞ ﻣﻼﺣﻈﻪای دارﻧﺪ. ﻣﺪل ﮐﺎرﺑﺮی در ﻓﻀﺎی ﮐﺎرﺑﺮ )ﺣﻠﻘﻪ ﯾ‬‫اﺟﺮا ﻣ ﮔﺮدد و ﺳﺮﻋﺖ ﺑﺴﯿﺎر ﮐﻤﺘﺮی دارد.ﻣﺪل ﻫﺴﺘﻪای در ﺻﻮرﺗ ﮐﻪ دﭼﺎر ﺣﻤﻠﻪ ﯾﺎ ﻣﻌﻀﻞ‬‫ﺷﻮد، ﺑﺎﻋﺚ ﺗﻮﻗﻒ )‪ (Halt‬ﮐﻞ ﺳﯿﺴﺘﻢ ﻣ ﺷﻮد و ﻗﺎﺑﻞ ﺑﺎزﯾﺎﺑﯽ ﻧﯿﺴﺖ. ﻣﺪل ﮐﺎرﺑﺮی در ﻣﻘﺎﺑﻞ‬ ‫اﯾﻦ ﻣﺸ ﻼت ﻣﻘﺎومﺗﺮ اﺳﺖ.‬ ‫وب ﺳﺮورﻫﺎی ﻣﻌﺮوﻓ ﮐﻪ در ﺣﺎل ﺣﺎﺿﺮ در ﻓﻀﺎی اﯾﻨﺘﺮﻧﺖ وﺟﻮد دارﻧﺪ، ﻋﺒﺎرﺗﻨﺪ از:‬ ‫١٬٦٬٤٬٢ ‪Apache‬‬‫در ﺣﺎل ﺣﺎﺿﺮ ﻧﺴﺨﻪ آن ۴٬٢ ﺑﻮده، ﺗﻮﺳﻂ ﺑﻨﯿﺎد ﻣﺘﻦ ﺑﺎز آﭘﺎﭼ اراﺋﻪ ﻣ ﺷﻮد. آﭘﺎﭼ در‬‫ﻣﺪ ﮐﺎرﺑﺮی و ﻣﺒﺘﻨ ﺑﺮ ﻓﺮآﯾﻨﺪ اﺟﺮا ﻣ ﺷﻮد. ﺑﯿﺶ از ۵۶% ﮐﻞ وب ﺳﺮورﻫﺎی اﯾﻨﺘﺮﻧﺘ از اﯾﻦ‬‫ﻧﺮماﻓﺰار اﺳﺘﻔﺎده ﻣ ﻧﻤﺎﯾﻨﺪ. آﭘﺎﭼ اﻣ ﺎن اﺟﺮا و ﭘﺸﺘﯿﺒﺎﻧ ﺗﻤﺎم ﻣﺪﻫﺎ و زﺑﺎنﻫﺎی وب را‬ ‫داراﺳﺖ.‬ ‫22‬
  36. 36. ‫ﺷ‪‬ﻞ ٢١ ﻧﻤﺎﯾﻪ آﭘﺎﭼ‪) ‬وب ﺳﺮور(‬ ‫٢٬٦٬٤٬٢ )‪Internet Information Services (IIS‬‬‫وب ﺳﺮور ﻣﺎﯾ ﺮوﺳﺎﻓﺖ ﮐﻪ ﻣﻌﻤﻮﻻ ﺑﺮ ﺑﺴﺘﺮ ﻣﺎﯾ ﺮوﺳﺎﻓﺘ اﺟﺮا ﻣ ﺷﻮد. ﻣﺪ اﺟﺮای آن در‬‫ﻫﺴﺘﻪ اﺳﺖ و ﻣﺒﺘﻨ ﺑﺮ ﻧ ﻋﻤﻞ ﻣ ﮐﻨﺪ. ﮐﻤﺘﺮ از ۵١% وب ﺳﺎﯾﺖﻫﺎی دﻧﯿﺎ از اﯾﻦ ﺳﺮور‬ ‫اﺳﺘﻔﺎده ﻣ ﻧﻤﺎﯾﻨﺪ.‬ ‫ﺷ‪‬ﻞ ٣١ ﺻﻔﺤﻪ ﭘﯿﺸﻔﺮض 7 ‪IIS‬‬ ‫32‬
  37. 37. ‫٣٬٦٬٤٬٢ ‪nginx‬‬‫ﺗﻮﺳﻌﻪ دﻫﻨﺪه روﺳ . ﺗﻘﺮﯾﺒﺎ ٠١ درﺻﺪ ﺳﺎﯾﺘﻬﺎی‬ ‫ﺳﺮور ﻣﺘﻦ ﺑﺎز و ﺳﺎده ﺗﻮﺳﻂ ﯾ‬ ‫ﯾ‬ ‫اﯾﻨﺘﺮﻧﺘ از اﯾﻦ ﺳﺮور اﺳﺘﻔﺎده ﻣ ﮐﻨﻨﺪ. ﻣﺰﯾﺖ اﺻﻠ اﯾﻦ ﺳﺮور ﺳﺮﻋﺖ ﺑﺴﯿﺎر ﺑﺎﻻ و ﭘﯿﭽﯿﺪﮔ‬ ‫ﺑﺴﯿﺎر ﭘﺎﯾﯿﻦ آن اﺳﺖ. ﻣﻌﻤﻮﻻ ﺟﺎﯾ ﺰﯾﻨ ﺑﺮای آﭘﺎﭼ ﺗﻠﻘ ﻣ ﺷﻮد.‬ ‫ﺷ‪‬ﻞ ٤١ ﻧﻤﺎﯾﻪ ‪nginx‬‬‫• ‪ : Google Web Server‬وب ﺳﺮور ﻣﻮرد اﺳﺘﻔﺎده ﺗﻮﺳﻂ ﮔﻮﮔﻞ ﮐﻪ ﻣﺘﻦ ﺑﺎز ﺷﺪه‬‫اﺳﺖ. ﺣﺪود ٣% ﺳﺎﯾﺖﻫﺎی اﯾﻨﺘﺮﻧﺘ از اﯾﻦ ﺗﮑﻨﻮﻟﻮژی اﺳﺘﻔﺎده ﻣ ﮐﻨﻨﺪ ﮐﻪ اﮐﺜﺮ‬ ‫آﻧﻬﺎ ﻣﺘﻌﻠﻖ ﺑﻪ ﮔﻮﮔﻞ اﺳﺖ.‬‫• ‪ :lighttpd‬ﻧﺎم ﻓﺎﯾﻞ اﺟﺮاﯾﯽ آﭘﺎﭼ ، ‪ httpd‬ﺑﻪ ﻣﻌﻨ ‪ HTTP Daemon‬ﯾﺎ ﻏﻮل‬‫اراﺋﻪ دﻫﻨﺪه اچ ﺗ ﺗ ﭘﯽ اﺳﺖ. وب ﺳﺮور ‪ lighttpd‬ﺑﺎ ﻫﺪف اﯾﺠﺎد ﻧﺴﺨﻪ ﻣﺸﺎﺑﻪ‬‫آﭘﺎﭼ اﯾﺠﺎد ﺷﺪه اﺳﺖ و ﺑﺎ روی ﮐﺎر آﻣﺪن ‪ nginx‬روﻧﻖ‬ ‫وﻟ ﺑﺴﯿﺎر ﺳﺎده و ﺳﺒ‬ ‫ﺧﻮد را از دﺳﺖ داده اﺳﺖ.‬ ‫42‬
  38. 38. ‫ﺷ‪‬ﻞ ٥١ درﺻﺪ ﻣﺼﺮف وب ﺳﺮورﻫﺎی ﻣﺨﺘﻠﻒ در ﺳﺎﻟﻬﺎی ﻣﺨﺘﻠﻒ )ﮔﺰارش ﺷﺪه ﺗﻮﺳﻂ ﻧﺖ ﮐﺮاﻓﺖ(‬‫از وبﺳﺮورﻫﺎی ﻣﻌﺮﻓ ﺷﺪه، ﺗﻤﺎم آﻧﻬﺎ ﺑﺮ روی ﻫﻤﻪ ﺳ ﻮﻫﺎ ﻗﺎﺑﻞ اﺟﺮا ﻫﺴﺘﻨﺪ ﻣ ﺮ ‪IIS‬‬ ‫ﮐﻪ ﺗﻨﻬﺎ ﺑﺮ روی ﻧﺴﺨﻪﻫﺎی ﺳﺮور وﯾﻨﺪوز ﻗﺎﺑﻞ اﺟﺮاﺳﺖ.‬ ‫‪Server Side Scripts‬‬ ‫٧٬۴٬٢‬‫وب اﯾﺴﺘﺎ، اﻣﺮوزه ﺗﻘﺮﯾﺒﺎ از دور ﺧﺎرج ﺷﺪه اﺳﺖ و وبﻫﺎی ﭘﻮﯾﺎ ﺗﻤﺎم اﯾﻨﺘﺮﻧﺖ را ﭘﺮ ﮐﺮده-‬‫ﻣﻮﺳﺴﻪ ﺳﺎده ﻧﯿﺰ از اﻣ ﺎﻧﺎت ﭘﻮﯾﺎ ﺟﻬﺖ ﺗﻤﺎس ﺑﺎ ﻣﺸﺘﺮﯾﺎن و‬ ‫اﻧﺪ. ﺣﺘ ﺳﺎﯾﺖ ﻣﻌﺮﻓ ﯾ‬ ‫ردﮔﯿﺮی آﻧﺎن اﺳﺘﻔﺎده ﻣ ﻧﻤﺎﯾﺪ.‬ ‫52‬
  39. 39. ‫در اﺑﺘﺪا از زﺑﺎنﻫﺎی ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺴ ﻣﻌﻤﻮﻟ ﻣﺎﻧﻨﺪ ‪ C‬و ++‪ C‬و ‪ Perl‬ﺑﺮای ﻧﻮﺷﺘﻦ وب ﭘﻮﯾﺎ‬‫اﺳﺘﻔﺎده ﻣ ﺷﺪ. ﺑﻪ اﯾﻦ ﺑﺮﻧﺎﻣﻪﻫﺎ ‪ CGI Script‬ﻣ ﮔﻔﺘﻨﺪ. ﻣﺸ ﻞ اﺻﻠ ﺳ ﺟ آی در اﯾﻦ‬‫ﺑﻮد ﮐﻪ ﻧﻪ ﺗﻨﻬﺎ ﻣﺤﺘﻮای ﺻﻔﺤﻪ ﺧﺮوﺟ ، ﺑﻠ ﻪ ﺳﺮآﯾﻨﺪﻫﺎی ‪ HTTP‬را ﻧﯿﺰ ﺑﺎﯾﺪ ﻣﺪﯾﺮﯾﺖ ﻣ ﮐﺮد.‬ ‫ﺷ‪‬ﻞ ٦١ ﮔﺮدش ﮐﺎر اﺟﺮای ﯾ‪CGI ‬‬‫ﻫﻤﺎﻧﻄﻮر ﮐﻪ ﻗﺒﻼ ﻣﺸﺎﻫﺪه ﺷﺪ، ﺳﺮآﯾﻨﺪ درﺧﻮاﺳﺖ ‪ HTTP‬ﺣﺎوی ﭘﺎراﻣﺘﺮﻫﺎی ﻣﻬﻤﯿﺴﺖ‬‫و ﺗﻔﻬﯿﻢ ﺷﻮﻧﺪ. ﻫﻤﭽﻨﯿﻦ ﺑﺪﻧﻪ درﺧﻮاﺳﺖ ‪ HTTP‬ﻣ ﺗﻮاﻧﺴﺖ‬ ‫ﮐﻪ ﺗﻮﺳﻂ ﺑﺮﻧﺎﻣﻪ ﺑﺎﯾﺪ ﺗﻔﮑﯿ‬‫ﺣﺎوی دادهﻫﺎی ارﺳﺎﻟ ﺑﻪ ﺳﺮور ﺑﺎﺷﺪ. ﺳﺮآﯾﻨﺪ ﭘﺎﺳ ﻧﯿﺰ ﻣ ﺑﺎﯾﺴﺖ دارای اﺳﺘﺎﻧﺪاردﻫﺎ و‬‫ﻗﻮاﻋﺪ ﺧﺎﺻ ﻣ ﺑﻮد ﮐﻪ رﻋﺎﯾﺖ و اﯾﺠﺎد ﺗﻤﺎﻣ آﻧﻬﺎ ﺗﻮﺳﻂ ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺲ، ﮐﺎر را ﺑﺴﯿﺎر دﺷﻮار‬ ‫ﻣ ﮐﺮد.‬‫ﻧﮑﺘﻪ ﺑﺴﯿﺎر ﻣﻬﻢ دﯾ ﺮی ﮐﻪ در وب ﻣﻄﺮح ﺑﻮد، ﺣﺠﻢ زﯾﺎد ﺧﺮوﺟ ﺑﻪ ﻧﺴﺒﺖ ﮐﺪ ﺑﻮد. اﮐﺜﺮ‬‫ﺑﺮﻧﺎﻣﻪﻫﺎی ﺗﺤﺖ وب ﺑﯿﺶ از ٠٩% ﺣﺠﻢ ﮐﺪ ﺧﻮد را ﺑﻪ اﯾﺠﺎد ﺧﺮوﺟ ﻫﺎی ﻻزم اﺧﺘﺼﺎص‬ ‫62‬
  40. 40. ‫ﻣ دﻫﻨﺪ و ﺗﻨﻬﺎ ٠١% ﺑﺮای ﭘﺮدازش دادهﻫﺎ و ﻣﻨﻄﻖ ﺑﺮﻧﺎﻣﻪ ﺻﺮف ﻣ ﺷﻮد، و اﻣ ﺎﻧﺎت‬ ‫ﺧﺮوﺟ دادن زﺑﺎنﻫﺎﯾﯽ ﻣﺎﻧﻨﺪ ‪ C‬ﺑﺴﯿﺎر ﻣﺤﺪود و دﺷﻮار ﺑﻮد )‪.(printf‬‬‫‪ CGI‬از ﺳﺎل ۵٩٩١ ﻣﻮﺟﻮد ﺑﻮد وﻟ از ﺳﺎل ٨٩٩١ زﺑﺎنﻫﺎی ﺟﺪﯾﺪی ﺑﺎ ﺗﻤﺮﮐﺰ ﺑﺮ روی‬‫ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺴ وب ﺑﻪ ﻣﯿﺎن آﻣﺪﻧﺪ. ‪ ASP‬ﻣﺎﯾ ﺮوﺳﺎﻓﺖ از ﻗﺪﯾﻤ ﺗﺮﯾﻦ آﻧﻬﺎﺳﺖ. وﯾﮋﮔ ﺑﺎرز اﯾﻦ‬‫زﺑﺎنﻫﺎ در اﯾﻦ اﺳﺖ ﮐﻪ ﺧﻮد ﺳﺮآﯾﻨﺪ و ﺑﺪﻧﻪ درﺧﻮاﺳﺖ ‪ HTTP‬را ﭘﺮدازش ﮐﺮده، در ﻗﺎﻟﺐﻫﺎی‬‫ﺑﺴﯿﺎر ﺳﺎده ﺑﻪ ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺲ ﺗﺤﻮﯾﻞ ﻣ دﻫﻨﺪ. ﻫﻤﭽﻨﯿﻦ ﺳﺮآﯾﻨﺪﻫﺎی ﭘﺎﺳ را ﺑﻪ ﺳﺎدﮔ ﺑﺮ‬‫اﺳﺎس ﺧﺮوﺟ ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺲ ﺑﻪ ﺻﻮرت ﺧﻮدﮐﺎر اﯾﺠﺎد و ارﺳﺎل ﻣ ﻧﻤﺎﯾﻨﺪ. ﻫﻤﭽﻨﯿﻦ اﯾﻦ زﺑﺎن-‬‫ﻫﺎ اﮐﺜﺮا اﻣ ﺎن ﺗﻮﺳﻌﻪ ﺑﺮﻧﺎﻣﻪ ﺳﺮﯾﻊ )‪ (RAD‬را دارا ﻫﺴﺘﻨﺪ ﺗﺎ ﺑﻪ ﺳﺎدﮔ و ﺳﺮﻋﺖ ﺑﺘﻮان‬ ‫ﺻﻔﺤﺎت وب ﭘﻮﯾﺎ را ﺑﺎ آﻧﻬﺎ اﯾﺠﺎد ﻧﻤﻮد.‬ ‫زﺑﺎنﻫﺎی ﻣﻄﺮح ﺳﻤﺖ ﺳﺮور ﺑﻪ ﺷﺮح زﯾﺮ ﻫﺴﺘﻨﺪ:‬ ‫١٬٧٬٤٬٢ ‪PHP‬‬‫ﭘﯽ اچ ﭘﯽ، ﺑﻪ ﻋﻨﻮان ﻣﻌﺮوﻓﺘﺮﯾﻦ و ﭘﺮ اﺳﺘﻔﺎدهﺗﺮﯾﻦ زﺑﺎن ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺴ ﺗﺤﺖ وب، در ﺣﺎل‬‫ﺣﺎﺿﺮ ﺑﯿﺶ از ۵٧ درﺻﺪ ﮐﻞ ﺳﺎﯾﺖﻫﺎی ﭘﻮﯾﺎی اﯾﻨﺘﺮﻧﺖ را از آن ﺧﻮد ﮐﺮده اﺳﺖ. ﭘﯽ اچ ﭘﯽ‬ ‫زﺑﺎﻧ ﺑﺴﯿﺎر ﻗﺪرﺗﻤﻨﺪ، ﺳﺮﯾﻊ و ﺳﺎده اﺳﺖ.‬ ‫ﺷ‪‬ﻞ ٧١ ﻧﻤﺎﯾﻪ ﺳﺎده و ﻣﺤﺒﻮب ‪PHP‬‬ ‫72‬
  41. 41. ‫ﻣﺘﻐﯿﺮﻫﺎ ﺑﻪ ﺻﻮرت آزاد، ﺑﺎﻋﺚ ﻣ ﺷﻮد ﺑﺮﻧﺎﻣﻪﺲﯾﻮﻧ ‪ PHP‬ﺧﻮد را درﮔﯿﺮ‬ ‫ﻧﻮع دﻫ‬‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻣﺘﻐﯿﺮﻫﺎ و ﻧﻮع آﻧﻬﺎ ﻧﮑﻨﺪ و ﺗﻨﻬﺎ ﺑﻪ داده اﻫﻤﯿﺖ دﻫﺪ. ﻫﻤﭽﻨﯿﻦ ﺗﻤﺎم ﻗﺴﻤﺖﻫﺎی ﯾ‬‫ﮐﻪ ﺑﯿﻦ دو ﺑﺮﭼﺴﺐ ﺷﺮوع و ﭘﺎﯾﺎن ‪ PHP‬ﻧﺒﺎﺷﺪ، ﺑﻪ ﺻﻮرت ﺧﻮدﮐﺎر ﺗﻮﺳﻂ ﻣﻔﺴﺮ آن ﺑﻪ ﻋﻨﻮان‬‫ﻓﺮم اﯾﺠﺎد ﮐﺮده و ﻣﻘﺪار ﻓﯿﻠﺪ ﻧﺎم‬ ‫ﺧﺮوﺟ ﺗﻠﻘ ﻣ ﺷﻮد، ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل ﮐﺪ زﯾﺮ ﺑﻪ ﺳﺎدﮔ ﯾ‬ ‫آﻧﺮا ﺑﺮ اﺳﺎس دادهﻫﺎی ورودی ﮐﺎرﺑﺮ ﻣﺸﺨﺺ ﻣ ﺳﺎزد :‬ ‫>’‪<form method=’post‬‬ ‫‪<input‬‬ ‫’‪type=’text‬‬ ‫’‪name=’username‬‬ ‫‪value=’< ?php‬‬ ‫‪echo‬‬ ‫>/ ’ >?;]’‪$_POST[ ‘username‬‬ ‫>‪</form‬‬‫ﻫﻤﭽﻨﯿﻦ ﭘﯽ اچ ﭘﯽ دارای داﻣﻨﻪ وﺳﯿﻌ از ﮐﺘﺎﺑﺨﺎﻧﻪﻫﺎ و ﻗﻄﻌﻪ ﮐﺪﻫﺎی ﻣﺮﺑﻮط ﺑﻪ‬‫وب اﺳﺖ. ﻣﻬﻤﺘﺮﯾﻦ وﯾﮋﮔ ﭘﯽ اچ ﭘﯽ ﮐﻪ آﻧﺮا ﺗﺎ اﯾﻦ ﺣﺪ ﻣﺘﻤﺎﯾﺰ ﮐﺮدهاﺳﺖ، ﭼﻨﺪﺳ ﻮﯾﯽ ﺑﻮدن‬‫ﻧﺮماﻓﺰار ﻧﻮﺷﺘﻪ ﺷﺪه ﺗﻮﺳﻂ ﭘﯽ اچ ﭘﯽ، ﺑﺮ روی اﻧﻮاع ﺳﺮورﻫﺎ‬ ‫و ﻋﺪم اﺗﮑﺎ ﺑﻪ ﺳ ﻮ اﺳﺖ. ﯾ‬‫ﭘﺎﯾ ﺎه داده ﺳﺎده )ﮐﻪ ﻣﻌﻤﻮﻻ ‪ MyQSL‬اﺳﺖ( اﺣﺘﯿﺎج ﺑﻪ‬ ‫ﯾ ﺠﻮر ﮐﺎر ﻣ ﮐﻨﺪ و ﺑﻪ ﻏﯿﺮ از ﯾ‬ ‫ﺗﻨﻈﯿﻤﺎت دﯾ ﺮی ﻧﺪارد.‬‫اﮐﺜﺮ ﻧﺮماﻓﺰارﻫﺎی ﻣﺘﻦ ﺑﺎز و ﺑﺴﯿﺎر ﻣﻌﺮوف ﻣﻮﺟﻮد ﺑﺮ روی وب، ﻣﺎﻧﻨﺪ وردﭘﺮس،‬‫ﻼﻣﻮﺟ، ‪ Drupal ،MyBB‬و ... ﮐﻪ ﺑﯿﺶ از ٠٣% ﮐﻞ ﺳﺎﯾﺘﻬﺎی اﯾﻨﺘﺮﻧﺘ را از آن ﺧﻮد ﮐﺮده-‬ ‫اﻧﺪ، ﻣﺒﺘﻨ ﺑﺮ ‪ PHP‬و ‪ MySQL‬ﺪﻨﺘﺴﻫ.‬‫ﭘﯽ اچ ﭘﯽ ﺑﻪ ﺻﻮرت ﭘﯿﺸﻔﺮض زﺑﺎن ﺳﺎده و ﺳﻄ ﭘﺎﯾﯿﻨﯿﺴﺖ. اﻣ ﺎﻧﺎت اوﻟﯿﻪ وب و‬‫‪ HTTP‬درون ‪ PHP‬ﮔﻨﺠﺎﻧﯿﺪه ﺷﺪهاﻧﺪ اﻣﺎ اﻣ ﺎﻧﺎت ﭘﯿﺸﺮﻓﺘﻪﺗﺮ ﮐﻪ اﮐﺜﺮ ﻧﺮماﻓﺰارﻫﺎی اﻣﺮوزی‬‫وب ﺑﻪ آﻧﻬﺎ اﺣﺘﯿﺎج دارد، ﺑﺮ روی زﺑﺎن ﺗﻌﺒﯿﻪ ﻧﺸﺪهاﺳﺖ. از اﯾﻦ رو اﺗﮑﺎ ﺑﻪ ﭼﻬﺎرﭼﻮبﻫﺎی‬‫ﺗﻮﺳﻌﻪ وب )‪ (Web Application Framework‬در اﯾﻦ زﺑﺎن ﺑﺴﯿﺎر ﺑﺴﯿﺎر ﻣﻌﻤﻮل اﺳﺖ.‬ ‫82‬
  42. 42. ‫ﻣﺘﺎﺳﻔﺎﻧﻪ اﮐﺜﺮ اﯾﻦ ﭼﻬﺎرﭼﻮبﻫﺎ ، ﺗﻮﺳﻂ ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺴﺎن ﻣﻌﻤﻮﻟ و ﻣﺘﻦﺑﺎز ﻃﺮاﺣ ﺷﺪهاﻧﺪ و‬ ‫اﯾﻦ اﻣﺮ ﻣﻨﺠﺮ ﺑﻪ ﻋﺪم رﻋﺎﯾﺖ اﺻﻮل اﻣﻨﯿﺘ در اﮐﺜﺮ آﻧﻬﺎ ﮔﺮدﯾﺪه اﺳﺖ.‬ ‫٢٬٧٬٤٬٢ ‪ASP‬‬‫‪ ASP‬اوﻟﯿﻪ ﻣﺎﯾ ﺮوﺳﺎﻓﺖ، ﺷﺒﺎﻫﺘ زﯾﺎدی ﺑﻪ ‪ PHP‬داﺷﺖ، ﺑﺎ اﯾﻦ ﺗﻔﺎوت ﮐﻪ ﺗﻨﻬﺎ ﺑﺮ روی‬‫وﯾﻨﺪوز و ‪ IIS‬ﻗﺎﺑﻞ اﺟﺮا ﺑﻮد و ﻫﻤﭽﻨﯿﻦ ﮐﺘﺎﺑﺨﺎﻧﻪﻫﺎی ﺟﺎﻧﺒﯽ ﺑﺴﯿﺎر ﮐﻢ و ﻣﺤﺪودی داﺷﺖ. از‬‫ﺳﺎل ٠٠٠٢ ﮐﻪ ﻣﺎﯾ ﺮوﺳﺎﻓﺖ ﺑﺴﺘﻪ ﺗﮑﻨﻮﻟﻮژی ‪ .NET‬ﺧﻮد را ﻣﻌﺮﻓ ﻧﻤﻮد، ‪ ASP‬ﺑﺨﺸ از اﯾﻦ‬ ‫ﺑﺴﺘﻪ ﮔﺮدﯾﺪه ﺑﺎ ﻧﺎم ﺗﺠﺎری ‪ ASP.NET‬اراﺋﻪ ﮔﺮدﯾﺪ.‬ ‫ﺷ‪‬ﻞ ٨١ ﻧﻤﺎﯾﻪ ‪ASPX‬‬‫ﺑﺴﺘﺮ اﺳﺖ. اﯾﻦ ﺑﺴﺘﺮ‬ ‫زﺑﺎن ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺴ ﺑﺎﺷﺪ، ﯾ‬ ‫‪ ASP.NET‬ﺑﯿﺸﺘﺮ از اﯾﻨﮑﻪ ﯾ‬‫ﺗﻮﺳﻂ دو زﺑﺎن ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺴ ﮐﺎرﺑﺮ ﭘﺴﻨﺪ ﻣﺎﯾ ﺮوﺳﺎﻓﺖ، ‪ VB.NET‬و ‪ C#.NET‬ﻗﺎﺑﻞ اﺳﺘﻔﺎده‬‫اﺳﺖ. ‪ VB.NET‬زﺑﺎﻧ ﺑﺴﯿﺎر ﺳﺎده ﺑﺎ ﮐﻤﺘﺮﯾﻦ اﺻﻮل ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺴﯿﺴﺖ ﮐﻪ ﺑﺮای ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺴﺎن‬‫ﻣﺒﺘﺪی ﺑﺴﯿﺎر ﻣﻄﻠﻮب اﺳﺖ. #‪ C‬زﺑﺎﻧ ﺳﺎﺧﺖﯾﺎﻓﺘﻪ و ﺑﺮوزﺷﺪه ﺑﺮ اﺳﺎس ++‪ C‬اﺳﺖ. از‬‫آﻧﺠﺎﯾﯽ ﮐﻪ ﺑﺴﯿﺎری از ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺴﺎن ﻣﺤﯿﻂ ‪) .NET‬در اﯾﺮان( از وی ﺑﯽ اﺳﺘﻔﺎده ﻣ ﮐﻨﻨﺪ،‬ ‫اﮐﺜﺮ ﺑﺮﻧﺎﻣﻪﻫﺎی اﯾﻦ ﺳ ﻮ ﺑﺴﯿﺎر ﺿﻌﯿﻒ و ﻧﺎ اﻣﻦ ﻃﺮاﺣ ﻣ ﺷﻮد.‬‫ﺑﺮﻧﺎﻣﻪ ‪ ASP.NET‬را ﻣﺤﯿﻂ‬ ‫وﯾﮋﮔ ﻣﻬﻢ ‪ ،ASP.NET‬ﺳﺎدﮔ آن اﺳﺖ. ﺑﯿﺸﺘﺮ ﮐﺎر ﯾ‬‫ﺗﻮﺳﻌﻪ ﻣﺎﯾ ﺮوﺳﺎﻓﺖ ﻣﻮﺳﻮم ﺑﻪ ‪ Visual Studio‬اﻧﺠﺎم ﻣ دﻫﺪ و ﺣﺠﻢ ﮐﻤﺘﺮی از ﮐﺎر ﺑﻪ‬‫ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺲ ﻣﺤﻮل ﻣ ﺷﻮد. ﻧﮑﺎت ﻣﻨﻔ آن اﺗﮑﺎی ﺑﯿﺶ از ﺣﺪ ﺑﻪ ﻣﺤﺼﻮﻻت ﻣﺎﯾ ﺮوﺳﺎﻓﺖ، از‬‫از ﻫﻤﭙﺎﯾﺎن ﻣﺘﻦﺑﺎز ﺧﻮد ﺑﺴﯿﺎر ﻋﻘﺐ‬ ‫ﺟﻤﻠﻪ وﯾﻨﺪوز، ‪ SQL Server‬و ‪ IIS‬اﺳﺖ ﮐﻪ ﻫﻤ‬ ‫ﻫﺴﺘﻨﺪ و ﻫﺰﯾﻨﻪ ﺑﺎﻻﯾﯽ ﻧﯿﺰ ﺑﺮای ﺗﻬﯿﻪ آﻧﻬﺎ ﺑﺎﯾﺪ ﭘﺮداﺧﺖ ﺷﻮد.‬ ‫92‬

×