SlideShare uma empresa Scribd logo
1 de 188
Baixar para ler offline
‫داﻧﺸ ﺎه ﺷﻬﯿﺪ ﺑﻬﺸﺘ‬

 ‫داﻧﺸ ﺪه ﻣﻬﻨﺪﺳ ﺑﺮق و ﮐﺎﻣﭙﯿﻮﺗﺮ‬




         ‫ﭘﺮوژهی ﮐﺎرﺷﻨﺎﺳ‬

 ‫ﻣﻬﻨﺪﺳ ﮐﺎﻣﭙﯿﻮﺗﺮ ﮔﺮاﯾﺶ ﻧﺮم اﻓﺰار‬




         ‫ﻣﻮﺿﻮع ﭘﺮوژه:‬


‫ﭼﻬﺎرﭼﻮب ﺗﻮﺳﻌﻪ وب اﻣﻦ‬



          ‫اﺳﺘﺎد راﻫﻨﻤﺎ:‬

    ‫ﺟﻨﺎب آﻗﺎی دﮐﺘﺮ ذاﮐﺮاﻟﺤﺴﯿﻨ‬




          ‫ﮔﺮدآوردﻧﺪه:‬
      ‫ﻋﺒﺎس ﻧﺎدری اﻓﻮﺷﺘﻪ‬
  ‫‪abbas.naderi@owasp.org‬‬
          ‫ﺑﻬﺎر ١٩٣١‬
‫ﭼ ﯿﺪه:‬

‫وب ﺑﻪ ﻋﻨﻮان ﻣﻬﻤﺘﺮﯾﻦ ﺑﺴﺘﺮ اراﺋﻪ ﻧﺮماﻓﺰار و ﺳﺮوﯾﺲ، ﺗﺎ ﺟﺎﯾﯽ ﺟﻠﻮ رﻓﺘﻪ ﮐﻪ اﻣﺮوزه ﻣﺤﯿﻂﻫﺎی‬

‫ﺑﺴﺘﺮ و ﭘﺮوﺗﮑﻞ ﺑﺴﯿﺎر ﺳﺎده اﺳﺖ ﮐﻪ‬   ‫ﻪﻣﺎﻧﺮﺑﺳﺎزی و ﺣﺘ ﺳﯿﺴﺘﻢﻫﺎی ﻋﺎﻣﻞ ﺗﺤﺖ وب ﻗﺮار ﮔﺮﻓﺘﻪاﻧﺪ.وب ﯾ‬

‫ﺑﺎ اﻫﺪاف دﯾ ﺮی ﻃﺮاﺣ ﺷﺪه ﺑﻮده و ﺑﻪ ﺻﻮرت اﻧﻔﺠﺎری ﮔﺴﺘﺮش ﯾﺎﻓﺘﻪ اﺳﺖ، ﺑﻪ ﻫﻤﯿﻦ دﻟﯿﻞ ﺗﻮﻟﯿﺪ ﻧﺮم-‬

‫اﻓﺰارﻫﺎی ﻣﺒﺘﻨ ﺑﺮ وب ﻧﯿﺎزﻣﻨﺪ ﭼﻬﺎرﭼﻮبﻫﺎی ﮔﺴﺘﺮده و ﻗﺪرﺗﻤﻨﺪی ﻫﺴﺘﻨﺪ. اﯾﻦ ﭼﻬﺎرﭼﻮبﻫﺎی ﻣﻌﻤﻮﻻ در‬

‫اﻧﺠﻤﻦﻫﺎی ﻣﺘﻦﺑﺎز ﺷ ﻞ ﮔﺮﻓﺘﻪاﻧﺪ و ﻧﻘﺎط ﺿﻌﻒ اﻣﻨﯿﺘ دارﻧﺪ. در اﯾﻦ ﺳﻨﺪ ﭼﻬﺎرﭼﻮب ﺗﻮﺳﻌﻪ وب اﻣﻦ، ﺑﺎ‬

‫اﺗﮑﺎ ﺑﻪ دو ﭼﻬﺎرﭼﻮب ﺗﻮﻟﯿﺪ ﺷﺪه ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﻣﻨﯿﺖ وب ﻣﻄﺮح ﺷﺪهاﻧﺪ. اﺑﺘﺪا ﻣﻔﺎﻫﯿﻢ و ﺳﺎﺧﺘﺎر وب ﺑﻪ‬

‫ﺗﻔﺼﯿﻞ ﺑﺤﺚ ﺷﺪه ﺗﺎ ﺧﻮاﻧﻨﺪه ﺑﺘﻮاﻧﺪ ﻧﯿﺎز و ﭘﺎﺳ را ﺑﻪ ﺧﻮﺑﯽ درک ﮐﻨﺪ. ﺳﭙﺲ ﻣﺨﺎﻃﺮات ﻣﻮﺟﻮد در اﻣﻨﯿﺖ‬

         ‫وب ﻣﻄﺮح و ﺑﺮرﺳ ﺷﺪهاﻧﺪ و در ﺑﺨﺶ اﻧﺘﻬﺎﯾﯽ راﻫ ﺎرﻫﺎی ﻣﻘﺎﺑﻠﻪ ﺑﺎ اﯾﻦ ﻣﺨﺎﻃﺮات اراﺋﻪ ﺷﺪهاﻧﺪ.‬


‫ﻣﻔﺎﻫﯿﻤ ﻣﺎﻧﻨﺪ ﻣﻌﻤﺎری وب، ﭘﺮوﺗﮑﻞﻫﺎی ﻣﺠﻮد در وب، ﺗﮑﻨﻮﻟﻮژیﻫﺎی ﻣﻮرد اﺳﺘﻔﺎده در وب،‬

‫ﮐﺎوﺷ ﺮﻫﺎی وب، اﻣﻨﯿﺖ ﻋﻤﻮﻣ وب، اﻣﻨﯿﺖ ﻧﺮماﻓﺰار، ‪ ،MVC‬ﭼﻬﺎرﭼﻮبﻫﺎی ﺗﻮﺳﻌﻪ وب و ﻧﯿﺎزﻣﻨﺪیﻫﺎی‬

 ‫آﻧﺎن، ﻣﻌﻀﻼت ﻣﺨﺘﻠﻒ وب، ﺗﻌﺎرﯾﻒ اﻣﻨﯿﺖ اﻃﻼﻋﺎت، راﻫ ﺎرﻫﺎی ﺗﻔﺼﯿﻠ و ﻓﻨ ﻣﻘﺎﺑﻠﻪ ﺑﺎ ﻣﻌﻀﻼت اﻣﻨﯿﺘ‬

                ‫و دﯾﺪﮔﺎه درﺳﺖ ﺑﻪ اﻣﻨﯿﺖ وب، ﺑﺮﺧ از ﻣﻄﺎﻟﺐ ﭘﻮﺷﺶ داده ﺷﺪه در اﯾﻦ ﺳﻨﺪ ﻣ ﺪﻨﺷﺎﺑ.‬




    ‫ﮐﻠﻤﺎت ﮐﻠﯿﺪی: وب، اﻣﻨﯿﺖ، اﻣﻨﯿﺖ ﻧﺮماﻓﺰار، ﭼﻬﺎرﭼﻮب، ﻧﻔﻮذﮔﺮی، ﺗﻮﺳﻌﻪ ﻧﺮماﻓﺰار، ﻣﻬﻨﺪﺳ ﻧﺮماﻓﺰار‬
‫ﺐﻟﺎﻄﻣ ﺖﺳﺮﻬﻓ‬


١.............................................................................              ‫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
٢٩............................................................................. 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.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‬‬
‫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‬‬     ‫٧٬٢٬٦٬٢‬

‫ﺪﻣﯾﺮﯾﺖ ﺶﮐ ...................................................................٠٨‬       ‫٨٬٢٬٦٬٢‬

‫ﺪﻣﯾﺮﯾﺖ ﺎﻄﺧ ...................................................................١٨‬      ‫٩٬٢٬٦٬٢‬

‫٠١٬٢٬٦٬٢ ﺪﻣﯾﺮﯾﺖ زﻣﺎن...................................................................٢٨‬

‫١١٬٢٬٦٬٢ اﻟ ﻮی ﻪﻌﺳﻮﺗ ...................................................................٣٨‬

‫٢١٬٢٬٦٬٢ ﺐﻟﺎﻗ ﺪﻨﺑی ......................................................................٣٨‬

‫٣١٬٢٬٦٬٢ ﺪﻣﯾﺮﯾﺖ زﺑﺎن ...................................................................٤٨‬

‫٤١٬٢٬٦٬٢ اﻓﺰوﻧﺎﻬﻬ..........................................................................٥٨‬

‫٥١٬٢٬٦٬٢ ﺪﻣﯾﺮﯾﺖ داﻧﻠﻮد .................................................................٦٨‬

‫٦١٬٢٬٦٬٢ ﻪﻌﺳﻮﺗ ﻨﺘﺒﻣ ﺮﺑ ﺖﺴﺗ ........................................................٧٨‬
٨٩...........................................‫ﭼﻬﺎرﭼﻮﺑﻬﺎی ﺗﺠﺎری ﭘﺮﮐﺎرﺑﺮد‬                       ٢٬۶٬٣

٨٩.................................................................... 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
‫‪٩٦............................................................ 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‬

‫دﯾ ﺮ زﺑﺎﻧﻬﺎ ......................................................................٩٩‬   ‫٨٬٣٬۶٬٢‬

‫اﻣﻨﯿﺖ ﻣﻮﻤﻋ وب ..........................................................٩٩‬                       ‫٧٬٢‬

‫اﻣﻨﯿﺖ ﺷﺒ ﻪ و ﺖﺨﺳ اﻓﺰار ............................................٠٠١‬                       ‫١٬٧٬٢‬

‫اﻣﻨﯿﺖ ﺳﯿﻢﺘﺴ ﻞﻣﺎﻋ ...................................................١٠١‬                      ‫٢٬٧٬٢‬

‫اﻣﻨﯿﺖ ﺳﺮوﯾﺲ ...........................................................٢٠١‬                   ‫٣٬٧٬٢‬

‫اﻣﻨﯿﺖ ﻧﺮﻣﺎﻓﺰار ...........................................................٤٠١‬                ‫۴٬٧٬٢‬

‫اﻣﻨﯿﺖ ﺪﮐ ﺷﺎﻣﯿﻦ ...........................................................٤٠١‬          ‫١٬۴٬٧٬٢‬

‫اﻣﻨﯿﺖ ﻘﻄﻨﻣ /ﺳﻄ ﻻﺎﺑ .................................................٥٠١‬                ‫٢٬۴٬٧٬٢‬

                                                                     ‫ﻣﺨﺎﻃﺮات اﻣﻨﯿﺖ وب‬                  ‫٣‬

                                                                                       ‫٧٠١‬

‫ﺣﻮزﻫﻬﺎی اﻣﻨﯿﺖ ﻧﺮﻣﺎﻓﺰار ...............................................٧٠١‬                        ‫١٬٣‬
‫‪١٠٧....................................................... Confidentiality‬‬                   ‫1.1.3‬

‫‪١٠٧................................................................. Integrity‬‬           ‫٢٬١٬٣‬

‫‪١٠٨............................................................ Availability‬‬                 ‫3.1.3‬

‫ﻣﻌﻀﻼت ﻣﺸﻬﻮر اﻣﻨﯿﺖ وب ............................................٩٠١‬                             ‫٢٬٣‬

‫‪١٠٩........................................................ SQL Injection‬‬                    ‫1.2.3‬

‫ﺗﺰرﯾﻖ درﺧﻮاﺳﺖ ﮐﻮر .......................................................٠١١‬         ‫١٬١٬٢٬٣‬

‫ﺗﺰرﯾﻖ ﻋﺎدی ..................................................................١١١‬     ‫٢٬١٬٢٬٣‬

‫‪١١٢.................................... Union Bypassing‬‬                          ‫١٬٢٬١٬٢٬٣‬

‫رﺧﻨﻪ ﻪﺑ ﺳﯿﻢﺘﺴ ..........................................٤١١‬                      ‫٢٬٢٬١٬٢٬٣‬

‫ﺗﺰرﯾﻘﺎت دﯾ ﺮ .............................................................٥١١‬            ‫٢٬٢٬٣‬

‫ﺗﺰرﯾﻖ ﻪﺑ ﮐﻨﺴﻮل ............................................................٦١١‬       ‫١٬٢٬٢٬٣‬

‫ﺗﺰرﯾﻖ ﺪﮐ ......................................................................٦١١‬   ‫٢٬٢٬٢٬٣‬

‫ﺗﺰرﯾﻘﺎت دﯾ ﺮ .................................................................٧١١‬    ‫٣٬٢٬٢٬٣‬

‫اﺳ ﺮﯾﻮﻨﭙﯾﺴ ﺑﯿﻦ ﺎﺳﯾﺘ ..............................................٧١١‬                    ‫٣٬٢٬٣‬

‫‪ XSS‬ذﺧﯿﺮه ﺷﺪه ...........................................................٩١١‬         ‫١٬٣٬٢٬٣‬

‫‪ XSS‬ﺲﮑﻌﻨﻣ ﺷﺪه .........................................................٩١١‬           ‫٢٬٣٬٢٬٣‬

‫اﻧﻀﻤﺎم ﺎﻓﯾﻞ ﻣﺨﺮب .....................................................١٢١‬                ‫۴٬٢٬٣‬

‫اﻧﻀﻤﺎم ﺎﻓﯾﻞ از دور..........................................................٢٢١‬      ‫١٬۴٬٢٬٣‬

‫اﻧﻀﻤﺎم ﺎﻓﯾﻞ ﻠﺤﻣ ..........................................................٣٢١‬        ‫٢٬۴٬٢٬٣‬
‫ارﺟﺎع ﻘﺘﺴﻣﯿﻢ ﻦﺌﻤﻄﻣﺎﻧ ﻪﺑ ﻣﺤﺘﻮا ..................................٣٢١‬                           ‫۵٬٢٬٣‬

‫ﻞﻌﺟ درﺧﻮاﺳﺖ ﺑﯿﻦ ﺎﺳﯾﺘ ...........................................٥٢١‬                           ‫۶٬٢٬٣‬

‫ﻒﻌﺿ اﺣﺮاز ﻮﻫﯾﺖ و ﺪﻣﯾﺮﯾﺖ ﺖﺴﺸﻧ ...............................٧٢١‬                               ‫٧٬٢٬٣‬

‫ﻈﻨﺗﯿﻤﺎت ﺤﺻﺎﻧﯿﺢ و ﺪﻣﯾﺮﯾﺖ ﺎﻄﺧ ..................................٨٢١‬                             ‫٨٬٢٬٣‬

‫ﻔﺨﻣﯿ ﺎری ................................................................٩٢١‬                  ‫٩٬٢٬٣‬

‫رﻣﺰﻧﮕﺎری ﻦﺌﻤﻄﻣﺎﻧ .....................................................٠٣١‬                    ‫٠١٬٢٬٣‬

‫١٬٠١٬٢٬٣ رﻣﺰﻧﮕﺎری ارﺗﺒﺎﻃﺎت .........................................................٠٣١‬

‫٢٬٠١٬٢٬٣ رﻣﺰﻧﮕﺎری دادﻫﻬﺎ ............................................................١٣١‬

‫رﻣﺰﻧﮕﺎری ﯾ ﻄﺮﻓﻪ )ﭼ ﯿﺪﻫ ﯿﺮی( ...................٢٣١‬                             ‫١٬٢٬٠١٬٢٬٣‬

‫رﻣﺰﻧﮕﺎری دوﻃﺮﻓﻪ........................................٢٣١‬                     ‫٢٬٢٬٠١٬٢٬٣‬

‫اﻣﻨﯿﺖ ﻃﺮف ﺮﺘﺸﻣی ...................................................٣٣١‬                       ‫١١٬٢٬٣‬

‫ﻏﯿﺮه ........................................................................٤٣١‬             ‫٢١٬٢٬٣‬

                                                           ‫ﭼﻬﺎرﭼﻮب ﻪﻌﺳﻮﺗ وب اﻣﻦ‬                         ‫۴‬

                                                                                       ‫۵٣١‬

‫ﭼﻬﺎرﭼﻮب ﭘﯿﺸﻨﻬﺎدی ....................................................٥٣١‬                          ‫١٬٤‬

‫وﯾﮔﮋﯿﺎﻬی ﺑﺎرز ﭼﻬﺎرﭼﻮب ﭘﯿﺸﻨﻬﺎدی ...............................٦٣١‬                             ‫١٬١٬۴‬

‫ﺪﻣﺎﻌﺗ ...........................................................................٦٣١‬   ‫١٬١٬١٬۴‬

‫زﺑﺎن و ﺮﺘﺴﺑ ...................................................................٦٣١‬     ‫٢٬١٬١٬۴‬

‫ﺎﭘﯾ ﺎﻫﺪاده.....................................................................٦٣١‬     ‫٣٬١٬١٬۴‬
‫ﺪﻣﯾﺮﯾﺖ ﮐﺎرﺑﺮان و ﺖﺴﺸﻧ.................................................٧٣١‬            ‫۴٬١٬١٬۴‬

‫ﮐﻨﺘﺮل دﺳﺘﺮﺳ .............................................................٧٣١‬         ‫۵٬١٬١٬۴‬

‫‪١٣٨........................................................................... SEO‬‬   ‫۶٬١٬١٬۴‬

‫وب ﺳﺮوﯾﺲ ..................................................................٨٣١‬       ‫٧٬١٬١٬۴‬

‫آژاﮐﺲ .........................................................................٨٣١‬   ‫٨٬١٬١٬۴‬

‫ﺶﮐ و ﺘﺸﭘﯿﺒﺎن ..............................................................٨٣١‬       ‫٩٬١٬١٬۴‬

‫٠١٬١٬١٬۴ ﺪﻣﯾﺮﯾﺖ ﺎﻄﺧ .................................................................٩٣١‬

‫١١٬١٬١٬۴ ﺪﻣﯾﺮﯾﺖ زﻣﺎن.................................................................٩٣١‬

‫٢١٬١٬١٬۴ اﻟ ﻮی ﻪﻌﺳﻮﺗ .................................................................٩٣١‬

‫٣١٬١٬١٬۴ ﺐﻟﺎﻗ ﺪﻨﺑی ....................................................................٠٤١‬

‫۴١٬١٬١٬۴ ﺪﻣﯾﺮﯾﺖ زﺑﺎن .................................................................٠٤١‬

‫۵١٬١٬١٬۴ اﻓﺰوﻧﻬﻬﺎ........................................................................٠٤١‬

‫۶١٬١٬١٬۴ ﺪﻣﯾﺮﯾﺖ داﻧﻠﻮد ...............................................................٠٤١‬

‫٧١٬١٬١٬۴ ﺖﺴﺗ ...........................................................................١٤١‬

‫٨١٬١٬١٬٤ ﺗﻮﮐﺎر ............................................................................١٤١‬

‫ﻟﯿﺲﻧﺎﺴ و دﺳﺘﺮﺳ ﭼﻬﺎرﭼﻮب ......................................١٤١‬                          ‫٢٬١٬۴‬

‫راﻫ ﺎرﻫﺎی اﻣﻨﯿﺘ ﭼﻬﺎرﭼﻮب ..........................................٣٤١‬                            ‫٢٬٤‬

‫‪١٤٣........................................................ SQL Injection‬‬                 ‫1.2.4‬

‫‪١٤٣.................................................................... Escaping‬‬     ‫١٬١٬٢٬۴‬
‫دﺳﺘﻮرات ﻬﻣﯿﺎ ﺷﺪه )‪١٤٤...................... (Prepared Statement‬‬                       ‫٢٬١٬٢٬۴‬

‫ﺑﺮرﺳ ورودی ................................................................٧٤١‬        ‫٣٬١٬٢٬۴‬

‫ﻟﯿﺖﺴ ﺳﯿﺎه ................................................٧٤١‬                   ‫١٬٣٬١٬٢٬۴‬

‫ﻟﯿﺖﺴ ﻔﺳﯿﺪ ...............................................٧٤١‬                    ‫٢٬٣٬١٬٢٬۴‬

‫ﺗﺰرﯾﻘﺎت دﯾ ﺮ .............................................................٨٤١‬             ‫٢٬٢٬۴‬

‫ﺗﺰرﯾﻖ ﻪﺑ ﮐﻨﺴﻮل ............................................................٨٤١‬        ‫١٬٢٬٢٬۴‬

‫ﺗﺰرﯾﻖ ﺪﮐ ......................................................................٨٤١‬    ‫٢٬٢٬٢٬۴‬

‫ﺗﺰرﯾﻘﺎت دﯾ ﺮ .................................................................٨٤١‬     ‫٣٬٢٬٢٬۴‬

‫اﺳ ﺮﯾﻮﻨﭙﯾﺴ ﺑﯿﻦ ﺎﺳﯾﺘ ..............................................٩٤١‬                     ‫٣٬٢٬۴‬

‫ﻧﯿﺎزی ﻪﺑ ﺐﺴﭼﺮﺑ ﻧﯿﺖﺴ ...................................................٩٤١‬            ‫١٬٣٬٢٬۴‬

‫ﺐﺴﭼﺮﺑ ﻻزم اﺳﺖ ..........................................................٠٥١‬           ‫٢٬٣٬٢٬۴‬

‫اﻧﻀﻤﺎم ﺎﻓﯾﻞ ﻣﺨﺮب .....................................................١٥١‬                 ‫۴٬٢٬۴‬

‫ارﺟﺎع ﻘﺘﺴﻣﯿﻢ ﻦﺌﻤﻄﻣﺎﻧ ﻪﺑ ﻣﺤﺘﻮا ..................................٢٥١‬                       ‫۵٬٢٬۴‬

‫ﻞﻌﺟ درﺧﻮاﺳﺖ ﺑﯿﻦ ﺎﺳﯾﺘ ...........................................٢٥١‬                       ‫۶٬٢٬۴‬

‫ﻪﻔﻟﻮﻣ ﯾ ﺘﺎ .....................................................................٢٥١‬   ‫١٬۶٬٢٬۴‬

‫‪١٥٣................................................................ CAPTCHA‬‬           ‫2.6.2.4‬

‫ﻒﻌﺿ اﺣﺮاز ﻮﻫﯾﺖ و ﺪﻣﯾﺮﯾﺖ ﺖﺴﺸﻧ ...............................٤٥١‬                           ‫٧٬٢٬۴‬

‫ﻣﺮا ﻪﺑ ﺮﻃﺎﺧ ﺑﺴﭙﺎر ..........................................................٤٥١‬       ‫١٬٧٬٢٬۴‬

‫ﻘﺗﯿﺪ ﺖﺴﺸﻧ ..................................................................٤٥١‬       ‫٢٬٧٬٢٬۴‬
‫‪١٥٥.............................................. IP Binding‬‬                       ‫1.2.7.2.4‬

‫ﺎﻬﻬﻔﻟﻮﻣی ﮐﺎوﺷ ﺮ .......................................٥٥١‬                         ‫٢٬٢٬٧٬٢٬۴‬

‫زﻣﺎن ﺖﺴﺸﻧ .................................................................٥٥١‬         ‫٣٬٧٬٢٬۴‬

‫ﻈﻨﺗﯿﻤﺎت ﺤﺻﺎﻧﯿﺢ و ﺪﻣﯾﺮﯾﺖ ﺎﻄﺧ ..................................٦٥١‬                          ‫٨٬٢٬۴‬

‫ﺤﻣﯿﻂ اﺟﺮاﯽﯾ ................................................................٦٥١‬        ‫١٬٨٬٢٬۴‬

‫دﺳﺘﺮﺳ اﺟﺮا ................................................................٧٥١‬         ‫٢٬٨٬٢٬۴‬

‫ﻔﺨﻣﯿ ﺎری ................................................................٨٥١‬               ‫٩٬٢٬۴‬

‫رﻣﺰﻧﮕﺎری ﻦﺌﻤﻄﻣﺎﻧ .....................................................٨٥١‬                 ‫٠١٬٢٬۴‬

‫١٬٠١٬٢٬۴ رﻣﺰﻧﮕﺎری ارﺗﺒﺎﻃﺎت .........................................................٨٥١‬

‫زﯾﺖﺧﺎﺳﺮ ﻠﮐﯿﺪ ﻣﻮﻤﻋ .................................٠٦١‬                         ‫١٬١٬٠١٬٢٬۴‬

‫٢٬٠١٬٢٬۴ رﻣﺰﻧﮕﺎری دادﻫﻬﺎ ............................................................١٦١‬

‫رﻣﺰﻧﮕﺎری ﯾ ﻄﺮﻓﻪ )ﭼ ﯿﺪﻫ ﯿﺮی( ...................١٦١‬                             ‫١٬٢٬٠١٬٢٬۴‬

‫رﻣﺰﻧﮕﺎری دوﻃﺮﻓﻪ........................................٣٦١‬                     ‫٢٬٢٬٠١٬٢٬۴‬

‫اﻣﻨﯿﺖ ﻃﺮف ﺮﺘﺸﻣی ...................................................٤٦١‬                    ‫١١٬٢٬۴‬

‫ﻏﯿﺮه ........................................................................٤٦١‬          ‫٢١٬٢٬۴‬

‫ﺘﻧﯿﻪﺠ ﮔﯿﺮی: ...............................................................٦٦١‬                     ‫٥‬

‫واژﻫﻨﺎﻣﻪ .....................................................................٧٦١‬                  ‫٦‬

‫ﺖﺳﺮﻬﻓ ﻊﺑﺎﻨﻣ)ﻓﺎرﺳ (...................................................٢٧١‬                           ‫7‬

‫ﺖﺳﺮﻬﻓ ﻊﺑﺎﻨﻣ )اﻧﮕﻠﯿﺴ ( ...............................................٣٧١‬                           ‫٨‬
Secure Web Application Development Framework (Persian)
‫ﻣﻘﺪﻣﻪ:‬     ‫١‬

‫وب، ﺑﻪ ﻋﻨﻮان ﺑﺴﺘﺮ اراﺋﻪ ﺧﺪﻣﺎت در ﭼﻨﺪﯾﻦ ﺳﺎل اﺧﯿﺮ ﺑﻪ ﻣﻬﻤﺘﺮﯾﻦ رﺳﺎﻧﻪ ﺗﺒﺪﯾﻞ ﺷﺪه-‬

‫ﺗﺎ ﺳﺎزﻣﺎن ﻫﺎی ﺑﺰرگ دوﻟﺘ ﺧﺪﻣﺎت ﻣﺘﻨﻮع ﺧﻮد را ﺑﺮ‬                ‫اﺳﺖ. از ﺷﺮﮐﺘﻬﺎی ﺧﺼﻮﺻ ﮐﻮﭼ‬

                                                                  ‫روی ﺑﺴﺘﺮ وب اراﺋﻪ ﻣ دﻫﻨﺪ.‬

‫از ﺳﺎل ٠٩٩١ ﮐﻪ وب ﮔﺴﺘﺮده ﺟﻬﺎﻧ )‪ (World Wide Web‬ﺗﻮﺳﻂ ﺗﯿﻢ ﺑﺮﻧﺮز ﻟ اﺧﺘﺮاع‬

‫از ﺳﺎﮐﻨﯿﻦ ﮐﺮه زﻣﯿﻦ ﻧﺎﺷﻨﺎﺧﺘﻪ ﻧﯿﺴﺖ، ﮐﻤﺘﺮ از ۵٢ ﺳﺎل‬               ‫ﺷﺪ، ﺗﺎ اﻻن ﮐﻪ وب ﺑﺮای ﻫﯿﭽﯿ‬

                                                                                   ‫ﻣ ﮔﺬرد.‬




                   ‫ﺷ‪‬ﻞ ١ﻧﻤﺎﯾﻪ ﻣﻌﻤﻮﻟ‪ ‬ﮐﻪ ﺑﺮای ﻧﺸﺎن دادن وب ﺑﻪ ﮐﺎر ﻣ‪‬رود‬




 ‫وب ﺗﮑﻨﻮﻟﻮژی ﻧﺴﺒﺘﺎ ﺳﺎدهای اﺳﺖ وﻟ ﮐﺎرﺑﺮدﻫﺎی آن ﺑﺴﯿﺎر ﮔﺴﺘﺮش ﯾﺎﻓﺘﻪ و ﭘﯿﭽﯿﺪﮔ‬

‫ﻗﺎﺑﻞ ﺗﻮﺟﻬ ﯾﺎﻓﺘﻪاﻧﺪ، ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل ﺟﺎواﺳ ﺮﯾﭙﺖ در اﺑﺘﺪا ﮐﻤﺘﺮ از ٢% ﺳﯿﺴﺘﻢﻫﺎی وﺑﯽ را‬

‫اﮐﻨﻮن ﺑﯿﺶ از ٠٧% اﮐﺜﺮ ﺳﯿﺴﺘﻢﻫﺎی ﻣﺪرن وﺑﯽ ﺑﺮ اﺳﺎس اﯾﻦ‬                        ‫ﺗﺸ ﯿﻞ ﻣ داد وﻟ‬


                                                    ‫1‬
‫ﺗﮑﻨﻮﻟﻮژی ﺧﺎص ﻫﺴﺘﻨﺪ، ﺗﺎ ﺟﺎﯾﯽ ﮐﻪ ﻧﻘﻄﻪ ﻗﻮت ﮐﺎوﺷ ﺮ وب ‪ Google Chrome‬ﺑﻪ ﻋﻨﻮان‬

‫ﺤﻣﺒﻮبﺗﺮﯾﻦ ﮐﺎوﺷ ﺮ وب ٢١٠٢ )ﭘﺲ از ﺗﻨﻬﺎ ۶ ﺳﺎل ﻓﻌﺎﻟﯿﺖ( ﻗﺪرت ﭘﺮدازش ﺳﺮﯾﻊ‬

                                                             ‫ﺟﺎواﺳ ﺮﯾﭙﺖ آن اﺳﺖ.‬

‫اﯾﻦ ﺟﻬﺶ در اﺳﺘﻔﺎده از وب، ﻧﯿﺎز ﺑﻪ ﭼﻬﺎرﭼﻮبﻫﺎی ﺗﻮﺳﻌﻪ وب را ﻓﺮاﻫﻢ آورده اﺳﺖ، ﺗﺎ‬

‫ﺗﮑﻨﻮﻟﻮژیﻫﺎی ﭘﯿﭽﯿﺪه ﻣﻮرد ﻧﯿﺎز ﺑﺮای ﺗﻮﺳﻌﻪ دﻫﻨﺪه وب در دﺳﺘﺮس ﺑﺎﺷﻨﺪ و ﻓﺮآﯾﻨﺪ‬

                                             ‫ﻣﻬﻨﺪﺳ وب را ﺗﺴﻬﯿﻞ و ﻣﻤ ﻦ ﺳﺎزﻧﺪ.‬

‫ﭼﻬﺎرﭼﻮبﻫﺎی ﺗﻮﺳﻌﻪ وب، ﻋﻼوه ﺑﺮ ﻧﻘﺶ ﻣﻬﻤﺸﺎن در ﺗﺴﻬﯿﻞ ﺗﻮﺳﻌﻪ ﺳﯿﺴﺘﻢﻫﺎی‬

‫ﭘﯿﭽﯿﺪه، وﻇﯿﻔﻪ ﺗﺎﻣﯿﻦ اﻣﻨﯿﺖ اﺑﺘﺪاﯾﯽ )و ﮔﺎﻫﺎ ﭘﯿﺸﺮﻓﺘﻪ( ﺳﯿﺴﺘﻢﻫﺎی ﻣﺒﺘﻨ ﺑﺮ وب را اﯾﻔﺎ‬

                                                                         ‫ﻣ ﺪﻨﻨﮐ.‬

‫از ‪Software‬‬    ‫ﺣﻮزه ﻣﺘﻔﺎوﺗ‬     ‫از آﻧﺠﺎﯾﯽ ﮐﻪ ‪ Information Assurance‬ﺑﻪ ﮐﻠ‬

‫‪ Engineering‬ﻮﺴﺤﻣب ﻣ ﺷﻮد، ﻣﻌﻤﻮﻻ ﻧﻤ ﺗﻮان اﻧﺘﻈﺎر داﺷﺖ ﮐﻪ ﺗﯿﻢﻫﺎی ﺗﻮﺳﻌﻪ وب از‬

‫داﻧﺶ اﻣﻨﯿﺘ ﮐﺎﻓ ﺑﺮای ﺗﺎﻣﯿﻦ اﻣﻨﯿﺖ ﺳﯿﺴﺘﻢﻫﺎﯾﺸﺎن ﻧﯿﺰ ﺑﺮﺧﻮردار ﺑﺎﺷﻨﺪ. ﻋﻼوه ﺑﺮ آن،‬

‫ﺗﻮﺳﻌﻪ دﻫﻨﺪه وب اﺳﺖ، ﻟﺬا‬      ‫ﻣﺘﺨﺼﺺ اﻣﻨﯿﺖ وب ﺑﺴﯿﺎر ﺑﯿﺸﺘﺮ از ﯾ‬    ‫دﺳﺘﻤﺰد ﻣﺘﻮﺳﻂ ﯾ‬

                                                ‫اﯾﻦ ﮐﺎر ﺑﻪ ﺻﺮﻓﻪ اﻗﺘﺼﺎدی ﻧﯿﺰ ﻧﯿﺴﺖ.‬




                                            ‫2‬
‫ﻓﺮﻌﻣﻢ ﻫﺎﻔﻣ ﯽ‬           ‫٢‬

 ‫ﺷﻨﺎﺧﺖ ﭼﻬﺎرﭼﻮبﻫﺎی ﺗﻮﺳﻌﻪ وب اﻣﻦ ﻧﯿﺎزﻣﻨﺪ آﺷﻨﺎﯾﯽ ﺑﺎ ﻣﻔﺎﻫﯿﻢ و ﭘﺪﯾﺪهﻫﺎی ﺳﻄ‬

              ‫ﻦﯿﯾﺎﭘﺗﺮ ﺣﻮزه ﺗﺤﺖ ﭘﻮﺷﺶ ﻫﺴﺘﻨﺪ. ﻣﻔﺎﻫﯿﻢ ﻣﻮرد ﻧﯿﺎز ﺷﺎﻣﻞ ﻣﻮارد زﯾﺮ ﻫﺴﺘﻨﺪ:‬


                                                      ‫• اﻣﻨﯿﺖ ﻧﺮم اﻓﺰار‬

                                                       ‫• وب و ‪HTTP‬‬

                                                         ‫• ﻣﻌﻤﺎری وب‬

                                     ‫• ﺗﮑﻨﻮﻟﻮژیﻫﺎی ﻣﻮرد اﺳﺘﻔﺎده در وب‬

                                           ‫• اﻟ ﻮﻫﺎی ﺗﻮﺳﻌﻪ ﻧﺮماﻓﺰار وب‬

                                             ‫• ﭼﻬﺎرﭼﻮبﻫﺎی ﺗﻮﺳﻌﻪ وب‬

                                                    ‫• اﻣﻨﯿﺖ ﻋﻤﻮﻣ وب‬

‫ﻻزم ﺑﻪ ذﮐﺮ اﺳﺖ ﮐﻪ ﻣﻮارد ﻓﻮق در اﯾﻦ ﺳﻨﺪ از دﯾﺪﮔﺎه اﻣﻨﯿﺘ ﺑﺮرﺳ ﻣ ﮔﺮدﻧﺪ، ﮐﻪ‬

                      ‫ﻧﯿﺎزﻣﻨﺪ ﻧﮕﺎه ﻣﻮﺷ ﺎﻓﺎﻧﻪ و ﺟﺰﺋ ﺑﻪ ﻣﻮارد ﺧﺎص اﯾﻦ ﺗﮑﻨﻮﻟﻮژیﺖﺳﺎﻫ.‬


                                                  ‫اﻣﻨﯿﺖ ﻧﺮم اﻓﺰار‬         ‫١٬٢‬

‫اﻣﻨﯿﺖ ﺳﯿﺴﺘﻢﻫﺎی اﻃﻼﻋﺎﺗ را ﻣ ﺗﻮان ﺑﻪ ﺳﻪ دﺳﺘﻪ اﻣﻨﯿﺖ ﻧﺮم اﻓﺰار، اﻣﻨﯿﺖ ﺷﺒ ﻪ و‬

‫اﻣﻨﯿﺖ زﯾﺮﺳﺎﺧﺖ ﺗﻘﺴﯿﻢ ﻧﻤﻮد. اﻣﻨﯿﺖ ﺷﺒ ﻪ و اﻣﻨﯿﺖ زﯾﺮﺳﺎﺧﺖ ﺗﺎ ﺣﺪ ﻗﺎﺑﻞ ﺗﻮﺟﻬ ﻗﺎﺑﻞ‬

‫ﺶﯿﭘﺑﯿﻨ و ﻗﺎﻧﻮﻧﻤﻨﺪ اﺳﺖ، زﯾﺮا ﺧﻮد ﺷﺒ ﻪ و زﯾﺮﺳﺎﺧﺖ ﻗﺎﻧﻮﻧﻤﻨﺪ ﻫﺴﺘﻨﺪ و ﺗﻨﻮع ﺑﺴﯿﺎر‬

                                                      ‫زﯾﺎدی ﺑﺮای آن وﺟﻮد ﻧﺪارد.‬




                                       ‫3‬
‫ﺷ‪‬ﻞ ٢ اﻣﻨﯿﺖ ﻧﺮماﻓﺰار ﺑﻪ ﻣﻬﻤﺘﺮﯾﻦ ﺷﻐﻞ اﻧﻔﻮرﻣﺎﺗﯿ‪ ‬ﺗﺒﺪﯾﻞ ﺷﺪه اﺳﺖ‬




‫اﻣﻨﯿﺖ ﻧﺮماﻓﺰار، ﺑﻪ ﻣﺜﺎﺑﻪ ﺧﻮد ﻧﺮماﻓﺰار، دارای ﺗﻨﻮع ﻗﺎﺑﻞ ﺗﻮﺟﻬﯿﺴﺖ ﻟﺬا ﺗﺴﻠﻂ ﺑﺮ اﯾﻦ‬

‫ﺣﯿﻄﻪ ﻣﻌﻤﻮﻻ ﺑﺴﯿﺎر دﺷﻮارﺗﺮ از دو ﺣﯿﻄﻪ دﯾ ﺮ اﺳﺖ. در ﺣﺎل ﺣﺎﺿﺮ ﻣﺘﺨﺼﺼﯿﻦ اﻣﻨﯿﺖ ﻧﺮم-‬

‫اﻓﺰار ﺑﺎﻻﺗﺮﯾﻦ دﺳﺘﻤﺰد ﻓﻨﺎوری اﻃﻼﻋﺎت دﻧﯿﺎ را ﺑﻪ ﺧﻮد اﺧﺘﺼﺎص دادهاﻧﺪ. ) ‪15 Top‬‬

‫‪Paying IT Certifications for 2012 Randy Muller, Global Knowledge‬‬

                                                                               ‫‪(Instructor‬‬

‫ﻣﻮﺳﺴﺎت ﺑﺴﯿﺎری در ﺳﻄ ﺑﯿﻦاﻟﻤﻠﻠ در اﻣﻨﯿﺖ ﻧﺮماﻓﺰار ﻓﻌﺎﻟﯿﺖ ﻣ ﮐﻨﻨﺪ. داﻧﺸ ﺎهﻫﺎی‬

‫ﻣﺘﻌﺪدی ﻧﯿﺰ ﮐﻢ ﮐﻢ ﺑﻪ ﻓﻌﺎﻟﯿﺖ در اﯾﻦ رﺷﺘﻪ روی آوردهاﻧﺪ. در ﻣﯿﺎن اﯾﻦ ﻣﻮﺳﺴﺎت 2)‪ (ISC‬و‬

                                                 ‫‪ OWASP‬از اﻋﺘﺒﺎر ﺑﻬﺘﺮی ﺑﺮﺧﻮردار ﻫﺴﺘﻨﺪ.‬




                                                 ‫4‬
‫وب و ‪:HTTP‬‬          ‫٢٬٢‬

‫وب، ﺑﻪ ﻋﻨﻮان ﺑﺴﺘﺮ اﯾﺪهآل اراﺋﻪ ﻣﺤﺘﻮا اﻣﺮوزه ﺑﻪ اﺻﻠ ﺗﺮﯾﻦ رﺳﺎﻧﻪ ﻧﺮماﻓﺰارﻫﺎ ﺗﺒﺪﯾﻞ ﺷﺪه‬

‫اﺳﺖ. در ﺳﺎل ١٩٩١ ﮐﻪ وب ﺗﻮﺳﻂ ﺗﯿﻢ ﺑﺮﻧﺮز ﻟ اﺑﺪاع ﮔﺮدﯾﺪ، ﺗﻨﻬﺎ ﺟﻬﺖ اراﺋﻪ ﯾ ﻄﺮﻓﻪ‬

                                          ‫ﺻﻔﺤﺎت اﯾﺴﺘﺎی ‪ HTML‬ﺑﻪ ﮐﺎرﺑﺮان اﺳﺘﻔﺎده ﻣﯿﺸﺪ.‬




           ‫ﺷ‪‬ﻞ ٣ وب ﻣﻌﻤﻮﻻ ﺗﺤﺖ ﭘﺮوﺗﮑﻞ ‪ HTTP‬ﮐﺎر ﻣ‪‬ﮐﻨﺪ، وﻟ‪ ‬ﮐﺎرﺑﺮان ﺗﻮﺟﻬ‪ ‬ﺑﻪ آن ﻧﺪارﻧﺪ‬




  ‫‪ HTTP‬ﭘﺮوﺗﮑﻞ اﻧﺘﻘﺎل ﺻﻔﺤﺎت و ﻣﺤﺘﻮای وب اﺳﺖ. اﯾﻦ ﭘﺮوﺗﮑﻞ ﺑﺴﯿﺎر ﺳﺎده و ﺳﺒ‬

‫ﻃﺮاﺣ ﺷﺪه اﺳﺖ و اﻓﺰوﻧﻪ آن )ﻧﺴﺨﻪ ١٬١( اﻣ ﺎن اراﺋﻪ ﻓﺎﯾﻠﻬﺎی ﺑﺰرگ را ﻧﯿﺰ دارا ﻣ ﺑﺎﺷﺪ.‬

‫دﻟﯿﻞ اﺻﻠ ﻣﺤﺒﻮﺑﯿﺖ وب، رﻓ ﻣﺸ ﻞ ‪ Platform Compatibility‬ﺑﻪ ﻣﻌﻨﺎی واﺑﺴﺘﮕ ﺑﻪ‬

  ‫ﺳ ﻮی اﺟﺮاﺳﺖ، ﯾﻌﻨ ﮐﺎرﺑﺮان وب ﻣ ﺗﻮاﻧﻨﺪ از روی ﻣﻮﺑﺎﯾﻞ، ﺗﺒﻠﺖ، ﻟﭙﺘﺎپ و ﺣﺘ ﺳﺮور ﯾ‬

                                                       ‫ﻧﻮع ﺳﺮوﯾﺲ اﺳﺘﺎﻧﺪارد را درﯾﺎﻓﺖ ﻧﻤﺎﯾﻨﺪ.‬

‫ﺑﺎ ﮔﺬر زﻣﺎن، اﻣ ﺎﻧﺎت ﭘﻮﯾﺎﺳﺎزی ﺻﻔﺤﺎت ﺑﻪ ‪ HTML‬اﻓﺰوده ﺷﺪ ﮐﻪ ﺑﺎ ﻧﺎم ‪Dynamic‬‬

‫ﻧﻮع‬   ‫‪ HTML‬ﯾﺎ ‪ DHTML‬ﺷﻨﺎﺧﺘﻪ ﻣ ﺷﺪ. اﯾﻦ ﭘﻮﯾﺎﺳﺎزی ﻗﺎﻟﺒﺎ ﺗﻮﺳﻂ ‪ Javascript‬ﮐﻪ ﯾ‬

‫ﺧﺼﻮﺻ ﺳﺎزی ﺷﺪه ‪ ECMAScript‬ﺑﻮد و ﺑﺮ روی ﻫﺮ دو ﮐﺎوﺷ ﺮ ﻣﻄﺮح آن زﻣﺎن –‬

‫‪ Netscape Navigator‬و ‪ – Internet Explorer‬ﭘﺸﺘﯿﺒﺎﻧ ﻣ ﺷﺪ. ‪ VBScript‬ﻧﯿﺰ ﺑﻪ ﻃﻮر‬

           ‫ﻣﺤﺪودﺗﺮ در ‪ Internet Explorer‬ﭘﺸﺘﯿﺒﺎﻧ ﻣ ﺷﺪ ﮐﻪ ﺑﺎ ﮔﺬر زﻣﺎن ﺣﺬف ﮔﺮدﯾﺪ.‬


                                                  ‫5‬
‫ﺻﻔﺤﺎت ﭘﻮﯾﺎ، ﺗﻨﻬﺎ در ﺳﻤﺖ ﻣﺸﺘﺮی ﭘﻮﯾﺎ ﺑﻮدﻧﺪ، ﺑﺪﯾﻦ ﻣﻌﻨ ﮐﻪ اﻣ ﺎن اﯾﺠﺎد اﻧﯿﻤﯿﺸﻦ و‬

 ‫اﻓﮑﺖﻫﺎی ﺳﺎده ﺑﺮ روی ﮐﺎوﺷ ﺮ ﮐﺎرﺑﺮ ﻣﺮور ﮐﻨﻨﺪه وب را ﻓﺮاﻫﻢ ﻣ آوردﻧﺪ و ﺑﺮای ﺑﺮوزرﺳﺎﻧ‬

‫ﻣﺤﺘﻮای ﺻﻔﺤﺎت، ﻣﺪﯾﺮ ﺳﺎﯾﺖ ﺑﺎﯾﺪ ﺑﻪ ﺻﻮرت دﺳﺘ ﻣﺤﺘﻮا را ﺗﻐﯿﯿﺮ ﻣ داد. اﯾﻨﮕﻮﻧﻪ وﺖﯾﺎﺴﺑ-‬

‫ﻫﺎ ﻣﻌﻤﻮﻻ ﺑﺮای ﻣﻌﺮﻓ ﺷﺮﮐﺖﻫﺎ و ﺧﺪﻣﺎﺗﺸﺎن، ﻣﻄﺎﻟﺐ ﻋﻠﻤ و آﻣﻮزﺷ ﻣﻔﯿﺪ ﺑﻮدﻧﺪ و اﻣ ﺎن‬

                                                 ‫ﺗﻌﺎﻣﻞ ﮐﺎرﺑﺮ ﺑﺎ ﺳﯿﺴﺘﻢ وﺟﻮد ﻧﺪاﺷﺖ.‬

‫ﭘﺲ از ﭼﻨﺪ ﺳﺎل، ﺳﺮورﻫﺎی وب اﻣ ﺎن ﭘﻮﯾﺎﺷﺪن ﺻﻔﺤﺎت را دارا ﺷﺪﻧﺪ، ﺑﺪﯾﻦ ﻣﻌﻨ ﮐﻪ‬

‫ﺑﺮﻧﺎﻣﻪ را ﺑﺎ‬   ‫ﻓﺎﯾﻞ ﺛﺎﺑﺖ و ﻣﺸﺨﺺ ‪ HTML‬ﺑﻪ ﮐﺎرﺑﺮ، اﺑﺘﺪا ﯾ‬      ‫ﺳﺮور وب ﺑﻪ ﺟﺎی اراﺋﻪ ﯾ‬

‫ﭘﺎراﻣﺘﺮﻫﺎی ورودی ﮐﺎرﺑﺮ اﺟﺮا ﻣ ﻧﻤﻮد و ﺳﭙﺲ ﺧﺮوﺟ آﻧﺮا در ﻗﺎﻟﺐ ‪ HTML‬ﺑﻪ ﮐﺎرﺑﺮ ﻣﻨﺘﻘﻞ‬

     ‫ﻣ ﮐﺮد. اﯾﻦ روش ﺑﺎﻋﺚ اﯾﺠﺎد وﺑﺴﺎﯾﺖﻫﺎی ﭘﻮﯾﺎ ﺷﺪ ﮐﻪ اﻣ ﺎن ﺗﻌﺎﻣﻞ ﺑﺎ ﮐﺎرﺑﺮ را داﺷﺘﻨﺪ.‬

‫از آﻧﺠﺎﯾﯽ ﮐﻪ ﺟﺰﺋﯿﺎت ﮐﺎر ﺑﺎ ﭘﺮوﺗﮑﻞ ‪ HTTP‬ﺑﺮای اﯾﻦ ﻣﻨﻈﻮر ﻻزم ﺑﻮد، و اﮐﺜﺮ ﺑﺮﻧﺎﻣﻪ-‬

‫ﻮﻧﯾﺴﺎن اﻃﻼع ﮐﺎﻓ از آن ﻧﺪاﺷﺘﻨﺪ، زﺑﺎنﻫﺎی ﻣﺨﺼﻮص اﯾﻨﮑﺎر اﯾﺠﺎد ﺷﺪﻧﺪ. ﻣﻌﺮوﻓﺘﺮﯾﻦ اﯾﻦ‬

‫زﺑﺎنﻫﺎ را ﻣ ﺗﻮان ‪ PHP‬و ‪ ASP‬داﻧﺴﺖ. ﺑﻪ ﻃﻮر ﮐﻠ ﺑﻪ ﺑﺮﻧﺎﻣﻪﻫﺎﯾﯽ ﮐﻪ در ﻃﺮف ﺳﺮور اﺟﺮا‬

                     ‫ﻣ ﺷﻮﻧﺪ و ﺧﺮوﺟ آﻧﻬﺎ ﺑﺮای ﻣﺸﺘﺮی ارﺳﺎل ﻣ ﮔﺮدد، ‪ CGI‬ﻣ ﺪﻨﯾﻮﮔ.‬

‫،ﺎﻫﻫﺎی اﯾﻨﺘﺮﻧﺘ ﺑﻪ ﻧﺮماﻓﺰارﻫﺎی اﯾﻨﺘﺮﻧﺘ ﻣﺒﺪل‬      ‫ﺑﺎ ﺗﻌﺎﻣﻠ ﺷﺪن وﺑﺴﺎﯾﺖﺖﯾﺎ ﻼﻤ‬

‫ﺷﺪﻧﺪ. درﯾﺎﻓﺖ ورودی از ﮐﺎرﺑﺮ، ﭘﺮدازش و ذﺧﯿﺮه آن و اراﺋﻪ ﺧﺮوﺟ ﻣﻮرد ﻧﻈﺮ ﺑﻪ ﮐﺎرﺑﺮ ﻋﻤﻼ‬

‫ﻧﺮماﻓﺰار ﺳﺮور/ﻣﺸﺘﺮی را اﯾﺠﺎد ﻣ ﮐﺮد. ﺗﻨﻬﺎ ﻣﺸ ﻠ ﮐﻪ در اﯾﻦ ﻣﺮﺣﻠﻪ وﺟﻮد داﺷﺖ،‬            ‫ﯾ‬

  ‫درﺧﻮاﺳﺖ ﮐﺎﻣﻞ ﺑﺮای درﯾﺎﻓﺖ ﻫﺮﮔﻮﻧﻪ ﭘﺎﺳﺨ از ﺳﺮور ﺑﻮد و ارﺳﺎل ﯾ‬          ‫ﻧﯿﺎز ﺑﻪ اﯾﺠﺎد ﯾ‬

‫درﺧﻮاﺳﺖ ﮐﺎﻣﻞ، ﺑﻪ ﻣﻌﻨ ﭘﺎک ﺷﺪن ﮐﺎﻣﻞ ﺻﻔﺤﻪ در ﺳﻤﺖ ﻣﺸﺘﺮی، و ﺑﺎر ﺷﺪن ﻣﺠﺪد آن‬

                                                                                ‫ﺑﻮد.‬

‫ﻧﺮماﻓﺰار ﮔﭗ )‪ (Chat‬ﺑﺮ روی ﺳ ﻮی وب، ﻃﺮﻓﯿﻦ ﺑﺎﯾﺪ ﭘﺲ‬       ‫ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل ﺑﺮای اﯾﺠﺎد ﯾ‬

‫از ﺗﺎﯾﭗ ﻫﺮ ﭘﯿﺎم، ﮐﻠﯿﺪی را ﻓﺸﺎر ﻣ دادﻧﺪ ﮐﻪ ﻣﻮﺟﺐ ﺑﺮوزرﺳﺎﻧ )‪ (Refresh‬ﺷﺪن ﻪﺤ ﺻ ﻞﮐ‬
                                          ‫6‬
‫ﻣ ﺷﺪ ﺗﺎ ﺑﺮای ﻣﻘﺼﺪ ﻓﺮﺳﺘﺎده ﺷﻮد. ﻫﻤﭽﻨﯿﻦ ﺻﻔﺤﻪ ﺑﺎﯾﺪ ﺑﻪ ﺻﻮرت دورهای ﺑﺮوزرﺳﺎﻧ ﻣ -‬

‫ﺷﺪ ﺗﺎ ﭘﯿﺎمﻫﺎی ارﺳﺎﻟ ﻃﺮف ﻣﻘﺎﺑﻞ ﻧﯿﺰ درﯾﺎﻓﺖ ﮔﺮدد. اﯾﻦ ﻣﻌﻀﻞ ﺑﻪ ﻣﺪت ﻗﺎﺑﻞ ﻣﻼﺣﻈﻪای‬

                                        ‫ﻧﺮخ رﺷﺪ ﻧﺮماﻓﺰار وﺑﯽ را ﺑﺴﯿﺎر ﭘﺎﯾﯿﻦ آورده ﺑﻮد.‬

‫در اداﻣﻪ، ﺗﻮﺳﻌﻪدﻫﻨﺪﮔﺎن ﺧﻼق ﺑﺎ ﺗﮑﯿﻪ ﺑﺮ ﺗﮑﻨﻮﻟﻮژیﻫﺎی ﺧﺎﺻ ﮐﻪ ﻣﺮورﮔﺮﻫﺎ ﺧﺎرج از‬

‫اﺳﺘﺎﻧﺪارد ﺑﺮای ﭘﺸﺘﯿﺒﺎﻧ از ﺑﺮﺧ ﻧﯿﺎزﻫﺎی ﺧﺎص ﻓﺮاﻫﻢ آورده ﺑﻮدﻧﺪ )ﺑﻪ ﻣﺎﻧﻨﺪ ‪ (iFrame‬و‬

‫ﻫﻤﭽﻨﯿﻦ ﺑﻬﺮه ﮔﺮﻓﺘﻦ از ‪ ،Javascript‬اﻣ ﺎن اﯾﺠﺎد ﺻﻔﺤﺎت ﺗﻌﺎﻣﻠ را ﺗﺎ ﺣﺪودی ﻓﺮاﻫﻢ‬

‫آوردﻧﺪ. در اﯾﻦ روش، ﺗﮏ ﮐﺪ ﺟﺎواﺳ ﺮﯾﭙﺖ، آدرس ﺻﻔﺤﻪ داﺧﻞ ‪ iFrame‬ﻧﺎﻣﺮﺋ را ﺗﻐﯿﯿﺮ‬

‫ﺑﻮد و ﺗﻮﺳﻂ‬    ‫ﺻﻔﺤﻪ اﺻﻠ‬    ‫ﻣ داد. ﺻﻔﺤﻪ ﺟﺪﯾﺪ ﺣﺎوی اﻃﻼﻋﺎت ﻻزم ﺑﺮای ﺑﺮوزرﺳﺎﻧ‬

‫ﺟﺎواﺳ ﺮﯾﭙﺖ ﻣﻮﺟﻮد در ﺻﻔﺤﻪ داﺧﻠ ﻧﺎﻣﺮﺋ ، اﯾﻦ اﻃﻼﻋﺎت در ﺻﻔﺤﻪ ﺑﯿﺮوﻧ اﻋﻤﺎل ﻣ -‬

                                                                               ‫ﺷﺪﻧﺪ.‬




                           ‫ﺷ‪‬ﻞ ٤ ﻧﻤﺎی ﺳﺎﺧﺘﺎری ‪iFrame‬‬


‫راه ﻏﯿﺮ ﻣﻌﻤﻮل ﺑﺮای رﺳﯿﺪن ﺑﻪ ﻫﺪف ﺑﻮد. ﻣﺪﺗ ﮐﻪ از اﯾﻦ‬            ‫اﯾﻦ روش در واﻗ ﯾ‬

‫راﻫ ﺎر ﺳﭙﺮی ﺷﺪ، ‪ W3C‬ﺑﺎﻻﺧﺮه اﺳﺘﺎﻧﺪارد ‪ XMLHTTPRequest‬را در ﺳﺎل ۶٠٠٢ ﺑﻪ‬

                                          ‫7‬
‫اراﺋﻪ ﮐﺮد ﮐﻪ ﺑﻼﻓﺎﺻﻠﻪ ﺗﻮﺳﻂ ﮐﺎوﺷ ﺮﻫﺎی ﻣﻄﺮح ﻣﺎﻧﻨﺪ‬              ‫ﭘﯿﺸﻨﻮﯾﺲ ﻋﻤﻠﯿﺎﺗ‬   ‫ﻋﻨﻮان ﯾ‬

‫‪ Firefox‬و ‪ IE‬ﭘﯿﺎدهﺳﺎزی ﮔﺮدﯾﺪ. اﯾﻦ اﺳﺘﺎﻧﺪارد اﻣ ﺎن ارﺳﺎل درﺧﻮاﺳﺖﻫﺎی ‪ HTTP‬از‬

‫ﻣﺘﻐﯿﺮ‬   ‫آن در ﯾ‬    ‫ﻃﺮﯾﻖ ﺟﺎواﺳ ﺮﯾﭙﺖ – ﺑﺪون ﺑﺮوزﺷﺪن ﮐﻞ ﺻﻔﺤﻪ – و درﯾﺎﻓﺖ ﭘﺎﺳ‬

‫ﺟﺎواﺳ ﺮﯾﭙﺖ را ﺑﻪ ﺻﻮرت آﺳﻨﮑﺮون ﭘﺸﺘﯿﺒﺎﻧ ﻣ ﻧﻤﺎﯾﺪ و ﻣﻬﻤﺘﺮﯾﻦ ﺟﻬﺶ در ﺗﮑﻨﻮﻟﻮژی وب‬

                                                                        ‫ﺗﻠﻘ ﻣ ﮔﺮدد.‬

‫ﻣﺨﻔﻒ ﻋﺒﺎرت‬        ‫ﭘﺲ از آن واژهﻫﺎی وب ٢ و آژاﮐﺲ )‪ (AJAX‬ﮐﻪ در واﻗ‬

‫‪ Asynchronous Javascript And XML‬ﯾﺎ ﺟﺎواﺳ ﺮﯾﭙﺖ آﺳﻨﮑﺮون ﺑﻪ ﻫﻤﺮاه ‪ XML‬اﺳﺖ‬

        ‫)‪ (XMLHTTPRequest‬ﻣﻌﻤﻮل ﺷﺪﻧﺪ و ﺗﮑﻨﻮﻟﻮژی وب ﺟﺪﯾﺪ ﭘﺎ ﺑﻪ ﻋﺮﺻﻪ ﮔﺬاﺷﺖ.‬




                        ‫ﺷ‪‬ﻞ ٥ﮐﻠﯿﺪواژهﻫﺎی ﻣﻬﻢ ﻣﻄﺮح در وب ٢‬




‫ﺟﺎواﺳ ﺮﯾﭙﺘ ﮐﻪ در اﺑﺘﺪا ﺑﺮای ﺑﻪ ﺣﺮﮐﺖ دراوردن و ﺟﻠﻮهﻫﺎی وﯾﮋه ﺻﻔﺤﺎت اﯾﺴﺘﺎی وب‬

‫ﭘﺎ ﺑﻪ ﻋﺮﺻﻪ ﮔﺬاﺷﺘﻪ ﺑﻮد، ﭘﺲ از ﻇﻬﻮر اﯾﻦ ﺗﮑﻨﻮﻟﻮژی ﺑﻪ ﻗﺴﻤﺖ ﻋﻤﺪه ﺗﻤﺎم ﻧﺮماﻓﺰارﻫﺎی وﺑﯽ‬

‫ﺗﺒﺪﯾﻞ ﮔﺸﺖ، زﯾﺮا درﺧﻮاﺳﺖﻫﺎی آﺳ ﻨﺮون ﺑﺎﯾﺪ ﺑﺎ ﺟﺎواﺳ ﺮﯾﭙﺖ ارﺳﺎل ﻣﯿﺸﺪ، درﯾﺎﻓﺖ ﻣ -‬


                                           ‫8‬
‫ﭘﻮﺳﺘﻪ ﺑﺮای‬      ‫ﺷﺪ و دادهﻫﺎی آن در ﺻﻔﺤﻪ اﻋﻤﺎل ﻣ ﺷﺪ. در واﻗ ﺻﻔﺤﺎت ﺗﻨﻬﺎ ﺑﻪ ﯾ‬

                                       ‫دﺳﺘﮑﺎری ﺗﻮﺳﻂ ﺟﺎواﺳ ﺮﯾﭙﺖ ﺗﺒﺪﯾﻞ ﺷﺪه ﺑﻮدﻧﺪ.‬

‫درﺻﺪ ﺣﺠﻤ ﺟﺎواﺳ ﺮﯾﭙﺖ ﺑﻪ ﻃﻮر ﻣﺘﻮﺳﻂ در ﺳﺎﯾﺖﻫﺎی از ٢% ﻪﺑ ۵٧% رﺳﯿﺪه ﺑﻮد و‬

‫درﺻﺪ ﭘﺮدازﺷ ﮐﻪ ﻣﺤﺘﻮای ﻣﺨﺘﻠﻒ ﺳﺎﯾﺖ ﺑﺮ روی ﻣﺸﺘﺮی ﻻزم داﺷﺖ، از ۵% ﻪﺑ ٩٩%‬

                                                                      ‫اﻓﺰاﯾﺶ ﯾﺎﻓﺖ.‬

‫ﮐﺎوﺷ ﺮﻫﺎی ﻗﺪﯾﻤ ﻣﺎﻧﻨﺪ ‪ Firefox‬و ‪ IE‬ﺗﻤﺮﮐﺰ اﺻﻠ ﺧﻮد را ﺑﺮ روی ﻣﻮﺗﻮر ﭘﺮدازش‬

‫‪ HTML‬و ﺗﺼﺎوﯾﺮ ﻗﺮار داده ﺑﻮدﻧﺪ، و ﺟﺎواﺳ ﺮﯾﭙﺖ را ﺑﺎ ﺳﺮﻋﺖ ﮐﻤ ﺑﺎر ﻣ ﮐﺮدﻧﺪ. ﮔﻮﮔﻞ‬

‫اﻗﺪام ﺑﻪ ﺗﻮﻟﯿﺪ ‪ Google Chrome‬ﮐﺮد ﮐﻪ دو ﺳﺎل زﻣﺎن ﺻﺮف ﺑﻬﯿﻨﻪﺳﺎزی ﻣﻮﺗﻮر اﺟﺮای‬

‫ﮐﺎرﺑﺮان‬     ‫ﺟﺎواﺳ ﺮﯾﭙﺖ آن ﺷﺪه ﺑﻮد و ﻫﻤﯿﻦ ﻣﻬﻢ ﺑﺎﻋﺚ ﺷﺪ ﺗﺎ اﻣﺮوزه ﮐﺎوﺷ ﺮ ﻣﺬﮐﻮر رﺗﺒﻪ ﯾ‬

                                                           ‫را ﺑﻪ ﺧﻮد اﺧﺘﺼﺎص دﻫﺪ.‬

‫در ﺳﺎﻟﻬﺎی اﺧﯿﺮ، ﻋﺪم وﺟﻮد اﻣ ﺎﻧﺎت ﺧﺎص ﻣﺎﻧﻨﺪ ﭘﺮدازش ﺳﻪ ﺑﻌﺪی و اﻧﯿﻤﯿﺸﻦ در وب،‬

‫ﻣﻨﺠﺮ ﺑﻪ اﺳﺘﺎﻧﺪارد ﺷﺪن 5 ‪ HTML‬ﺷﺪ. اﯾﻦ ﻧﺴﺨﻪ از ‪ HTML‬ﻫﻨﻮز ﺑﻪ اﺳﺘﺎﻧﺪارد و ﭘﯿﺎده-‬

‫ﺳﺎزی ﻗﻄﻌ ﻧﺮﺳﯿﺪه اﺳﺖ و ﻣﻌﻀﻼت اﻣﻨﯿﺘ ﻓﺮاواﻧ در آن ﮐﺸﻒ ﻣﯿﺸﻮﻧﺪ. ﻫﻤﭽﻨﯿﻦ ﻫﺮ‬

  ‫ﻧﻮع آﻧﺮا ﭘﯿﺎدهﺳﺎزی ﻧﻤﻮده اﺳﺖ و ﺗﻨﻮع اﻣ ﺎﻧﺎت آن ﻧﯿﺰ ﻗﺎﺑﻞ ﺗﻮﺟﻪ اﺳﺖ.‬   ‫ﮐﺎوﺷ ﺮی ﺑﻪ ﯾ‬




                                                         ‫ﻣﻌﻤﺎری وب:‬        ‫٣٬٢‬

‫ﭘﺮوﻓﺴﻮر دﯾﻮﯾﺪ ﭘﺘﺮﺳﻮن، ﻧﻮﯾﺴﻨﺪه ﮐﺘﺎب ﻣﻌﺮوف ﻣﻌﻤﺎری ﮐﺎﻣﭙﯿﻮﺗﺮ و اﺳﺘﺎد داﻧﺸ ﺎه‬

‫ﺑﺮﮐﻠ ﮐﻪ از داﻧﺸﻤﻨﺪان ﺻﺎﺣﺐ ﻧﺎم و ﺗﺎﺛﯿﺮﮔﺬار ﺳﺨﺖ اﻓﺰار اﺳﺖ، ﺑﻪ ﺗﺎزﮔ ﭘﺎ در ﻋﺮﺻﻪ ﻧﺮم-‬

‫دﮐﺮﺘ‬      ‫اﻓﺰار و ‪ SaaS‬ﮔﺬارده اﺳﺖ. وی در ﮐﻼس ﻣﺮﺑﻮط ﺑﻪ اﯾﻦ ﻣﻮﺿﻮع ﮐﻪ ﺑﻪ ﻫﻤﺮاﻫ‬

           ‫‪ Armando Fox‬در داﻧﺸ ﺎه ﺑﺮﮐﻠ اراﺋﻪ ﻣ ﮐﺮد، ﻋﺒﺎرت ﻗﺎﺑﻞ ﺗﻮﺟﻬ را ذﮐﺮ ﻣ ﺪﻨﮐ:‬

                                           ‫9‬
‫»ﻣﺎ در ﺻﻨﻌﺖ ﺳﺨﺖاﻓﺰار، ﻣﺠﺒﻮرﯾﻢ ﺑﻪ ﺷﺪت ﻣﺤﺼﻮل را ﺗﺴﺖ و ﺑﺮرﺳ ﮐﻨﯿﻢ. ﻫﺰﯾﻨﻪ‬

‫ﺟﻤ آوری و اﺻﻼح ﻣﺤﺼﻮل ﻣﻌﯿﻮب ﺑﺴﯿﺎر ﮔﺰاف اﺳﺖ. اﯾﻦ ﻃﺮز ﻓﮑﺮ در اﺑﺘﺪا ﺑﻪ ﺻﻨﻌﺖ ﻧﺮم-‬

‫اﻓﺰار ﻧﯿﺰ ﻣﻨﺘﻘﻞ ﺷﺪه ﺑﻮد وﻟ در واﻗ ﻧﺮماﻓﺰار ﻣﺎﻫﯿﺘﺎ ﮔﻮﻧﻪ دﯾ ﺮی اﺳﺖ. ﻧﺮماﻓﺰار را ﻣ ﺗﻮان‬

‫ﻓﺎز‬   ‫ﻫﺮروز اﺻﻼح و ﺑﺮوز رﺳﺎﻧ ﮐﺮد و اﯾﻦ ﺑﻪ ﻣﻌﻨ ﻋﺪم ﻧﯿﺎز ﺑﻪ ﺗﮑﻤﯿﻞ ﻧﻬﺎﯾﯽ آن در ﯾ‬

                                                                             ‫اﺳﺖ.«‬

‫ﻢﺘﺴﯿﺳﻫﺎی ﻣﺒﺘﻨ ﺑﺮ وب، ﻫﺮ روز و ﺣﺘ ﻫﺮ ﺳﺎﻋﺖ ارﺗﻘﺎ ﻣ ﯾﺎﺑﻨﺪ. ﻣﻨﻈﻮر از اﯾﻦ ارﺗﻘﺎ،‬

‫ﺗﻐﯿﯿﺮ ﻣﺤﺘﻮی ﻧﯿﺴﺖ، ﺑﻠ ﻪ ﺗﻐﯿﯿﺮ ﻧﺮماﻓﺰار و ﮐﺪ اﺳﺖ. ﻫﻤﭽﻨﯿﻦ ﺳﯿﺴﺘﻢﻫﺎی ﻣﺒﺘﻨ ﺑﺮ وب‬

‫ﻣﺎه ﺗﻌﺪاد ﻣﺨﺎﻃﺒﺎن‬    ‫ﺑﺴﯿﺎر اﺑﻌﺎدﭘﺬﯾﺮ )‪ (Scalable‬ﻫﺴﺘﻨﺪ، ﯾﻌﻨ ﻣﻤ ﻦ اﺳﺖ در ﻋﺮض ﯾ‬

                                                                   ‫آﻧﻬﺎ ٠١ ﺑﺮاﺑﺮ ﺷﻮد.‬

‫ﺑﺮای ﺗﺎﻣﯿﻦ اﯾﻦ ﻧﯿﺎز - ﮐﻪ در ﻧﺮماﻓﺰارﻫﺎی ﺑﺪوی ﺑﺪﯾﻦ ﺷ ﻞ وﺟﻮد ﻧﺪاﺷﺖ – ﻣﻠﺰم ﺑﻪ‬

‫اﺳﺘﻔﺎده از ﻣﻌﻤﺎری و اﻟ ﻮﻫﺎی ﺗﻮﺳﻌﻪ ﻣﺨﺼﻮﺻ ﻫﺴﺘﯿﻢ. ﻫﻤﭽﻨﯿﻦ ﭼﻬﺎرﭼﻮبﻫﺎ و ﻧﺮم-‬

‫اﻓﺰارﻫﺎی ﺷﺨﺺ ﺛﺎﻟﺚ )‪ (Third Party‬ﻧﻘﺶ ﻣﻬﻤ در ﺻﻮرت ﺗﻮﺳﻌﻪ ﺳﯿﺴﺘﻢﻫﺎی وﺑﯽ‬

                       ‫اﯾﻔﺎ ﻣ ﮐﻨﻨﺪ، ﮐﻪ اﻟﺒﺘﻪ ﺑﺎﻋﺚ ﻣﻌﻀﺎﻻت اﻣﻨﯿﺘ ﻓﺮاواﻧ ﻧﯿﺰ ﻣ ﺪﻧﻮﺷ.‬

‫در ﺣﺎل ﺣﺎﺿﺮ ﻣﻌﻤﺎری ﺳﻪ ﻻﯾﻪ واﺳﻂ ﮐﺎرﺑﺮی – ﻖﻄﻨﻣ – داده و ﻣﺸﺘﻘﺎت آن ﺑﯿﺸﺘﺮﯾﻦ‬

‫اﺳﺘﻔﺎده را در ﻢﺘﺴﯿﺳﻫﺎی ﻣﺒﺘﻨ ﺑﺮ وب دارﻧﺪ. اﻟ ﻮی ‪ MVC‬و ‪Component Based‬‬

              ‫‪ MVC‬ﻫﻢ ﺗﻘﺮﯾﺒﺎ ﺑﻪ اﻟ ﻮی ﺛﺎﺑﺖ ﺳﯿﺴﺘﻢﻫﺎی وﺑﯽ ﭘﺮﺗﻐﯿﯿﺮ ﺗﺒﺪﯾﻞ ﺷﺪه اﺳﺖ.‬


                              ‫ﺗﮑﻨﻮﻟﻮژیﻫﺎی ﻣﻮرد اﺳﺘﻔﺎده در وب:‬                ‫٤٬٢‬

‫ﺑﺴﺘﺮ ﺣﺎوی ﺗﮑﻨﻮﻟﻮژیﻫﺎی و ﭘﺮوﺗﮑﻞﻫﺎی ﻣﺘﻌﺪدی اﺳﺖ ﮐﻪ آﺷﻨﺎﯾﯽ ﺑﺎ‬         ‫وب ﺑﻪ ﻋﻨﻮان ﯾ‬

‫آﻧﻬﺎ ﺑﺮای ﺑﺮرﺳ وب از دﯾﺪﮔﺎه اﻣﻨﯿﺖ اﻃﻼﻋﺎت ﺿﺮورﯾﺴﺖ. در اداﻣﻪ اﯾﻦ ﺗﮑﻨﻮﻟﻮژیﻫﺎی ﺑﻪ‬

                                                             ‫اﺧﺘﺼﺎر ﺑﺮرﺳ ﻣ ﮔﺮدﻧﺪ:‬




                                          ‫01‬
‫‪HTTP‬‬        ‫١٬۴٬٢‬
‫اچ ﺗ ﺗ ﭘﯽ، ﭘﺮوﺗﮑﻞ اﻧﺘﻘﺎل اﺑﺮﻣﺘﻦ )‪ (Hypertext Transfer Protocol‬ﺑﺴﺘﺮ اﻧﺘﻘﺎل‬

‫ﭘﺮوﺗﮑﻞ ﺷﺒ ﻪ در ﺳﻄ ﻧﺮماﻓﺰار اﺳﺖ ﮐﻪ درﮔﺎه ﭘﯿﺶ-‬           ‫داده در وب اﺳﺖ. اﯾﻦ ﭘﺮوﺗﮑﻞ ﯾ‬

                                          ‫ﻓﺮض و اﺧﺘﺼﺎﺻ آن درﮔﺎه 08 ‪ TCP‬ﻣ ﺑﺎﺷﺪ.‬




                   ‫ﺷ‪‬ﻞ ٦ ‪ HTTPS‬ﻧﺴﺨﻪ اﻣﻦ ﺷﺪه و رﻣﺰﮔﺬاری ﺷﺪه ‪HTTP‬‬


‫ﻧﮑﺘﻪ ﻗﺎﺑﻞ ﺗﻮﺟﻪ در ﻣﻮرد اﯾﻦ ﭘﺮوﺗﮑﻞ آﻧﺴﺖ ﮐﻪ ﺑﻪ دﻟﯿﻞ اﻣﻨﯿﺖ ﻗﺎﺑﻞ ﺗﻮﺟﻪ آن ﻧﺴﺒﺖ ﺑﻪ‬

‫ﻃﺮﻓﻪ ﺑﻮدن آن ﺑﻮده اﺳﺖ( در اﮐﺜﺮ‬       ‫ﺑﻘﯿﻪ ﭘﺮوﺗﮑﻞﻫﺎ )ﮐﻪ ﺑﻪ دﻟﯿﻞ ﺳﺎدﮔ وب اوﻟﯿﻪ و ﯾ‬

‫ﻓﺎﯾﺮوالﻫﺎ اﺟﺎزه ﻋﺒﻮر دارد. اﯾﻦ ﻧﮑﺘﻪ ﺑﺎﻋﺚ ﺷﺪه ﺑﺴﯿﺎری ﺗﮑﻨﻮﻟﻮژیﻫﺎی دﯾ ﺮ ﻧﯿﺰ ﺧﻮد را ﺑﺮ‬

 ‫اﯾﻦ ﺑﺴﺘﺮ اﻧﻄﺒﺎق دﻫﻨﺪ، ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل ‪ RPC‬ﺟﺪﯾﺪ ﺑﻪ ﻧﺎم ‪ SOAP‬از اﯾﻦ ﺑﺴﺘﺮ ﻧﯿﺰ ﭘﺸﺘﯿﺒﺎﻧ‬

                                                                            ‫ﻣ ﮐﻨﺪ.‬

‫ﮐﺎرﮐﺮد آن‬   ‫ﺷﯿﻮه اﺻﻠ‬     ‫اﺳﺖ، ﯾﻌﻨ‬    ‫ﭘﺮوﺗﮑﻞ درﺧﻮاﺳﺖ/ﭘﺎﺳﺨ‬          ‫‪ HTTP‬ﻣﺎﻫﯿﺘﺎ ﯾ‬

 ‫ﭘﺎﺳ ﺑﻪ وی اﺳﺖ. اﯾﻦ رﻓﺘﺎر ﭘﺮوﺗﮑﻞ در ﺑﺮﺧ‬      ‫درﺧﻮاﺳﺖ از ﻣﺸﺘﺮی و ارﺳﺎل ﯾ‬    ‫درﯾﺎﻓﺖ ﯾ‬

                       ‫از ﻣﻮارد ﻣﻄﻠﻮب ﻧﯿﺴﺖ ﮐﻪ ﻣﻨﺠﺮ ﺑﻪ ‪ HTTP Streaming‬ﺷﺪه اﺳﺖ.‬




                                           ‫11‬
‫درﺧﻮاﺳﺖﻫﺎی ‪ 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‬
‫‪Response Body‬‬

‫در ﭘﺎﺳ ﻧﯿﺰ ﺧﻂ اﺑﺘﺪاﯾﯽ، ﻣﺸﺨﺺ ﮐﻨﻨﺪه وﺿﻌﯿﺖ ﭘﺎﺳ اﺳﺖ. ﮐﻠﻤﻪ اول ﻧﺴﺨﻪ ﭘﺮوﺗﮑﻞ،‬

‫ﮐﻠﻤﻪ دوم ﮐﺪ ﭘﺎﺳ )ﮐﻪ ﺣﺪود ۵٢ ﺣﺎﻟﺖ ﻣﺠﺎز ﺑﯿﻦ ٠٠١ و ٠٠۵ دارد( و ﮐﻠﻤﻪ ﺳﻮم ﺗﻮﺿﯿﺢ‬

                                                                    ‫ﮐﺪ ﻣﺬﮐﻮر اﺳﺖ.‬

‫از وﯾﮋﮔ ﻫﺎﯾﯽ ﮐﻪ در ﻧﺴﺨﻪ ١٬١ ﺑﻪ اﯾﻦ ﭘﺮوﺗﮑﻞ اﻓﺰوده ﺷﺪه اﺳﺖ، اﻣ ﺎن درﯾﺎﻓﺖ‬         ‫ﯾ‬

‫اﺳﺖ. اﯾﻦ اﻣ ﺎن ﺑﺎ ﻋﻨﻮان ‪ HTTP Range‬ﺷﻨﺎﺧﺘﻪ ﻣ ﺷﻮد ﮐﻪ ﺑﺎ‬            ‫ﭘﺎﺳ‬   ‫ﻗﺴﻤﺘ از ﯾ‬

‫ﺑﺮد از ﭘﺎﺳ را اﻧﺘﺨﺎب ﮐﺮد ﺗﺎ ﺳﺮور ارﺳﺎل ﮐﻨﺪ. ﮐﺎرﺑﺮد اﺻﻠ اﯾﻦ‬   ‫اﺳﺘﻔﺎده از آن ﻣ ﺗﻮان ﯾ‬

‫وﯾﮋﮔ در درﯾﺎﻓﺖ ﻓﺎﯾﻠﻬﺎی ﺑﺰرگ از ﺳﺮور اﺳﺖ، در ﺻﻮرﺗ ﮐﻪ اﺗﺼﺎل ﻣﻨﻘﻄ ﺷﻮد، ﻣ ﺗﻮان‬

‫آﻧﺮا اداﻣﻪ داد. ﻫﻤﭽﻨﯿﻦ ﻣ ﺗﻮان ﺑﻪ ﺻﻮرت ﻫﻤﺮوﻧﺪ ﻗﺴﻤﺖﻫﺎی ﻣﺨﺘﻠﻒ ﭘﺎﺳ را درﯾﺎﻓﺖ ﮐﺮد.‬

        ‫ﺑﺎ روی ﮐﺎر آﻣﺪن اﯾﻦ وﯾﮋﮔ ، ﭘﺮوﺗﮑﻞ ‪ FTP‬ﮐﺎرﺑﺮد درﯾﺎﻓﺖ ﻓﺎﯾﻞ ﺧﻮد را از دﺳﺖ داد.‬

‫‪ HTTP‬از آﻧﺠﺎﯾﯽ ﮐﻪ ﭘﺮوﺗﮑﻞ زﯾﺮﺳﺎﺧﺘ وب اﺳﺖ، ﻧﮑﺎت ﺟﺰﺋ ﻓﺮاواﻧ در ﺑﺤﺚ اﻣﻨﯿﺖ‬

                                   ‫دارد ﮐﻪ ﺑﻪ ﺻﻮرت ﻣﻨﻘﻄ در اداﻣﻪ ﺑﺤﺚ ﺧﻮاﻫﺪ ﺷﺪ.‬




                                                        ‫‪HTML‬‬           ‫٢٬۴٬٢‬
‫اچ ﺗ ام ال، ﯾﻌﻨ زﺑﺎن ﺑﺮﭼﺴﺒﯽ اﺑﺮﻣﺘﻦ )‪ .(Hypertext Markup Language‬اﯾﻦ زﺑﺎن‬

‫ﺑﺎ اﺳﺘﻔﺎده از ﺑﺮﭼﺴﺐﻫﺎ اﺳﻨﺎد وﺑﯽ را اراﺋﻪ ﻣ دﻫﺪ. ‪ HTML‬ﻧﻮﻋ از ﺳﻨﺪ ‪ XML‬اﺳﺖ، در‬

 ‫ﺣﺎﻟ ﮐﻪ ‪ XML‬ﺑﺴﯿﺎر ﺑﻌﺪ از ‪ HTML‬و ﭘﺲ از ﭼﻨﺪﯾﻦ اﺳﺘﺎﻧﺪاردﺳﺎزی ﺑﻪ وﺟﻮد آﻣﺪه اﺳﺖ.‬




                                         ‫31‬
‫ﺷ‪‬ﻞ ٧ ﺷﻤﺎﯾﻞ ﺳﺎده ﯾ‪ ‬ﺳﻨﺪ ‪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‬
‫ﭘﺮدازش آن، ﺗﻤﺎﻣ ﻓﺎﯾﻠﻬﺎی ارﺟﺎع ﺷﺪه را ﻧﯿﺰ ﺑﻪ ﺗﻔﮑﯿ از ﺳﺮور درﺧﻮاﺳﺖ و درﯾﺎﻓﺖ ﻧﻤﺎﯾﺪ ﺗﺎ‬
‫ﺑﺘﻮاﻧﺪ ﺻﻔﺤﻪ را ﺗﻤﺎم و ﮐﻤﺎل ﻧﻤﺎﯾﺶ دﻫﺪ. در واﻗ ﻗﺴﻤﺖ ﻋﻤﺪه ﺑﺎر ﺷﺪن ﻫﺮ ﺻﻔﺤﻪ وب ﻣﺮﺑﻮط‬
‫ﺣﺠﻢ ﻗﺎﺑﻞ‬   ‫ﺑﻪ درﯾﺎﻓﺖ ﻓﺎﯾﻠﻬﺎی ﺟﺎﻧﺒﯽ ﭘﺮ ﺣﺠﻢ آن – ﻣﺎﻧﻨﺪ ﺗﺼﺎوﯾﺮ – اﺳﺖ و ﺳﻨﺪ ‪HTML‬‬
                                                                                     ‫ﺗﻮﺟﻬ ﻧﺪارد.‬


                                                                       ‫‪CSS‬‬          ‫٣٬۴٬٢‬
‫ﻣﺤﺘﻮی از ﻗﺎﻟﺐ ﺑﻨﺪی، اﺳﺘﻔﺎده از ﺑﺮﭼﺴﺐﻫﺎی‬                 ‫ﭼﻨﺪﮔﺎﻫﯿﺴﺖ ﮐﻪ در راﺳﺘﺎی ﺗﻔﮑﯿ‬

‫رﻓﺘﺎر ﻧﺎﻣﻄﻠﻮب ﺗﻠﻘ ﻣ ﺷﻮد و ﮐﻠﯿﻪ ﻗﺎﻟﺐ ﺑﻨﺪی ﺻﻔﺤﺎت وب ﺑﻪ‬                       ‫ﻗﺎﻟﺐﺑﻨﺪی ‪ HTML‬ﯾ‬

 ‫‪ CSS‬ﺳﭙﺮده ﺷﺪه اﺳﺖ. ‪ CSS‬ﻣﺨﻔﻒ ﻋﺒﺎرت ‪ Casacading Style Sheets‬اﺳﺖ، ﺑﻪ ﻣﻌﻨ‬

‫ﺻﻔﺤﺎت ﻗﺎﻟﺐ ﺑﻨﺪی ﮐﺮﮐﺮهای، ﮐﻪ ﺑﺮ روی ﯾ ﺪﯾ ﺮ ﺳﻮار ﻣ ﺷﻮﻧﺪ و ﻗﺎﻟﺐ را ﺗﺸ ﯿﻞ ﻣ دﻫﻨﺪ.‬




           ‫ﺷ‪‬ﻞ ٨ ﮐﻠﯿﺪواژهﻫﺎی ﻣﻄﺮح در ‪ ،CSS‬ﯾ‪ ‬ﻃﺮاح وب ﺑﺎﯾﺪ ﺑﻪ اﯾﻦ ﻣﻔﺎﻫﯿﻢ ﻣﺴﻠﻂ ﺑﺎﺷﺪ‬




‫ﻣﺘﻦ از ﺑﺮﭼﺴﺐ‬      ‫در ﮔﺬﺷﺘﻪ ﻫﻨﮕﺎم ﮐﺎرﺑﺮدﻫﺎی اﺑﺘﺪای ‪ ،HTML‬ﺟﻬﺖ ﺗﻐﯿﯿﺮ رﻧﮓ ﯾ‬

‫ﺳﻨﺪ ‪ HTML‬اﻧﺘﻈﺎر ﻣ رود‬          ‫‪ font‬اﺳﺘﻔﺎده ﻣ ﺷﺪ. اﯾﻦ رﻓﺘﺎر دﯾ ﺮ ﻣﻄﻠﻮب ﻧﯿﺴﺖ زﯾﺮا از ﯾ‬

‫ﮐﻪ ﻣﺤﺘﻮای ﻣﻨﻄﻘ و ﻣﻌﻨ دار ﺻﻔﺤﻪ را در ﺑﺮ داﺷﺘﻪ ﺑﺎﺷﺪ. اﻣﺮوزه ‪ HTML‬ﺗﻨﻬﺎ ﺗﻮﺳﻂ‬

‫اﻧﺴﺎنﻫﺎ ﻣﺼﺮف ﻧﻤ ﺷﻮد و ﺑﺴﯿﺎری ﻧﺮماﻓﺰارﻫﺎ و ﻣﺎﺷﯿﻦﻫﺎ ﻫﺴﺘﻨﺪ ﮐﻪ اﯾﻦ اﺳﻨﺎد را درﯾﺎﻓﺖ‬

                                                ‫51‬
‫ﮐﺮده، ﺗﺠﺰﯾﻪ و ﺗﺤﻠﯿﻞ ﻣ ﮐﻨﻨﺪ. ﺑﺮای اﯾﻦ اﺑﺰار ﻗﺎﻟﺐ ﺑﻨﺪی ﺻﻔﺤﻪ اﻫﻤﯿﺖ ﺧﺎﺻ ﻧﺪارد و‬

                                                     ‫ﺗﻤﺮﮐﺰ آﻧﻬﺎ ﺑﺮ روی ﻣﺤﺘﻮاﺳﺖ.‬

‫ﻓﺎﯾﻞ ‪ HTML‬ارﺟﺎع ﻣ دﻫﺪ و ﺑﺎ‬    ‫ﯾﺎ ﭼﻨﺪ ﺑﺮﭼﺴﺐ از ﯾ‬   ‫‪ CSS‬در ﻫﺮ دﺳﺘﻮر ﺧﻮد، ﺑﻪ ﯾ‬

‫اﺳﺘﻔﺎده از ﺻﻔﺎت ﺧﺎﺻ رﻓﺘﺎرﻫﺎی ﻧﻤﺎﯾﺸ آﻧﻬﺎ را ﮐﻨﺘﺮل ﻣ ﮐﻨﺪ. ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل ﺑﺮای ﻗﺮﻣﺰ‬

     ‫ﺻﻔﺤﻪ، ﻣ ﺗﻮان از ‪ CSS‬زﯾﺮ ﺑﻬﺮه ﺟﺴﺖ:‬      ‫و ﮐﻠﻔﺖ ﮐﺮدن ﺧﻄﻮط ﻣﻮﺟﻮد در ﺟﺪاول ﯾ‬

      ‫{ ‪table td‬‬

             ‫;‪border: 2px solid‬‬

             ‫;‪border-color: red‬‬

      ‫}‬

‫از دﯾ ﺮ ﻣﺰاﯾﺎی ‪ CSS‬آﻧﺴﺖ ﮐﻪ ﺑﺎ ﺳﺎدﮔ ﻣ ﺗﻮان ﺑﺎ ﺑﺎر ﮐﺮدن ‪CSS‬ﻫﺎی ﻣﺨﺘﻠﻒ‬

‫ﺻﻔﺤﻪ، ﻗﺎﻟﺐﻫﺎی ﻣﺨﺘﻠﻔ ﺑﺪان داد. ﻧﮑﺘﻪ ﺣﺎﺋﺰ اﻫﻤﯿﺖ ‪ CSS‬از دﯾﺪﮔﺎه اﻣﻨﯿﺖ وب‬     ‫ﺑﺮای ﯾ‬

‫آﻧﺴﺖ ﮐﻪ ﺻﻔﺎت آن ﻣ ﺗﻮاﻧﻨﺪ ﻣﻘﺎدﯾﺮ ﻣﺘﻐﯿﺮ ﻧﯿﺰ درﯾﺎﻓﺖ ﮐﻨﻨﺪ. اﯾﻦ ﻣﻘﺎدﯾﺮ ﻣﺘﻐﯿﺮ ﺗﻮﺳﻂ‬

‫‪ Javascript‬اﺟﺮا و ﭘﺮدازش ﻣ ﺷﻮد و اﻣ ﺎن اﺟﺮای ﮐﺪ در ﻓﺎﯾﻞﻫﺎی ‪ CSS‬را ﻧﯿﺰ ﻓﺮاﻫﻢ ﻣ -‬

                                                                            ‫آورد.‬

                                                  ‫‪Javascript‬‬        ‫۴٬۴٬٢‬
 ‫ﻫﻤﺎﻧﻄﻮر ﮐﻪ ﻗﺒﻼ ذﮐﺮ ﺷﺪ، ﺟﺎواﺳ ﺮﯾﭙﺖ ﺑﺎ اﻧﺸﻌﺎب از ‪ ECMAScript‬ﺑﻪ ﻋﻨﻮان زﺑﺎﻧ‬

‫ﺑﺮای اﻓﮑﺖ دادن ﺑﻪ ﺻﻔﺤﺎت اﯾﺴﺘﺎی وب )‪ (HTML‬در ﺳﺎل ۴٩٩١ ﻂﺳﻮﺗ ‪ Netscape‬اﯾﺠﺎد‬

  ‫ﮔﺮدﯾﺪ. در ﺳﺎل ۶٩٩١ ﻫﻢ ﻣﺎﯾ ﺮوﺳﺎﻓﺖ اﯾﻦ ﺗﮑﻨﻮﻟﻮژی را در ﮐﺎوﺷ ﺮ ‪ IE‬ﺧﻮد اﺿﺎﻓﻪ ﻧﻤﻮد.‬




                                       ‫61‬
‫ﺷ‪‬ﻞ9 ﻧﻤﺎﯾﻪ ‪ ،jQuery‬ﻣﺤﺒﻮبﺗﺮﯾﻦ ﮐﺘﺎﺑﺨﺎﻧﻪ ﺟﺎواﺳ‪‬ﺮﯾﭙﺖ‬




‫زﺑﺎن ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯿﺴﺖ ﮐﻪ ﻣﺘﻐﯿﺮﻫﺎی آن ﻧﻮع ﭘﻮﯾﺎ دارﻧﺪ، ﻣﺒﺘﻨ ﺑﺮ ﺷ ء‬                ‫ﺟﺎواﺳ ﺮﯾﭙﺖ ﯾ‬

‫)‪ (Object Based‬اﺳﺖ و ﺗﻮﺳﻂ ﻣﻔﺴﺮ اﺟﺮا ﻣ ﮔﺮدد. ﺗﻮاﺑﻊ ﺗﻮدرﺗﻮ و ‪ Closure‬ﻧﯿﺰ ﺗﻮﺳﻂ‬

                                                                ‫اﯾﻦ زﺑﺎن ﭘﺸﺘﯿﺒﺎﻧ ﻣ ﺷﻮﻧﺪ.‬

‫اول در‬   ‫ﺗﻔﺎوت ﻋﻤﺪه ﺟﺎواﺳ ﺮﯾﭙﺖ و ‪ ECMAScript‬در وﺟﻮد ﭼﻨﺪﯾﻦ ﺷ ء ﺳﻄ‬

‫ﺟﺎواﺳ ﺮﯾﭙﺖ اﺳﺖ، ﮐﻪ ﺗﻮﺳﻂ ﮐﺎوﺷ ﺮ وب ﺑﺮای آن ﻣﻬﯿﺎ ﻣ ﮔﺮدد. ﻣﻬﻤﺘﺮﯾﻦ اﯾﻦ اﺷﯿﺎء‬

‫ﺷ ء ‪ document‬و ‪ window‬اﺳﺖ ﮐﻪ اوﻟ ‪ DOM‬ﺳﻨﺪ ‪ HTML‬را در اﺧﺘﯿﺎر ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺲ‬

‫ﻗﺮار ﻣ دﻫﺪ ﺗﺎ ﺑﺘﻮاﻧﺪ اﺟﺰای ﺻﻔﺤﻪ را ﺗﻐﯿﯿﺮ دﻫﺪ و دوﻣ ﭘﻨﺠﺮه ﮐﺎوﺷ ﺮ را در اﺧﺘﯿﺎر ﺑﺮﻧﺎﻣﻪ-‬

                               ‫ﻧﻮﯾﺲ ﻣ ﮔﺬارد ﺗﺎ ﺑﺎ وﯾﮋﮔ ﻫﺎ و اﺑﻌﺎد آن ﺗﻌﺎﻣﻞ داﺷﺘﻪ ﺑﺎﺷﺪ.‬

‫ﺟﺎواﺳ ﺮﯾﭙﺖ زﺑﺎن ﻣﺤﺪودﯾﺴﺖ و اﻣ ﺎن دﺳﺘﺮﺳ ﺑﻪ ﺳﯿﺴﺘﻢ ﻓﺎﯾﻞ و ﺳﺨﺖ اﻓﺰارﻫﺎی‬

‫ﺑﺴﺘﺮ ﺧﻮد را ﻧﺪارد و ﺗﺎ ﻗﺒﻞ از ‪ AJAX‬اﺟﺎزه دﺳﺘﺮﺳ ﺑﻪ ﻣﻨﺎﺑﻊ اﯾﻨﺘﺮﻧﺖ را ﻫﻢ – ﺑﻪ ﺻﻮرت‬

‫ﻣﺴﺘﻘﯿﻢ – ﻧﺪاﺷﺖ. در ﺣﺎل ﺣﺎﺿﺮ دﺳﺘﻪ ﺑﺴﯿﺎر ﻣﻬﻤ از ﻣﺨﺎﻃﺮات وب ﺑﺎ ﻧﺎم ‪ XSS‬ﺑﺮ اﺳﺎس‬

                                                                       ‫اﯾﻦ ﺗﮑﻨﻮﻟﻮژی ﺑﻨﺎ ﺷﺪهاﻧﺪ.‬

‫ﺟﺎواﺳ ﺮﯾﭙﺖ ﺑﺮای ﺗﻌﺎﻣﻞ ﺑﻬﺘﺮ ﺑﺎ ﮐﺎرﺑﺮ و ﺻﻔﺤﻪ، از ﺗﻌﺪادی رﺧﺪاد )‪ (Event‬ﺑﻬﺮه ﻣ -‬

‫ﮐﺪ ﺟﺎواﺳ ﺮﯾﭙﺖ ﻣ ﺗﻮان اﺟﺮا ﮔﺮدد. ﺑﻪ ﻋﻨﻮان‬           ‫ﮔﯿﺮد ﮐﻪ ﺑﺎ اﺗﻔﺎق اﻓﺘﺎدن ﻫﺮﮐﺪام از آﻧﻬﺎ ﯾ‬

‫ﺗﺼﻮﯾﺮ ﻣﻨﺘﻘﻞ‬    ‫ﻣﺜﺎل در ﺻﻮرﺗ ﮐﻪ ﺑﺨﻮاﻫﯿﻢ ﻫﻨﮕﺎﻣ ﮐﻪ ﮐﺎرﺑﺮ ﻧﺸﺎﻧﮕﺮ ﻣﺎوس را ﺑﺮ روی ﯾ‬

              ‫ﮐﺮد، ﭘﯿﺎﻣ ﺑﻪ وی ﻧﺸﺎن دﻫﯿﻢ ﻣ ﺗﻮاﻧﯿﻢ از ﺟﺎواﺳ ﺮﯾﭙﺖ زﯾﺮ اﺳﺘﻔﺎده ﻧﻤﺎﯾﯿﻢ:‬


                                              ‫71‬
‫>’‪<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‬
‫ﺑﻪ دﻟﯿﻞ اﯾﻨﮑﻪ در اﺑﺘﺪا دادهﻫﺎی درﯾﺎﻓﺘ از ﻧﻮع ‪ 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‬
‫اﻣﺮوز ﻫﻢ ﺟﺎواﺳ ﺮﯾﭙﺖ و آژاﮐﺲ ﺗﻨﻬﺎ در ﻣﺤﺪوده ‪ Same Origin Policy‬ﻣ ﺗﻮاﻧﻨﺪ ﺑﺎ‬

‫ﺳﺮور ﺧﻮد ﺗﻤﺎس ﺣﺎﺻﻞ ﻧﻤﺎﯾﻨﺪ، ﺑﺪﯾﻦ ﻣﻌﻨ ﮐﻪ ﺟﺎواﺳ ﺮﯾﭙﺖ از ﻫﺮ ﺳﺮوری ﮐﻪ ﺑﺎر ﺷﺪه‬

                                                ‫ﺑﺎﺷﺪ ﺗﻨﻬﺎ ﺑﺎ ﻫﻤﺎن ﺳﺮور اﻣ ﺎن ارﺗﺒﺎط دارد.‬

‫از روﺷﻬﺎی ﻣﺎﻫﯿﺘﺎ ﻧﺎ اﻣﻦ دور زدن‬       ‫اﺳﺘﻔﺎده از ‪ JSONP‬ﯾﺎ ‪ JSON with Padding‬ﯾ‬

‫‪ Same Origin Policy‬در ﻫﻨﮕﺎﻣﯿﺴﺖ ﮐﻪ ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺲ ﺑﺮ روی ﭼﻨﺪ ﺳﺎﯾﺖ ﺑﻪ ﻃﻮر ﺗﻮزﯾﻊ‬

                                                                         ‫ﺷﺪه ﮐﺎر ﻣ ﮐﻨﺪ.‬

                                                        ‫‪Web Server‬‬           ‫۶٬۴٬٢‬
‫وب‬    ‫وب ﺳﺮور، ﺗﮑﻨﻮﻟﻮژی ﺳﺮوﯾﺲ دادن ﭘﺮوﺗﮑﻞﻫﺎی ‪ HTTP‬و ‪ HTTPS‬اﺳﺖ. ﯾ‬

‫ﺳﺮور ﭘﺲ از اﺟﺮا، ﺑﺮ روی ﭘﻮرتﻫﺎی ﻣﺸﺨﺺ اﯾﻦ دو ﭘﺮوﺗﮑﻞ )ﺑﻪ ﺗﺮﺗﯿﺐ ٠٨ و ٣۴۴( ﻣﻨﺘﻈﺮ‬

                          ‫ﻣ ﻣﺎﻧﺪ و درﺧﻮاﺳﺖﻫﺎی ‪ HTTP‬درﯾﺎﻓﺖ ﺷﺪه را ﭘﺎﺳ ﻣ ﮔﻮﯾﺪ.‬




                     ‫ﺷ‪‬ﻞ ١١ ﻧﻤﺎﯾﯽ از ﺑﺎر ﺷﺪن ﯾ‪ ‬ﺳﻨﺪ از دﯾﺪ وب ﺳﺮور‬




                                             ‫02‬
‫‪ HTTPS‬ﻫﻤﺎن ﭘﺮوﺗﮑﻞ ‪ HTTP‬اﺳﺖ ﮐﻪ در ﻻﯾﻪ زﯾﺮﯾﻦ ﺧﻮد ﺑﺮ روی ﭘﺮوﺗﮑﻞ ‪) SSL‬ﺎﯾ‬

‫ﻧﺴﺨﻪ ﺟﺪﯾﺪ آن ‪ (TLS‬ﺗﮑﯿﻪ ﻣ ﺪﻨﮐ. اﯾﻦ ﭘﺮوﺗﮑﻞﻫﺎ وﻇﯿﻔﻪ رﻣﺰﮔﺬاری دادهﻫﺎ را ﺑﺮ ﻋﻬﺪه‬

‫ﮐﻪ ﺷﺨﺺ ﺛﺎﻟﺜ ارﺗﺒﺎط اﯾﻨﮕﻮﻧﻪ را ﺷﻨﻮد ﮐﻨﺪ، دادهﻫﺎی ﻧﺎﻣﻔﻬﻮم‬              ‫دارﻧﺪ، ﻟﺬا در ﺻﻮرﺗ‬

 ‫درﯾﺎﻓﺖ ﻣ ﮐﻨﺪ و ﻧﻤ ﺗﻮاﻧﺪ ﺗﺸﺨﯿﺺ دﻫﺪ ﮐﻪ ﻣﺨﺎﻃﺐ در ﺣﺎل ﻣﺮور ﭼﻪ ﺳﺎﯾﺘ و ﭼﻪ ﺻﻔﺤﺎﺗ‬

  ‫اﺳﺖ، ﺑﻠ ﻪ ﺗﻨﻬﺎ ﺑﻪ آی ﭘﯽ ﻣﻘﺼﺪ دﺳﺘﺮﺳ داﺷﺘﻪ ﻣ ﺗﻮاﻧﺪ ﺳﺮور ﻣﺨﺎﻃﺐ را ﺗﺸﺨﯿﺺ دﻫﺪ.‬

‫ﺳﺮورﻫﺎی وب ﻣﺤﺘﻮا را ﺑﻪ دو ﺻﻮرت اﯾﺴﺘﺎ و ﭘﻮﯾﺎ ﺑﻪ ﮐﺎرﺑﺮان ﺗﺤﻮﯾﻞ ﻣ دﻫﻨﺪ. در ﻣﺪل‬

‫اﯾﺴﺘﺎ، ﺳﺮور ﺑﺎ ﺗﺸﺨﯿﺺ ﻣﻘﺼﺪ درﺧﻮاﺳﺖ، ﻓﺎﯾﻞ ﻣﺮﺑﻮﻃﻪ را از ﻃﺮﯾﻖ ﭘﺮوﺗﮑﻞ ‪ HTTP‬ﻪﺑ‬

‫ﺑﻪ ﺗﻌﺪادی‬       ‫ﻣﺸﺘﺮی ﺗﺤﻮﯾﻞ ﻣ دﻫﺪ. ﻣﻌﻤﻮﻻ ﺳﺮورﻫﺎ ﺑﺎ اﺳﺘﻔﺎده از ﺗﻨﻈﯿﻤﺎت ﺧﺎﺻ‬

         ‫ﺳﺮور ﻗﺮار ﺑ ﯿﺮﻧﺪ.‬    ‫‪ VirtualHost‬ﺗﻘﺴﯿﻢ ﻣ ﺷﻮﻧﺪ ﺗﺎ ﭼﻨﺪﯾﻦ ﺳﺎﯾﺖ ﺑﺘﻮاﻧﻨﺪ ﺑﺮ روی ﯾ‬

‫در ﻣﺪل ﭘﻮﯾﺎ، ﺳﺮور ﺑﺎ ﺗﺸﺨﯿﺺ ﻧﻮع درﺧﻮاﺳﺖ ﻣﺸﺘﺮی و ﺑﺮ اﺳﺎس ﺗﻨﻈﯿﻤﺎت ﺧﻮد، ﻗﻄﻌﻪ‬

   ‫ﮐﺪ ﺧﺎﺻ را اﺟﺮا ﻣ ﻧﻤﺎﯾﺪ و ﺧﺮوﺟ آﻧﺮا ﺑﻪ ﮐﺎرﺑﺮ ﺗﺤﻮﯾﻞ ﻣ دﻫﺪ. ﮐﺪ ﻣﺮﺑﻮﻃﻪ ﻣﻌﻤﻮﻻ ﺑﺎ ﯾ‬

                       ‫از زﺑﺎنﻫﺎی ﺳﻤﺖ ﺳﺮور )‪ (Server Side Includes‬ﻧﻮﺷﺘﻪ ﺷﺪه اﺳﺖ.‬

‫ﭘﺮوﺳﻪ وب اﺳﺖ، ﺳﺮﻋﺖ و ﮐﺎراﯾﯽ آن اﻫﻤﯿﺖ‬               ‫از آﻧﺠﺎﯾﯽ ﮐﻪ ﺳﺮور وب ﻧﻘﻄﻪ ﺷﺮوع ﯾ‬

‫ﺑﺴﺰاﯾﯽ دارد. درﺻﺪ ﻗﺎﺑﻞ ﺗﻮﺟﻬ از ﺣﻤﻼت ﺟﻠﻮﮔﯿﺮی از ﺳﺮوﯾﺲ )‪ (Denial of Service‬ﺮﺑ‬

‫روی ﺳﺮورﻫﺎی وب اﻧﺠﺎم ﻣ ﮔﯿﺮﻧﺪ، زﯾﺮا ﺑﻪ ازای ﻫﺮ درﺧﻮاﺳﺖ ﮐﺎرﺑﺮ، ﺳﺮور ﺑﺎﯾﺪ ﺣﺠﻢ ﻗﺎﺑﻞ‬

                                                                   ‫ﺗﻮﺟﻬ ﮐﺎر اﻧﺠﺎم دﻫﺪ.‬

‫از دﯾﺪﮔﺎه ﮐﺎراﯾﯽ، ﺳﺮورﻫﺎ ﺑﻪ دو دﺳﺘﻪ ‪ Threaded‬و ‪ Processed‬ﺗﻘﺴﯿﻢ ﻣ ﺷﻮﻧﺪ. در‬

‫ﻧ ﺟﺪاﮔﺎﻧﻪ اﺧﺘﺼﺎص ﻣ دﻫﺪ و ﻧ ﻣﺮﺑﻮﻃﻪ وﻇﯿﻔﻪ‬                ‫ﻧﻮع اول، ﺳﺮور ﻫﺮ درﺧﻮاﺳﺖ را ﺑﻪ ﯾ‬

‫ﻓﺮآﯾﻨﺪ‬     ‫ﮐﺎرﺑﺮ، ﯾ‬   ‫اﺟﺮای درﺧﻮاﺳﺖ را دارد.در ﻣﺪل دوم ﺳﺮور ﺑﻪ ازای ﻫﺮ درﺧﻮاﺳﺖ ﯾ‬

                             ‫ﺪﯾﺪﺟ اﯾﺠﺎد ﻣ ﮐﻨﺪ و ﺳﺮوﯾﺲدﻫ ﮐﺎرﺑﺮ را ﺑﻪ آن ﻓﺮآﯾﻨﺪ ﻣ ﺳﭙﺎرد.‬


                                              ‫12‬
‫ﭘﺮ واﺿ اﺳﺖ ﮐﻪ روش اول ﺑﺎزدﻫ ﺑﺴﯿﺎر ﺑﺎﻻﺗﺮی دارد و ﺳﺮﻋﺖ ﻗﺎﺑﻞ ﺗﻮﺟﻪﺗﺮی ﮐﺴﺐ‬

‫از ﻧ ﻫﺎ دﭼﺎر ﻣﺸ ﻞ ﺷﻮد، ﯾﺎ ﻣﻌﻀﻞ اﻣﻨﯿﺘ ﺑﺮای آن ﭘﯿﺶ ﺑﯿﺎﯾﺪ، ﺗﻤﺎم‬    ‫ﻣ ﮐﻨﺪ، وﻟ اﮔﺮ ﯾ‬

‫از ﻓﺮآﯾﻨﺪﺎﻫ‬   ‫ﻧ ﻫﺎی دﯾ ﺮ ﺗﺤﺖ ﺗﺎﺛﯿﺮ ﻗﺮار ﺧﻮاﻫﻨﺪ ﮔﺮﻓﺖ. در ﻣﺪل ﻓﺮآﯾﻨﺪی در ﺻﻮرﺗ ﮐﻪ ﯾ‬

                ‫ﺷﻮد ﯾﺎ ﻣﺸ ﻞﺳﺎز ﺑﺎﺷﺪ، ﻣﺸ ﻠ ﺑﺮای ﻣﺎﺑﻘ ﻓﺮآﯾﻨﺪﻫﺎ ﻣﺘﺼﻮﯾﺮ ﻧﯿﺴﺖ.‬      ‫ﻫ‬

‫ﻫﻤﭽﻨﯿﻦ از ﻧﻈﺮ ﻣﺪ اﺟﺮا ﻣ ﺗﻮان وب ﺳﺮورﻫﺎ را ﺑﻪ دو دﺳﺘﻪ ﻫﺴﺘﻪای و ﮐﺎرﺑﺮی ﺗﻘﺴﯿﻢ‬

‫ﻧﻤﻮد. وب ﺳﺮورﻫﺎی ﻫﺴﺘﻪای، در ﺣﻠﻘﻪ ﺻﻔﺮ ﺳﯿﺴﺘﻢ و ﺑﺎ دﺳﺘﺮﺳ ﻫﺴﺘﻪ )‪ (Kernel‬اﺟﺮا‬

‫ﺑﻪ ﺑﺎﻻ(‬   ‫ﻣ ﺷﻮﻧﺪ، ﻟﺬا ﺳﺮﻋﺖ ﻗﺎﺑﻞ ﻣﻼﺣﻈﻪای دارﻧﺪ. ﻣﺪل ﮐﺎرﺑﺮی در ﻓﻀﺎی ﮐﺎرﺑﺮ )ﺣﻠﻘﻪ ﯾ‬

‫اﺟﺮا ﻣ ﮔﺮدد و ﺳﺮﻋﺖ ﺑﺴﯿﺎر ﮐﻤﺘﺮی دارد.ﻣﺪل ﻫﺴﺘﻪای در ﺻﻮرﺗ ﮐﻪ دﭼﺎر ﺣﻤﻠﻪ ﯾﺎ ﻣﻌﻀﻞ‬

‫ﺷﻮد، ﺑﺎﻋﺚ ﺗﻮﻗﻒ )‪ (Halt‬ﮐﻞ ﺳﯿﺴﺘﻢ ﻣ ﺷﻮد و ﻗﺎﺑﻞ ﺑﺎزﯾﺎﺑﯽ ﻧﯿﺴﺖ. ﻣﺪل ﮐﺎرﺑﺮی در ﻣﻘﺎﺑﻞ‬

                                                        ‫اﯾﻦ ﻣﺸ ﻼت ﻣﻘﺎومﺗﺮ اﺳﺖ.‬

     ‫وب ﺳﺮورﻫﺎی ﻣﻌﺮوﻓ ﮐﻪ در ﺣﺎل ﺣﺎﺿﺮ در ﻓﻀﺎی اﯾﻨﺘﺮﻧﺖ وﺟﻮد دارﻧﺪ، ﻋﺒﺎرﺗﻨﺪ از:‬

                                                      ‫١٬٦٬٤٬٢ ‪Apache‬‬
‫در ﺣﺎل ﺣﺎﺿﺮ ﻧﺴﺨﻪ آن ۴٬٢ ﺑﻮده، ﺗﻮﺳﻂ ﺑﻨﯿﺎد ﻣﺘﻦ ﺑﺎز آﭘﺎﭼ اراﺋﻪ ﻣ ﺷﻮد. آﭘﺎﭼ در‬

‫ﻣﺪ ﮐﺎرﺑﺮی و ﻣﺒﺘﻨ ﺑﺮ ﻓﺮآﯾﻨﺪ اﺟﺮا ﻣ ﺷﻮد. ﺑﯿﺶ از ۵۶% ﮐﻞ وب ﺳﺮورﻫﺎی اﯾﻨﺘﺮﻧﺘ از اﯾﻦ‬

‫ﻧﺮماﻓﺰار اﺳﺘﻔﺎده ﻣ ﻧﻤﺎﯾﻨﺪ. آﭘﺎﭼ اﻣ ﺎن اﺟﺮا و ﭘﺸﺘﯿﺒﺎﻧ ﺗﻤﺎم ﻣﺪﻫﺎ و زﺑﺎنﻫﺎی وب را‬

                                                                        ‫داراﺳﺖ.‬




                                        ‫22‬
‫ﺷ‪‬ﻞ ٢١ ﻧﻤﺎﯾﻪ آﭘﺎﭼ‪) ‬وب ﺳﺮور(‬




                     ‫٢٬٦٬٤٬٢ )‪Internet Information Services (IIS‬‬
‫وب ﺳﺮور ﻣﺎﯾ ﺮوﺳﺎﻓﺖ ﮐﻪ ﻣﻌﻤﻮﻻ ﺑﺮ ﺑﺴﺘﺮ ﻣﺎﯾ ﺮوﺳﺎﻓﺘ اﺟﺮا ﻣ ﺷﻮد. ﻣﺪ اﺟﺮای آن در‬

‫ﻫﺴﺘﻪ اﺳﺖ و ﻣﺒﺘﻨ ﺑﺮ ﻧ ﻋﻤﻞ ﻣ ﮐﻨﺪ. ﮐﻤﺘﺮ از ۵١% وب ﺳﺎﯾﺖﻫﺎی دﻧﯿﺎ از اﯾﻦ ﺳﺮور‬

                                                             ‫اﺳﺘﻔﺎده ﻣ ﻧﻤﺎﯾﻨﺪ.‬




                          ‫ﺷ‪‬ﻞ ٣١ ﺻﻔﺤﻪ ﭘﯿﺸﻔﺮض 7 ‪IIS‬‬




                                          ‫32‬
‫٣٬٦٬٤٬٢ ‪nginx‬‬
‫ﺗﻮﺳﻌﻪ دﻫﻨﺪه روﺳ . ﺗﻘﺮﯾﺒﺎ ٠١ درﺻﺪ ﺳﺎﯾﺘﻬﺎی‬       ‫ﺳﺮور ﻣﺘﻦ ﺑﺎز و ﺳﺎده ﺗﻮﺳﻂ ﯾ‬   ‫ﯾ‬

 ‫اﯾﻨﺘﺮﻧﺘ از اﯾﻦ ﺳﺮور اﺳﺘﻔﺎده ﻣ ﮐﻨﻨﺪ. ﻣﺰﯾﺖ اﺻﻠ اﯾﻦ ﺳﺮور ﺳﺮﻋﺖ ﺑﺴﯿﺎر ﺑﺎﻻ و ﭘﯿﭽﯿﺪﮔ‬

                      ‫ﺑﺴﯿﺎر ﭘﺎﯾﯿﻦ آن اﺳﺖ. ﻣﻌﻤﻮﻻ ﺟﺎﯾ ﺰﯾﻨ ﺑﺮای آﭘﺎﭼ ﺗﻠﻘ ﻣ ﺷﻮد.‬




                                 ‫ﺷ‪‬ﻞ ٤١ ﻧﻤﺎﯾﻪ ‪nginx‬‬


‫• ‪ : Google Web Server‬وب ﺳﺮور ﻣﻮرد اﺳﺘﻔﺎده ﺗﻮﺳﻂ ﮔﻮﮔﻞ ﮐﻪ ﻣﺘﻦ ﺑﺎز ﺷﺪه‬

‫اﺳﺖ. ﺣﺪود ٣% ﺳﺎﯾﺖﻫﺎی اﯾﻨﺘﺮﻧﺘ از اﯾﻦ ﺗﮑﻨﻮﻟﻮژی اﺳﺘﻔﺎده ﻣ ﮐﻨﻨﺪ ﮐﻪ اﮐﺜﺮ‬

                                                 ‫آﻧﻬﺎ ﻣﺘﻌﻠﻖ ﺑﻪ ﮔﻮﮔﻞ اﺳﺖ.‬

‫• ‪ :lighttpd‬ﻧﺎم ﻓﺎﯾﻞ اﺟﺮاﯾﯽ آﭘﺎﭼ ، ‪ httpd‬ﺑﻪ ﻣﻌﻨ ‪ HTTP Daemon‬ﯾﺎ ﻏﻮل‬

‫اراﺋﻪ دﻫﻨﺪه اچ ﺗ ﺗ ﭘﯽ اﺳﺖ. وب ﺳﺮور ‪ lighttpd‬ﺑﺎ ﻫﺪف اﯾﺠﺎد ﻧﺴﺨﻪ ﻣﺸﺎﺑﻪ‬

‫آﭘﺎﭼ اﯾﺠﺎد ﺷﺪه اﺳﺖ و ﺑﺎ روی ﮐﺎر آﻣﺪن ‪ nginx‬روﻧﻖ‬       ‫وﻟ ﺑﺴﯿﺎر ﺳﺎده و ﺳﺒ‬

                                                 ‫ﺧﻮد را از دﺳﺖ داده اﺳﺖ.‬




                                        ‫42‬
‫ﺷ‪‬ﻞ ٥١ درﺻﺪ ﻣﺼﺮف وب ﺳﺮورﻫﺎی ﻣﺨﺘﻠﻒ در ﺳﺎﻟﻬﺎی ﻣﺨﺘﻠﻒ )ﮔﺰارش ﺷﺪه ﺗﻮﺳﻂ ﻧﺖ ﮐﺮاﻓﺖ(‬


‫از وبﺳﺮورﻫﺎی ﻣﻌﺮﻓ ﺷﺪه، ﺗﻤﺎم آﻧﻬﺎ ﺑﺮ روی ﻫﻤﻪ ﺳ ﻮﻫﺎ ﻗﺎﺑﻞ اﺟﺮا ﻫﺴﺘﻨﺪ ﻣ ﺮ ‪IIS‬‬

                                    ‫ﮐﻪ ﺗﻨﻬﺎ ﺑﺮ روی ﻧﺴﺨﻪﻫﺎی ﺳﺮور وﯾﻨﺪوز ﻗﺎﺑﻞ اﺟﺮاﺳﺖ.‬

                                            ‫‪Server Side Scripts‬‬                ‫٧٬۴٬٢‬
‫وب اﯾﺴﺘﺎ، اﻣﺮوزه ﺗﻘﺮﯾﺒﺎ از دور ﺧﺎرج ﺷﺪه اﺳﺖ و وبﻫﺎی ﭘﻮﯾﺎ ﺗﻤﺎم اﯾﻨﺘﺮﻧﺖ را ﭘﺮ ﮐﺮده-‬

‫ﻣﻮﺳﺴﻪ ﺳﺎده ﻧﯿﺰ از اﻣ ﺎﻧﺎت ﭘﻮﯾﺎ ﺟﻬﺖ ﺗﻤﺎس ﺑﺎ ﻣﺸﺘﺮﯾﺎن و‬              ‫اﻧﺪ. ﺣﺘ ﺳﺎﯾﺖ ﻣﻌﺮﻓ ﯾ‬

                                                            ‫ردﮔﯿﺮی آﻧﺎن اﺳﺘﻔﺎده ﻣ ﻧﻤﺎﯾﺪ.‬



                                             ‫52‬
‫در اﺑﺘﺪا از زﺑﺎنﻫﺎی ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺴ ﻣﻌﻤﻮﻟ ﻣﺎﻧﻨﺪ ‪ C‬و ++‪ C‬و ‪ Perl‬ﺑﺮای ﻧﻮﺷﺘﻦ وب ﭘﻮﯾﺎ‬

‫اﺳﺘﻔﺎده ﻣ ﺷﺪ. ﺑﻪ اﯾﻦ ﺑﺮﻧﺎﻣﻪﻫﺎ ‪ CGI Script‬ﻣ ﮔﻔﺘﻨﺪ. ﻣﺸ ﻞ اﺻﻠ ﺳ ﺟ آی در اﯾﻦ‬

‫ﺑﻮد ﮐﻪ ﻧﻪ ﺗﻨﻬﺎ ﻣﺤﺘﻮای ﺻﻔﺤﻪ ﺧﺮوﺟ ، ﺑﻠ ﻪ ﺳﺮآﯾﻨﺪﻫﺎی ‪ HTTP‬را ﻧﯿﺰ ﺑﺎﯾﺪ ﻣﺪﯾﺮﯾﺖ ﻣ ﮐﺮد.‬




                          ‫ﺷ‪‬ﻞ ٦١ ﮔﺮدش ﮐﺎر اﺟﺮای ﯾ‪CGI ‬‬


‫ﻫﻤﺎﻧﻄﻮر ﮐﻪ ﻗﺒﻼ ﻣﺸﺎﻫﺪه ﺷﺪ، ﺳﺮآﯾﻨﺪ درﺧﻮاﺳﺖ ‪ HTTP‬ﺣﺎوی ﭘﺎراﻣﺘﺮﻫﺎی ﻣﻬﻤﯿﺴﺖ‬

‫و ﺗﻔﻬﯿﻢ ﺷﻮﻧﺪ. ﻫﻤﭽﻨﯿﻦ ﺑﺪﻧﻪ درﺧﻮاﺳﺖ ‪ HTTP‬ﻣ ﺗﻮاﻧﺴﺖ‬          ‫ﮐﻪ ﺗﻮﺳﻂ ﺑﺮﻧﺎﻣﻪ ﺑﺎﯾﺪ ﺗﻔﮑﯿ‬

‫ﺣﺎوی دادهﻫﺎی ارﺳﺎﻟ ﺑﻪ ﺳﺮور ﺑﺎﺷﺪ. ﺳﺮآﯾﻨﺪ ﭘﺎﺳ ﻧﯿﺰ ﻣ ﺑﺎﯾﺴﺖ دارای اﺳﺘﺎﻧﺪاردﻫﺎ و‬

‫ﻗﻮاﻋﺪ ﺧﺎﺻ ﻣ ﺑﻮد ﮐﻪ رﻋﺎﯾﺖ و اﯾﺠﺎد ﺗﻤﺎﻣ آﻧﻬﺎ ﺗﻮﺳﻂ ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺲ، ﮐﺎر را ﺑﺴﯿﺎر دﺷﻮار‬

                                                                         ‫ﻣ ﮐﺮد.‬

‫ﻧﮑﺘﻪ ﺑﺴﯿﺎر ﻣﻬﻢ دﯾ ﺮی ﮐﻪ در وب ﻣﻄﺮح ﺑﻮد، ﺣﺠﻢ زﯾﺎد ﺧﺮوﺟ ﺑﻪ ﻧﺴﺒﺖ ﮐﺪ ﺑﻮد. اﮐﺜﺮ‬

‫ﺑﺮﻧﺎﻣﻪﻫﺎی ﺗﺤﺖ وب ﺑﯿﺶ از ٠٩% ﺣﺠﻢ ﮐﺪ ﺧﻮد را ﺑﻪ اﯾﺠﺎد ﺧﺮوﺟ ﻫﺎی ﻻزم اﺧﺘﺼﺎص‬



                                          ‫62‬
‫ﻣ دﻫﻨﺪ و ﺗﻨﻬﺎ ٠١% ﺑﺮای ﭘﺮدازش دادهﻫﺎ و ﻣﻨﻄﻖ ﺑﺮﻧﺎﻣﻪ ﺻﺮف ﻣ ﺷﻮد، و اﻣ ﺎﻧﺎت‬

                   ‫ﺧﺮوﺟ دادن زﺑﺎنﻫﺎﯾﯽ ﻣﺎﻧﻨﺪ ‪ C‬ﺑﺴﯿﺎر ﻣﺤﺪود و دﺷﻮار ﺑﻮد )‪.(printf‬‬

‫‪ CGI‬از ﺳﺎل ۵٩٩١ ﻣﻮﺟﻮد ﺑﻮد وﻟ از ﺳﺎل ٨٩٩١ زﺑﺎنﻫﺎی ﺟﺪﯾﺪی ﺑﺎ ﺗﻤﺮﮐﺰ ﺑﺮ روی‬

‫ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺴ وب ﺑﻪ ﻣﯿﺎن آﻣﺪﻧﺪ. ‪ ASP‬ﻣﺎﯾ ﺮوﺳﺎﻓﺖ از ﻗﺪﯾﻤ ﺗﺮﯾﻦ آﻧﻬﺎﺳﺖ. وﯾﮋﮔ ﺑﺎرز اﯾﻦ‬

‫زﺑﺎنﻫﺎ در اﯾﻦ اﺳﺖ ﮐﻪ ﺧﻮد ﺳﺮآﯾﻨﺪ و ﺑﺪﻧﻪ درﺧﻮاﺳﺖ ‪ HTTP‬را ﭘﺮدازش ﮐﺮده، در ﻗﺎﻟﺐﻫﺎی‬

‫ﺑﺴﯿﺎر ﺳﺎده ﺑﻪ ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺲ ﺗﺤﻮﯾﻞ ﻣ دﻫﻨﺪ. ﻫﻤﭽﻨﯿﻦ ﺳﺮآﯾﻨﺪﻫﺎی ﭘﺎﺳ را ﺑﻪ ﺳﺎدﮔ ﺑﺮ‬

‫اﺳﺎس ﺧﺮوﺟ ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺲ ﺑﻪ ﺻﻮرت ﺧﻮدﮐﺎر اﯾﺠﺎد و ارﺳﺎل ﻣ ﻧﻤﺎﯾﻨﺪ. ﻫﻤﭽﻨﯿﻦ اﯾﻦ زﺑﺎن-‬

‫ﻫﺎ اﮐﺜﺮا اﻣ ﺎن ﺗﻮﺳﻌﻪ ﺑﺮﻧﺎﻣﻪ ﺳﺮﯾﻊ )‪ (RAD‬را دارا ﻫﺴﺘﻨﺪ ﺗﺎ ﺑﻪ ﺳﺎدﮔ و ﺳﺮﻋﺖ ﺑﺘﻮان‬

                                                   ‫ﺻﻔﺤﺎت وب ﭘﻮﯾﺎ را ﺑﺎ آﻧﻬﺎ اﯾﺠﺎد ﻧﻤﻮد.‬

                                   ‫زﺑﺎنﻫﺎی ﻣﻄﺮح ﺳﻤﺖ ﺳﺮور ﺑﻪ ﺷﺮح زﯾﺮ ﻫﺴﺘﻨﺪ:‬

                                                              ‫١٬٧٬٤٬٢ ‪PHP‬‬
‫ﭘﯽ اچ ﭘﯽ، ﺑﻪ ﻋﻨﻮان ﻣﻌﺮوﻓﺘﺮﯾﻦ و ﭘﺮ اﺳﺘﻔﺎدهﺗﺮﯾﻦ زﺑﺎن ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺴ ﺗﺤﺖ وب، در ﺣﺎل‬

‫ﺣﺎﺿﺮ ﺑﯿﺶ از ۵٧ درﺻﺪ ﮐﻞ ﺳﺎﯾﺖﻫﺎی ﭘﻮﯾﺎی اﯾﻨﺘﺮﻧﺖ را از آن ﺧﻮد ﮐﺮده اﺳﺖ. ﭘﯽ اچ ﭘﯽ‬

                                               ‫زﺑﺎﻧ ﺑﺴﯿﺎر ﻗﺪرﺗﻤﻨﺪ، ﺳﺮﯾﻊ و ﺳﺎده اﺳﺖ.‬




                          ‫ﺷ‪‬ﻞ ٧١ ﻧﻤﺎﯾﻪ ﺳﺎده و ﻣﺤﺒﻮب ‪PHP‬‬




                                          ‫72‬
‫ﻣﺘﻐﯿﺮﻫﺎ ﺑﻪ ﺻﻮرت آزاد، ﺑﺎﻋﺚ ﻣ ﺷﻮد ﺑﺮﻧﺎﻣﻪﺲﯾﻮﻧ ‪ 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‬
‫ﻣﺘﺎﺳﻔﺎﻧﻪ اﮐﺜﺮ اﯾﻦ ﭼﻬﺎرﭼﻮبﻫﺎ ، ﺗﻮﺳﻂ ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺴﺎن ﻣﻌﻤﻮﻟ و ﻣﺘﻦﺑﺎز ﻃﺮاﺣ ﺷﺪهاﻧﺪ و‬

                     ‫اﯾﻦ اﻣﺮ ﻣﻨﺠﺮ ﺑﻪ ﻋﺪم رﻋﺎﯾﺖ اﺻﻮل اﻣﻨﯿﺘ در اﮐﺜﺮ آﻧﻬﺎ ﮔﺮدﯾﺪه اﺳﺖ.‬

                                                           ‫٢٬٧٬٤٬٢ ‪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‬
‫‪ ASP.NET‬ﺧﻮد ﺑﺮ روی ‪ .NET Framework‬ﺑﻨﺎ ﺷﺪه ﮐﻪ ﻣﺠﻤﻮﻋﻪ ﮐﺎﻣﻞ و ﺑﯽ ﻧﻘﺼ‬

‫از ﮐﺘﺎﺑﺨﺎﻧﻪﻫﺎ، ﺗﻮاﺑﻊ و ﮐﻼسﻫﺎی ﻻزم ﺑﺮای ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺴﯿﺴﺖ و ﺟﺎﯾ ﺰﯾﻦ ﭼﻬﺎرﭼﻮبﻫﺎی ﻣﺘﻦ‬

                                                      ‫ﺑﺎز اﺳﺘﻔﺎده ﺷﺪه در ‪ PHP‬ﻣ ﺑﺎﺷﺪ.‬

‫از آﻧﺠﺎﯾﯽ ﮐﻪ اﯾﻦ ﺗﮑﻨﻮﻟﻮژیﻫﺎ در اﯾﺮان راﯾ ﺎن ﻫﺴﺘﻨﺪ، و ﮐﺎر ﺑﺎ آﻧﻬﺎ ﺑﺮای ﻣﺒﺘﺪﯾﺎن ﺑﺴﯿﺎر‬

                          ‫ﺳﺎده اﺳﺖ، ﺑﯿﺸﺘﺮ ﺑﺎزار وب اﯾﺮان را اﯾﻦ ﺗﮑﻨﻮﻟﻮژی ﭘﺮ ﮐﺮده اﺳﺖ.‬

                                                       ‫٣٬٧٬٤٬٢ )‪Java (JSP‬‬
                     ‫ﺟﺎوا ﻫﻢ ﭘﺲ از ﭼﻨﺪی، ﺧﻮد را ﺑﻪ زﺑﺎنﻫﺎی ﺗﺤﺖ وب اﻓﺰود. ‪JSP‬‬

                     ‫ﯾﺎ ‪ Java Server Pages‬ﺗﮑﻨﻮﻟﻮژیای ﻣﺸﺎﺑﻪ ‪ CGI‬اﺳﺖ ﮐﻪ از زﺑﺎن‬

                     ‫ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺴ ﺟﺎوا اﺳﺘﻔﺎده ﻣ ﻧﻤﺎﯾﺪ. ﭘﯿﺪاﯾﺶ اﯾﻦ ﺗﮑﻨﻮﻟﻮژی ﺑﻪ دﻟﯿﻞ‬

                     ‫ﻣﺘﻌﺪد ﺑﻮدن ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺴﺎن ﺟﺎوا و ﭘﺎﯾﺪاری ﺑﺴﯿﺎر ﺑﺎﻻی آﻧﻬﺎ ﺑﻪ اﯾﻦ زﺑﺎن‬

                                                        ‫ﻗﺪﯾﻤ و ﻧﺎﺳﺮﯾﻊ داﻧﺴﺘﻪ ﻣ ﺷﻮد.‬
 ‫ﺷ‪‬ﻞ ٩١ ﻧﻤﺎﯾﻪ ﺟﺎوا‬




‫‪ JSP‬ﻣﻌﻤﻮﻻ ﺑﺮ روی ‪ Apache Tomcat‬ﺳﺮوﯾﺲ دﻫ ﻣ ﺷﻮد، ﺑﺴﯿﺎر ﮐﻨﺪ اﺳﺖ و ﻣﺸ ﻞ‬

‫اﺻﻠ آن ﻋﺪم اﻣ ﺎن ﺧﺮوﺟ دادن وﺳﯿﻊ اﺳﺖ، ﮐﻪ ﺑﺎﻋﺚ ﺷﺪه ﻣﻌﻤﺎری وبﻫﺎی ﺟﺎوا ﺑﺎ‬

                                              ‫‪ ASP‬و ‪ PHP‬ﺗﻔﺎوت ﻋﻤﺪهای داﺷﺘﻪ ﺑﺎﺷﺪ.‬

                                                      ‫٤٬٧٬٤٬٢ ‪ColdFusion‬‬
 ‫‪ ColdFusion‬ﺗﮑﻨﻮﻟﻮژی وب اﻧﺤﺼﺎری ‪ Adobe‬اﺳﺖ. وﯾﮋﮔ ﻫﺎی ﺧﻮب و ﻗﺎﺑﻞ ﺗﻮﺟﻬ‬

                                                       ‫در اﯾﻦ زﺑﺎن ﮔﻨﺠﺎﻧﯿﺪه ﺷﺪه اﺳﺖ.‬




                                           ‫03‬
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)

Mais conteúdo relacionado

Semelhante a Secure Web Application Development Framework (Persian)

آموزش تعمیرات موبایل pdf
آموزش تعمیرات موبایل pdfآموزش تعمیرات موبایل pdf
آموزش تعمیرات موبایل pdffannisazanedu
 
تفاوت پایه ای شبکه های وایرلس
تفاوت پایه ای شبکه های وایرلستفاوت پایه ای شبکه های وایرلس
تفاوت پایه ای شبکه های وایرلسarichoana
 
امتحان دی ماه وب مقدماتی
امتحان دی ماه وب مقدماتیامتحان دی ماه وب مقدماتی
امتحان دی ماه وب مقدماتیsomayeh daneshparvar
 
Islam aur jadeed maashi nazaryat (iqbalkalmati.blogspot.com)
Islam aur jadeed maashi nazaryat (iqbalkalmati.blogspot.com)Islam aur jadeed maashi nazaryat (iqbalkalmati.blogspot.com)
Islam aur jadeed maashi nazaryat (iqbalkalmati.blogspot.com)Muhammad Nabeel Musharraf
 
Pdn tech-classifier-ip tables-tng-ver2.1.0
Pdn tech-classifier-ip tables-tng-ver2.1.0Pdn tech-classifier-ip tables-tng-ver2.1.0
Pdn tech-classifier-ip tables-tng-ver2.1.0pdnsoftco
 
مبانی رایانه دی 94
مبانی رایانه دی 94مبانی رایانه دی 94
مبانی رایانه دی 94pani ansari
 
سامانه دبیرخانه
سامانه دبیرخانهسامانه دبیرخانه
سامانه دبیرخانهAmir Deljouyi
 
Moodlebignner guide arabic
Moodlebignner guide arabicMoodlebignner guide arabic
Moodlebignner guide arabicTahrir Rajab
 
multiple input & multiple output
multiple input & multiple outputmultiple input & multiple output
multiple input & multiple outputReza Afshar najafi
 
Rahnamaye shabake majazi
Rahnamaye shabake majaziRahnamaye shabake majazi
Rahnamaye shabake majaziMajid Hematian
 
Structures concrete
Structures concreteStructures concrete
Structures concreteze baran
 
گزارشی از بازاریابی الکترونیکی شرکت اوبر- رشته تحصیلی مربوط به پروژه: مدیریت ...
گزارشی از بازاریابی الکترونیکی شرکت اوبر- رشته تحصیلی مربوط به پروژه: مدیریت ...گزارشی از بازاریابی الکترونیکی شرکت اوبر- رشته تحصیلی مربوط به پروژه: مدیریت ...
گزارشی از بازاریابی الکترونیکی شرکت اوبر- رشته تحصیلی مربوط به پروژه: مدیریت ...پروژه مارکت
 
Cisco ucs blade servers in persian
Cisco ucs blade servers in persianCisco ucs blade servers in persian
Cisco ucs blade servers in persianFarid Nasiri
 
آمر انکشاف سیستم های معلوماتی.pdf
آمر انکشاف سیستم های معلوماتی.pdfآمر انکشاف سیستم های معلوماتی.pdf
آمر انکشاف سیستم های معلوماتی.pdfAnderiaFer
 

Semelhante a Secure Web Application Development Framework (Persian) (20)

آموزش تعمیرات موبایل pdf
آموزش تعمیرات موبایل pdfآموزش تعمیرات موبایل pdf
آموزش تعمیرات موبایل pdf
 
ccna data center in farsi
ccna data center in farsiccna data center in farsi
ccna data center in farsi
 
تفاوت پایه ای شبکه های وایرلس
تفاوت پایه ای شبکه های وایرلستفاوت پایه ای شبکه های وایرلس
تفاوت پایه ای شبکه های وایرلس
 
امتحان دی ماه وب مقدماتی
امتحان دی ماه وب مقدماتیامتحان دی ماه وب مقدماتی
امتحان دی ماه وب مقدماتی
 
تی شارک
تی شارکتی شارک
تی شارک
 
Islam aur jadeed maashi nazaryat (iqbalkalmati.blogspot.com)
Islam aur jadeed maashi nazaryat (iqbalkalmati.blogspot.com)Islam aur jadeed maashi nazaryat (iqbalkalmati.blogspot.com)
Islam aur jadeed maashi nazaryat (iqbalkalmati.blogspot.com)
 
Pdn tech-classifier-ip tables-tng-ver2.1.0
Pdn tech-classifier-ip tables-tng-ver2.1.0Pdn tech-classifier-ip tables-tng-ver2.1.0
Pdn tech-classifier-ip tables-tng-ver2.1.0
 
مبانی رایانه دی 94
مبانی رایانه دی 94مبانی رایانه دی 94
مبانی رایانه دی 94
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
 
سامانه دبیرخانه
سامانه دبیرخانهسامانه دبیرخانه
سامانه دبیرخانه
 
Panorama2
Panorama2Panorama2
Panorama2
 
Moodlebignner guide arabic
Moodlebignner guide arabicMoodlebignner guide arabic
Moodlebignner guide arabic
 
Moodlebignner guide arabic
Moodlebignner guide arabicMoodlebignner guide arabic
Moodlebignner guide arabic
 
multiple input & multiple output
multiple input & multiple outputmultiple input & multiple output
multiple input & multiple output
 
Rahnamaye shabake majazi
Rahnamaye shabake majaziRahnamaye shabake majazi
Rahnamaye shabake majazi
 
Structures concrete
Structures concreteStructures concrete
Structures concrete
 
گزارشی از بازاریابی الکترونیکی شرکت اوبر- رشته تحصیلی مربوط به پروژه: مدیریت ...
گزارشی از بازاریابی الکترونیکی شرکت اوبر- رشته تحصیلی مربوط به پروژه: مدیریت ...گزارشی از بازاریابی الکترونیکی شرکت اوبر- رشته تحصیلی مربوط به پروژه: مدیریت ...
گزارشی از بازاریابی الکترونیکی شرکت اوبر- رشته تحصیلی مربوط به پروژه: مدیریت ...
 
AD In MCITP 2008.197
AD In MCITP 2008.197AD In MCITP 2008.197
AD In MCITP 2008.197
 
Cisco ucs blade servers in persian
Cisco ucs blade servers in persianCisco ucs blade servers in persian
Cisco ucs blade servers in persian
 
آمر انکشاف سیستم های معلوماتی.pdf
آمر انکشاف سیستم های معلوماتی.pdfآمر انکشاف سیستم های معلوماتی.pdf
آمر انکشاف سیستم های معلوماتی.pdf
 

Secure Web Application Development Framework (Persian)

  • 1. ‫داﻧﺸ ﺎه ﺷﻬﯿﺪ ﺑﻬﺸﺘ‬ ‫داﻧﺸ ﺪه ﻣﻬﻨﺪﺳ ﺑﺮق و ﮐﺎﻣﭙﯿﻮﺗﺮ‬ ‫ﭘﺮوژهی ﮐﺎرﺷﻨﺎﺳ‬ ‫ﻣﻬﻨﺪﺳ ﮐﺎﻣﭙﯿﻮﺗﺮ ﮔﺮاﯾﺶ ﻧﺮم اﻓﺰار‬ ‫ﻣﻮﺿﻮع ﭘﺮوژه:‬ ‫ﭼﻬﺎرﭼﻮب ﺗﻮﺳﻌﻪ وب اﻣﻦ‬ ‫اﺳﺘﺎد راﻫﻨﻤﺎ:‬ ‫ﺟﻨﺎب آﻗﺎی دﮐﺘﺮ ذاﮐﺮاﻟﺤﺴﯿﻨ‬ ‫ﮔﺮدآوردﻧﺪه:‬ ‫ﻋﺒﺎس ﻧﺎدری اﻓﻮﺷﺘﻪ‬ ‫‪abbas.naderi@owasp.org‬‬ ‫ﺑﻬﺎر ١٩٣١‬
  • 2. ‫ﭼ ﯿﺪه:‬ ‫وب ﺑﻪ ﻋﻨﻮان ﻣﻬﻤﺘﺮﯾﻦ ﺑﺴﺘﺮ اراﺋﻪ ﻧﺮماﻓﺰار و ﺳﺮوﯾﺲ، ﺗﺎ ﺟﺎﯾﯽ ﺟﻠﻮ رﻓﺘﻪ ﮐﻪ اﻣﺮوزه ﻣﺤﯿﻂﻫﺎی‬ ‫ﺑﺴﺘﺮ و ﭘﺮوﺗﮑﻞ ﺑﺴﯿﺎر ﺳﺎده اﺳﺖ ﮐﻪ‬ ‫ﻪﻣﺎﻧﺮﺑﺳﺎزی و ﺣﺘ ﺳﯿﺴﺘﻢﻫﺎی ﻋﺎﻣﻞ ﺗﺤﺖ وب ﻗﺮار ﮔﺮﻓﺘﻪاﻧﺪ.وب ﯾ‬ ‫ﺑﺎ اﻫﺪاف دﯾ ﺮی ﻃﺮاﺣ ﺷﺪه ﺑﻮده و ﺑﻪ ﺻﻮرت اﻧﻔﺠﺎری ﮔﺴﺘﺮش ﯾﺎﻓﺘﻪ اﺳﺖ، ﺑﻪ ﻫﻤﯿﻦ دﻟﯿﻞ ﺗﻮﻟﯿﺪ ﻧﺮم-‬ ‫اﻓﺰارﻫﺎی ﻣﺒﺘﻨ ﺑﺮ وب ﻧﯿﺎزﻣﻨﺪ ﭼﻬﺎرﭼﻮبﻫﺎی ﮔﺴﺘﺮده و ﻗﺪرﺗﻤﻨﺪی ﻫﺴﺘﻨﺪ. اﯾﻦ ﭼﻬﺎرﭼﻮبﻫﺎی ﻣﻌﻤﻮﻻ در‬ ‫اﻧﺠﻤﻦﻫﺎی ﻣﺘﻦﺑﺎز ﺷ ﻞ ﮔﺮﻓﺘﻪاﻧﺪ و ﻧﻘﺎط ﺿﻌﻒ اﻣﻨﯿﺘ دارﻧﺪ. در اﯾﻦ ﺳﻨﺪ ﭼﻬﺎرﭼﻮب ﺗﻮﺳﻌﻪ وب اﻣﻦ، ﺑﺎ‬ ‫اﺗﮑﺎ ﺑﻪ دو ﭼﻬﺎرﭼﻮب ﺗﻮﻟﯿﺪ ﺷﺪه ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﻣﻨﯿﺖ وب ﻣﻄﺮح ﺷﺪهاﻧﺪ. اﺑﺘﺪا ﻣﻔﺎﻫﯿﻢ و ﺳﺎﺧﺘﺎر وب ﺑﻪ‬ ‫ﺗﻔﺼﯿﻞ ﺑﺤﺚ ﺷﺪه ﺗﺎ ﺧﻮاﻧﻨﺪه ﺑﺘﻮاﻧﺪ ﻧﯿﺎز و ﭘﺎﺳ را ﺑﻪ ﺧﻮﺑﯽ درک ﮐﻨﺪ. ﺳﭙﺲ ﻣﺨﺎﻃﺮات ﻣﻮﺟﻮد در اﻣﻨﯿﺖ‬ ‫وب ﻣﻄﺮح و ﺑﺮرﺳ ﺷﺪهاﻧﺪ و در ﺑﺨﺶ اﻧﺘﻬﺎﯾﯽ راﻫ ﺎرﻫﺎی ﻣﻘﺎﺑﻠﻪ ﺑﺎ اﯾﻦ ﻣﺨﺎﻃﺮات اراﺋﻪ ﺷﺪهاﻧﺪ.‬ ‫ﻣﻔﺎﻫﯿﻤ ﻣﺎﻧﻨﺪ ﻣﻌﻤﺎری وب، ﭘﺮوﺗﮑﻞﻫﺎی ﻣﺠﻮد در وب، ﺗﮑﻨﻮﻟﻮژیﻫﺎی ﻣﻮرد اﺳﺘﻔﺎده در وب،‬ ‫ﮐﺎوﺷ ﺮﻫﺎی وب، اﻣﻨﯿﺖ ﻋﻤﻮﻣ وب، اﻣﻨﯿﺖ ﻧﺮماﻓﺰار، ‪ ،MVC‬ﭼﻬﺎرﭼﻮبﻫﺎی ﺗﻮﺳﻌﻪ وب و ﻧﯿﺎزﻣﻨﺪیﻫﺎی‬ ‫آﻧﺎن، ﻣﻌﻀﻼت ﻣﺨﺘﻠﻒ وب، ﺗﻌﺎرﯾﻒ اﻣﻨﯿﺖ اﻃﻼﻋﺎت، راﻫ ﺎرﻫﺎی ﺗﻔﺼﯿﻠ و ﻓﻨ ﻣﻘﺎﺑﻠﻪ ﺑﺎ ﻣﻌﻀﻼت اﻣﻨﯿﺘ‬ ‫و دﯾﺪﮔﺎه درﺳﺖ ﺑﻪ اﻣﻨﯿﺖ وب، ﺑﺮﺧ از ﻣﻄﺎﻟﺐ ﭘﻮﺷﺶ داده ﺷﺪه در اﯾﻦ ﺳﻨﺪ ﻣ ﺪﻨﺷﺎﺑ.‬ ‫ﮐﻠﻤﺎت ﮐﻠﯿﺪی: وب، اﻣﻨﯿﺖ، اﻣﻨﯿﺖ ﻧﺮماﻓﺰار، ﭼﻬﺎرﭼﻮب، ﻧﻔﻮذﮔﺮی، ﺗﻮﺳﻌﻪ ﻧﺮماﻓﺰار، ﻣﻬﻨﺪﺳ ﻧﺮماﻓﺰار‬
  • 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. ٢٩............................................................................. 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.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. ‫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. ٨٩...........................................‫ﭼﻬﺎرﭼﻮﺑﻬﺎی ﺗﺠﺎری ﭘﺮﮐﺎرﺑﺮد‬ ٢٬۶٬٣ ٨٩.................................................................... 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. ‫‪٩٦............................................................ 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. ‫‪١٠٧....................................................... Confidentiality‬‬ ‫1.1.3‬ ‫‪١٠٧................................................................. Integrity‬‬ ‫٢٬١٬٣‬ ‫‪١٠٨............................................................ Availability‬‬ ‫3.1.3‬ ‫ﻣﻌﻀﻼت ﻣﺸﻬﻮر اﻣﻨﯿﺖ وب ............................................٩٠١‬ ‫٢٬٣‬ ‫‪١٠٩........................................................ SQL Injection‬‬ ‫1.2.3‬ ‫ﺗﺰرﯾﻖ درﺧﻮاﺳﺖ ﮐﻮر .......................................................٠١١‬ ‫١٬١٬٢٬٣‬ ‫ﺗﺰرﯾﻖ ﻋﺎدی ..................................................................١١١‬ ‫٢٬١٬٢٬٣‬ ‫‪١١٢.................................... Union Bypassing‬‬ ‫١٬٢٬١٬٢٬٣‬ ‫رﺧﻨﻪ ﻪﺑ ﺳﯿﻢﺘﺴ ..........................................٤١١‬ ‫٢٬٢٬١٬٢٬٣‬ ‫ﺗﺰرﯾﻘﺎت دﯾ ﺮ .............................................................٥١١‬ ‫٢٬٢٬٣‬ ‫ﺗﺰرﯾﻖ ﻪﺑ ﮐﻨﺴﻮل ............................................................٦١١‬ ‫١٬٢٬٢٬٣‬ ‫ﺗﺰرﯾﻖ ﺪﮐ ......................................................................٦١١‬ ‫٢٬٢٬٢٬٣‬ ‫ﺗﺰرﯾﻘﺎت دﯾ ﺮ .................................................................٧١١‬ ‫٣٬٢٬٢٬٣‬ ‫اﺳ ﺮﯾﻮﻨﭙﯾﺴ ﺑﯿﻦ ﺎﺳﯾﺘ ..............................................٧١١‬ ‫٣٬٢٬٣‬ ‫‪ XSS‬ذﺧﯿﺮه ﺷﺪه ...........................................................٩١١‬ ‫١٬٣٬٢٬٣‬ ‫‪ XSS‬ﺲﮑﻌﻨﻣ ﺷﺪه .........................................................٩١١‬ ‫٢٬٣٬٢٬٣‬ ‫اﻧﻀﻤﺎم ﺎﻓﯾﻞ ﻣﺨﺮب .....................................................١٢١‬ ‫۴٬٢٬٣‬ ‫اﻧﻀﻤﺎم ﺎﻓﯾﻞ از دور..........................................................٢٢١‬ ‫١٬۴٬٢٬٣‬ ‫اﻧﻀﻤﺎم ﺎﻓﯾﻞ ﻠﺤﻣ ..........................................................٣٢١‬ ‫٢٬۴٬٢٬٣‬
  • 10. ‫ارﺟﺎع ﻘﺘﺴﻣﯿﻢ ﻦﺌﻤﻄﻣﺎﻧ ﻪﺑ ﻣﺤﺘﻮا ..................................٣٢١‬ ‫۵٬٢٬٣‬ ‫ﻞﻌﺟ درﺧﻮاﺳﺖ ﺑﯿﻦ ﺎﺳﯾﺘ ...........................................٥٢١‬ ‫۶٬٢٬٣‬ ‫ﻒﻌﺿ اﺣﺮاز ﻮﻫﯾﺖ و ﺪﻣﯾﺮﯾﺖ ﺖﺴﺸﻧ ...............................٧٢١‬ ‫٧٬٢٬٣‬ ‫ﻈﻨﺗﯿﻤﺎت ﺤﺻﺎﻧﯿﺢ و ﺪﻣﯾﺮﯾﺖ ﺎﻄﺧ ..................................٨٢١‬ ‫٨٬٢٬٣‬ ‫ﻔﺨﻣﯿ ﺎری ................................................................٩٢١‬ ‫٩٬٢٬٣‬ ‫رﻣﺰﻧﮕﺎری ﻦﺌﻤﻄﻣﺎﻧ .....................................................٠٣١‬ ‫٠١٬٢٬٣‬ ‫١٬٠١٬٢٬٣ رﻣﺰﻧﮕﺎری ارﺗﺒﺎﻃﺎت .........................................................٠٣١‬ ‫٢٬٠١٬٢٬٣ رﻣﺰﻧﮕﺎری دادﻫﻬﺎ ............................................................١٣١‬ ‫رﻣﺰﻧﮕﺎری ﯾ ﻄﺮﻓﻪ )ﭼ ﯿﺪﻫ ﯿﺮی( ...................٢٣١‬ ‫١٬٢٬٠١٬٢٬٣‬ ‫رﻣﺰﻧﮕﺎری دوﻃﺮﻓﻪ........................................٢٣١‬ ‫٢٬٢٬٠١٬٢٬٣‬ ‫اﻣﻨﯿﺖ ﻃﺮف ﺮﺘﺸﻣی ...................................................٣٣١‬ ‫١١٬٢٬٣‬ ‫ﻏﯿﺮه ........................................................................٤٣١‬ ‫٢١٬٢٬٣‬ ‫ﭼﻬﺎرﭼﻮب ﻪﻌﺳﻮﺗ وب اﻣﻦ‬ ‫۴‬ ‫۵٣١‬ ‫ﭼﻬﺎرﭼﻮب ﭘﯿﺸﻨﻬﺎدی ....................................................٥٣١‬ ‫١٬٤‬ ‫وﯾﮔﮋﯿﺎﻬی ﺑﺎرز ﭼﻬﺎرﭼﻮب ﭘﯿﺸﻨﻬﺎدی ...............................٦٣١‬ ‫١٬١٬۴‬ ‫ﺪﻣﺎﻌﺗ ...........................................................................٦٣١‬ ‫١٬١٬١٬۴‬ ‫زﺑﺎن و ﺮﺘﺴﺑ ...................................................................٦٣١‬ ‫٢٬١٬١٬۴‬ ‫ﺎﭘﯾ ﺎﻫﺪاده.....................................................................٦٣١‬ ‫٣٬١٬١٬۴‬
  • 11. ‫ﺪﻣﯾﺮﯾﺖ ﮐﺎرﺑﺮان و ﺖﺴﺸﻧ.................................................٧٣١‬ ‫۴٬١٬١٬۴‬ ‫ﮐﻨﺘﺮل دﺳﺘﺮﺳ .............................................................٧٣١‬ ‫۵٬١٬١٬۴‬ ‫‪١٣٨........................................................................... SEO‬‬ ‫۶٬١٬١٬۴‬ ‫وب ﺳﺮوﯾﺲ ..................................................................٨٣١‬ ‫٧٬١٬١٬۴‬ ‫آژاﮐﺲ .........................................................................٨٣١‬ ‫٨٬١٬١٬۴‬ ‫ﺶﮐ و ﺘﺸﭘﯿﺒﺎن ..............................................................٨٣١‬ ‫٩٬١٬١٬۴‬ ‫٠١٬١٬١٬۴ ﺪﻣﯾﺮﯾﺖ ﺎﻄﺧ .................................................................٩٣١‬ ‫١١٬١٬١٬۴ ﺪﻣﯾﺮﯾﺖ زﻣﺎن.................................................................٩٣١‬ ‫٢١٬١٬١٬۴ اﻟ ﻮی ﻪﻌﺳﻮﺗ .................................................................٩٣١‬ ‫٣١٬١٬١٬۴ ﺐﻟﺎﻗ ﺪﻨﺑی ....................................................................٠٤١‬ ‫۴١٬١٬١٬۴ ﺪﻣﯾﺮﯾﺖ زﺑﺎن .................................................................٠٤١‬ ‫۵١٬١٬١٬۴ اﻓﺰوﻧﻬﻬﺎ........................................................................٠٤١‬ ‫۶١٬١٬١٬۴ ﺪﻣﯾﺮﯾﺖ داﻧﻠﻮد ...............................................................٠٤١‬ ‫٧١٬١٬١٬۴ ﺖﺴﺗ ...........................................................................١٤١‬ ‫٨١٬١٬١٬٤ ﺗﻮﮐﺎر ............................................................................١٤١‬ ‫ﻟﯿﺲﻧﺎﺴ و دﺳﺘﺮﺳ ﭼﻬﺎرﭼﻮب ......................................١٤١‬ ‫٢٬١٬۴‬ ‫راﻫ ﺎرﻫﺎی اﻣﻨﯿﺘ ﭼﻬﺎرﭼﻮب ..........................................٣٤١‬ ‫٢٬٤‬ ‫‪١٤٣........................................................ SQL Injection‬‬ ‫1.2.4‬ ‫‪١٤٣.................................................................... Escaping‬‬ ‫١٬١٬٢٬۴‬
  • 12. ‫دﺳﺘﻮرات ﻬﻣﯿﺎ ﺷﺪه )‪١٤٤...................... (Prepared Statement‬‬ ‫٢٬١٬٢٬۴‬ ‫ﺑﺮرﺳ ورودی ................................................................٧٤١‬ ‫٣٬١٬٢٬۴‬ ‫ﻟﯿﺖﺴ ﺳﯿﺎه ................................................٧٤١‬ ‫١٬٣٬١٬٢٬۴‬ ‫ﻟﯿﺖﺴ ﻔﺳﯿﺪ ...............................................٧٤١‬ ‫٢٬٣٬١٬٢٬۴‬ ‫ﺗﺰرﯾﻘﺎت دﯾ ﺮ .............................................................٨٤١‬ ‫٢٬٢٬۴‬ ‫ﺗﺰرﯾﻖ ﻪﺑ ﮐﻨﺴﻮل ............................................................٨٤١‬ ‫١٬٢٬٢٬۴‬ ‫ﺗﺰرﯾﻖ ﺪﮐ ......................................................................٨٤١‬ ‫٢٬٢٬٢٬۴‬ ‫ﺗﺰرﯾﻘﺎت دﯾ ﺮ .................................................................٨٤١‬ ‫٣٬٢٬٢٬۴‬ ‫اﺳ ﺮﯾﻮﻨﭙﯾﺴ ﺑﯿﻦ ﺎﺳﯾﺘ ..............................................٩٤١‬ ‫٣٬٢٬۴‬ ‫ﻧﯿﺎزی ﻪﺑ ﺐﺴﭼﺮﺑ ﻧﯿﺖﺴ ...................................................٩٤١‬ ‫١٬٣٬٢٬۴‬ ‫ﺐﺴﭼﺮﺑ ﻻزم اﺳﺖ ..........................................................٠٥١‬ ‫٢٬٣٬٢٬۴‬ ‫اﻧﻀﻤﺎم ﺎﻓﯾﻞ ﻣﺨﺮب .....................................................١٥١‬ ‫۴٬٢٬۴‬ ‫ارﺟﺎع ﻘﺘﺴﻣﯿﻢ ﻦﺌﻤﻄﻣﺎﻧ ﻪﺑ ﻣﺤﺘﻮا ..................................٢٥١‬ ‫۵٬٢٬۴‬ ‫ﻞﻌﺟ درﺧﻮاﺳﺖ ﺑﯿﻦ ﺎﺳﯾﺘ ...........................................٢٥١‬ ‫۶٬٢٬۴‬ ‫ﻪﻔﻟﻮﻣ ﯾ ﺘﺎ .....................................................................٢٥١‬ ‫١٬۶٬٢٬۴‬ ‫‪١٥٣................................................................ CAPTCHA‬‬ ‫2.6.2.4‬ ‫ﻒﻌﺿ اﺣﺮاز ﻮﻫﯾﺖ و ﺪﻣﯾﺮﯾﺖ ﺖﺴﺸﻧ ...............................٤٥١‬ ‫٧٬٢٬۴‬ ‫ﻣﺮا ﻪﺑ ﺮﻃﺎﺧ ﺑﺴﭙﺎر ..........................................................٤٥١‬ ‫١٬٧٬٢٬۴‬ ‫ﻘﺗﯿﺪ ﺖﺴﺸﻧ ..................................................................٤٥١‬ ‫٢٬٧٬٢٬۴‬
  • 13. ‫‪١٥٥.............................................. IP Binding‬‬ ‫1.2.7.2.4‬ ‫ﺎﻬﻬﻔﻟﻮﻣی ﮐﺎوﺷ ﺮ .......................................٥٥١‬ ‫٢٬٢٬٧٬٢٬۴‬ ‫زﻣﺎن ﺖﺴﺸﻧ .................................................................٥٥١‬ ‫٣٬٧٬٢٬۴‬ ‫ﻈﻨﺗﯿﻤﺎت ﺤﺻﺎﻧﯿﺢ و ﺪﻣﯾﺮﯾﺖ ﺎﻄﺧ ..................................٦٥١‬ ‫٨٬٢٬۴‬ ‫ﺤﻣﯿﻂ اﺟﺮاﯽﯾ ................................................................٦٥١‬ ‫١٬٨٬٢٬۴‬ ‫دﺳﺘﺮﺳ اﺟﺮا ................................................................٧٥١‬ ‫٢٬٨٬٢٬۴‬ ‫ﻔﺨﻣﯿ ﺎری ................................................................٨٥١‬ ‫٩٬٢٬۴‬ ‫رﻣﺰﻧﮕﺎری ﻦﺌﻤﻄﻣﺎﻧ .....................................................٨٥١‬ ‫٠١٬٢٬۴‬ ‫١٬٠١٬٢٬۴ رﻣﺰﻧﮕﺎری ارﺗﺒﺎﻃﺎت .........................................................٨٥١‬ ‫زﯾﺖﺧﺎﺳﺮ ﻠﮐﯿﺪ ﻣﻮﻤﻋ .................................٠٦١‬ ‫١٬١٬٠١٬٢٬۴‬ ‫٢٬٠١٬٢٬۴ رﻣﺰﻧﮕﺎری دادﻫﻬﺎ ............................................................١٦١‬ ‫رﻣﺰﻧﮕﺎری ﯾ ﻄﺮﻓﻪ )ﭼ ﯿﺪﻫ ﯿﺮی( ...................١٦١‬ ‫١٬٢٬٠١٬٢٬۴‬ ‫رﻣﺰﻧﮕﺎری دوﻃﺮﻓﻪ........................................٣٦١‬ ‫٢٬٢٬٠١٬٢٬۴‬ ‫اﻣﻨﯿﺖ ﻃﺮف ﺮﺘﺸﻣی ...................................................٤٦١‬ ‫١١٬٢٬۴‬ ‫ﻏﯿﺮه ........................................................................٤٦١‬ ‫٢١٬٢٬۴‬ ‫ﺘﻧﯿﻪﺠ ﮔﯿﺮی: ...............................................................٦٦١‬ ‫٥‬ ‫واژﻫﻨﺎﻣﻪ .....................................................................٧٦١‬ ‫٦‬ ‫ﺖﺳﺮﻬﻓ ﻊﺑﺎﻨﻣ)ﻓﺎرﺳ (...................................................٢٧١‬ ‫7‬ ‫ﺖﺳﺮﻬﻓ ﻊﺑﺎﻨﻣ )اﻧﮕﻠﯿﺴ ( ...............................................٣٧١‬ ‫٨‬
  • 15. ‫ﻣﻘﺪﻣﻪ:‬ ‫١‬ ‫وب، ﺑﻪ ﻋﻨﻮان ﺑﺴﺘﺮ اراﺋﻪ ﺧﺪﻣﺎت در ﭼﻨﺪﯾﻦ ﺳﺎل اﺧﯿﺮ ﺑﻪ ﻣﻬﻤﺘﺮﯾﻦ رﺳﺎﻧﻪ ﺗﺒﺪﯾﻞ ﺷﺪه-‬ ‫ﺗﺎ ﺳﺎزﻣﺎن ﻫﺎی ﺑﺰرگ دوﻟﺘ ﺧﺪﻣﺎت ﻣﺘﻨﻮع ﺧﻮد را ﺑﺮ‬ ‫اﺳﺖ. از ﺷﺮﮐﺘﻬﺎی ﺧﺼﻮﺻ ﮐﻮﭼ‬ ‫روی ﺑﺴﺘﺮ وب اراﺋﻪ ﻣ دﻫﻨﺪ.‬ ‫از ﺳﺎل ٠٩٩١ ﮐﻪ وب ﮔﺴﺘﺮده ﺟﻬﺎﻧ )‪ (World Wide Web‬ﺗﻮﺳﻂ ﺗﯿﻢ ﺑﺮﻧﺮز ﻟ اﺧﺘﺮاع‬ ‫از ﺳﺎﮐﻨﯿﻦ ﮐﺮه زﻣﯿﻦ ﻧﺎﺷﻨﺎﺧﺘﻪ ﻧﯿﺴﺖ، ﮐﻤﺘﺮ از ۵٢ ﺳﺎل‬ ‫ﺷﺪ، ﺗﺎ اﻻن ﮐﻪ وب ﺑﺮای ﻫﯿﭽﯿ‬ ‫ﻣ ﮔﺬرد.‬ ‫ﺷ‪‬ﻞ ١ﻧﻤﺎﯾﻪ ﻣﻌﻤﻮﻟ‪ ‬ﮐﻪ ﺑﺮای ﻧﺸﺎن دادن وب ﺑﻪ ﮐﺎر ﻣ‪‬رود‬ ‫وب ﺗﮑﻨﻮﻟﻮژی ﻧﺴﺒﺘﺎ ﺳﺎدهای اﺳﺖ وﻟ ﮐﺎرﺑﺮدﻫﺎی آن ﺑﺴﯿﺎر ﮔﺴﺘﺮش ﯾﺎﻓﺘﻪ و ﭘﯿﭽﯿﺪﮔ‬ ‫ﻗﺎﺑﻞ ﺗﻮﺟﻬ ﯾﺎﻓﺘﻪاﻧﺪ، ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل ﺟﺎواﺳ ﺮﯾﭙﺖ در اﺑﺘﺪا ﮐﻤﺘﺮ از ٢% ﺳﯿﺴﺘﻢﻫﺎی وﺑﯽ را‬ ‫اﮐﻨﻮن ﺑﯿﺶ از ٠٧% اﮐﺜﺮ ﺳﯿﺴﺘﻢﻫﺎی ﻣﺪرن وﺑﯽ ﺑﺮ اﺳﺎس اﯾﻦ‬ ‫ﺗﺸ ﯿﻞ ﻣ داد وﻟ‬ ‫1‬
  • 16. ‫ﺗﮑﻨﻮﻟﻮژی ﺧﺎص ﻫﺴﺘﻨﺪ، ﺗﺎ ﺟﺎﯾﯽ ﮐﻪ ﻧﻘﻄﻪ ﻗﻮت ﮐﺎوﺷ ﺮ وب ‪ Google Chrome‬ﺑﻪ ﻋﻨﻮان‬ ‫ﺤﻣﺒﻮبﺗﺮﯾﻦ ﮐﺎوﺷ ﺮ وب ٢١٠٢ )ﭘﺲ از ﺗﻨﻬﺎ ۶ ﺳﺎل ﻓﻌﺎﻟﯿﺖ( ﻗﺪرت ﭘﺮدازش ﺳﺮﯾﻊ‬ ‫ﺟﺎواﺳ ﺮﯾﭙﺖ آن اﺳﺖ.‬ ‫اﯾﻦ ﺟﻬﺶ در اﺳﺘﻔﺎده از وب، ﻧﯿﺎز ﺑﻪ ﭼﻬﺎرﭼﻮبﻫﺎی ﺗﻮﺳﻌﻪ وب را ﻓﺮاﻫﻢ آورده اﺳﺖ، ﺗﺎ‬ ‫ﺗﮑﻨﻮﻟﻮژیﻫﺎی ﭘﯿﭽﯿﺪه ﻣﻮرد ﻧﯿﺎز ﺑﺮای ﺗﻮﺳﻌﻪ دﻫﻨﺪه وب در دﺳﺘﺮس ﺑﺎﺷﻨﺪ و ﻓﺮآﯾﻨﺪ‬ ‫ﻣﻬﻨﺪﺳ وب را ﺗﺴﻬﯿﻞ و ﻣﻤ ﻦ ﺳﺎزﻧﺪ.‬ ‫ﭼﻬﺎرﭼﻮبﻫﺎی ﺗﻮﺳﻌﻪ وب، ﻋﻼوه ﺑﺮ ﻧﻘﺶ ﻣﻬﻤﺸﺎن در ﺗﺴﻬﯿﻞ ﺗﻮﺳﻌﻪ ﺳﯿﺴﺘﻢﻫﺎی‬ ‫ﭘﯿﭽﯿﺪه، وﻇﯿﻔﻪ ﺗﺎﻣﯿﻦ اﻣﻨﯿﺖ اﺑﺘﺪاﯾﯽ )و ﮔﺎﻫﺎ ﭘﯿﺸﺮﻓﺘﻪ( ﺳﯿﺴﺘﻢﻫﺎی ﻣﺒﺘﻨ ﺑﺮ وب را اﯾﻔﺎ‬ ‫ﻣ ﺪﻨﻨﮐ.‬ ‫از ‪Software‬‬ ‫ﺣﻮزه ﻣﺘﻔﺎوﺗ‬ ‫از آﻧﺠﺎﯾﯽ ﮐﻪ ‪ Information Assurance‬ﺑﻪ ﮐﻠ‬ ‫‪ Engineering‬ﻮﺴﺤﻣب ﻣ ﺷﻮد، ﻣﻌﻤﻮﻻ ﻧﻤ ﺗﻮان اﻧﺘﻈﺎر داﺷﺖ ﮐﻪ ﺗﯿﻢﻫﺎی ﺗﻮﺳﻌﻪ وب از‬ ‫داﻧﺶ اﻣﻨﯿﺘ ﮐﺎﻓ ﺑﺮای ﺗﺎﻣﯿﻦ اﻣﻨﯿﺖ ﺳﯿﺴﺘﻢﻫﺎﯾﺸﺎن ﻧﯿﺰ ﺑﺮﺧﻮردار ﺑﺎﺷﻨﺪ. ﻋﻼوه ﺑﺮ آن،‬ ‫ﺗﻮﺳﻌﻪ دﻫﻨﺪه وب اﺳﺖ، ﻟﺬا‬ ‫ﻣﺘﺨﺼﺺ اﻣﻨﯿﺖ وب ﺑﺴﯿﺎر ﺑﯿﺸﺘﺮ از ﯾ‬ ‫دﺳﺘﻤﺰد ﻣﺘﻮﺳﻂ ﯾ‬ ‫اﯾﻦ ﮐﺎر ﺑﻪ ﺻﺮﻓﻪ اﻗﺘﺼﺎدی ﻧﯿﺰ ﻧﯿﺴﺖ.‬ ‫2‬
  • 17. ‫ﻓﺮﻌﻣﻢ ﻫﺎﻔﻣ ﯽ‬ ‫٢‬ ‫ﺷﻨﺎﺧﺖ ﭼﻬﺎرﭼﻮبﻫﺎی ﺗﻮﺳﻌﻪ وب اﻣﻦ ﻧﯿﺎزﻣﻨﺪ آﺷﻨﺎﯾﯽ ﺑﺎ ﻣﻔﺎﻫﯿﻢ و ﭘﺪﯾﺪهﻫﺎی ﺳﻄ‬ ‫ﻦﯿﯾﺎﭘﺗﺮ ﺣﻮزه ﺗﺤﺖ ﭘﻮﺷﺶ ﻫﺴﺘﻨﺪ. ﻣﻔﺎﻫﯿﻢ ﻣﻮرد ﻧﯿﺎز ﺷﺎﻣﻞ ﻣﻮارد زﯾﺮ ﻫﺴﺘﻨﺪ:‬ ‫• اﻣﻨﯿﺖ ﻧﺮم اﻓﺰار‬ ‫• وب و ‪HTTP‬‬ ‫• ﻣﻌﻤﺎری وب‬ ‫• ﺗﮑﻨﻮﻟﻮژیﻫﺎی ﻣﻮرد اﺳﺘﻔﺎده در وب‬ ‫• اﻟ ﻮﻫﺎی ﺗﻮﺳﻌﻪ ﻧﺮماﻓﺰار وب‬ ‫• ﭼﻬﺎرﭼﻮبﻫﺎی ﺗﻮﺳﻌﻪ وب‬ ‫• اﻣﻨﯿﺖ ﻋﻤﻮﻣ وب‬ ‫ﻻزم ﺑﻪ ذﮐﺮ اﺳﺖ ﮐﻪ ﻣﻮارد ﻓﻮق در اﯾﻦ ﺳﻨﺪ از دﯾﺪﮔﺎه اﻣﻨﯿﺘ ﺑﺮرﺳ ﻣ ﮔﺮدﻧﺪ، ﮐﻪ‬ ‫ﻧﯿﺎزﻣﻨﺪ ﻧﮕﺎه ﻣﻮﺷ ﺎﻓﺎﻧﻪ و ﺟﺰﺋ ﺑﻪ ﻣﻮارد ﺧﺎص اﯾﻦ ﺗﮑﻨﻮﻟﻮژیﺖﺳﺎﻫ.‬ ‫اﻣﻨﯿﺖ ﻧﺮم اﻓﺰار‬ ‫١٬٢‬ ‫اﻣﻨﯿﺖ ﺳﯿﺴﺘﻢﻫﺎی اﻃﻼﻋﺎﺗ را ﻣ ﺗﻮان ﺑﻪ ﺳﻪ دﺳﺘﻪ اﻣﻨﯿﺖ ﻧﺮم اﻓﺰار، اﻣﻨﯿﺖ ﺷﺒ ﻪ و‬ ‫اﻣﻨﯿﺖ زﯾﺮﺳﺎﺧﺖ ﺗﻘﺴﯿﻢ ﻧﻤﻮد. اﻣﻨﯿﺖ ﺷﺒ ﻪ و اﻣﻨﯿﺖ زﯾﺮﺳﺎﺧﺖ ﺗﺎ ﺣﺪ ﻗﺎﺑﻞ ﺗﻮﺟﻬ ﻗﺎﺑﻞ‬ ‫ﺶﯿﭘﺑﯿﻨ و ﻗﺎﻧﻮﻧﻤﻨﺪ اﺳﺖ، زﯾﺮا ﺧﻮد ﺷﺒ ﻪ و زﯾﺮﺳﺎﺧﺖ ﻗﺎﻧﻮﻧﻤﻨﺪ ﻫﺴﺘﻨﺪ و ﺗﻨﻮع ﺑﺴﯿﺎر‬ ‫زﯾﺎدی ﺑﺮای آن وﺟﻮد ﻧﺪارد.‬ ‫3‬
  • 18. ‫ﺷ‪‬ﻞ ٢ اﻣﻨﯿﺖ ﻧﺮماﻓﺰار ﺑﻪ ﻣﻬﻤﺘﺮﯾﻦ ﺷﻐﻞ اﻧﻔﻮرﻣﺎﺗﯿ‪ ‬ﺗﺒﺪﯾﻞ ﺷﺪه اﺳﺖ‬ ‫اﻣﻨﯿﺖ ﻧﺮماﻓﺰار، ﺑﻪ ﻣﺜﺎﺑﻪ ﺧﻮد ﻧﺮماﻓﺰار، دارای ﺗﻨﻮع ﻗﺎﺑﻞ ﺗﻮﺟﻬﯿﺴﺖ ﻟﺬا ﺗﺴﻠﻂ ﺑﺮ اﯾﻦ‬ ‫ﺣﯿﻄﻪ ﻣﻌﻤﻮﻻ ﺑﺴﯿﺎر دﺷﻮارﺗﺮ از دو ﺣﯿﻄﻪ دﯾ ﺮ اﺳﺖ. در ﺣﺎل ﺣﺎﺿﺮ ﻣﺘﺨﺼﺼﯿﻦ اﻣﻨﯿﺖ ﻧﺮم-‬ ‫اﻓﺰار ﺑﺎﻻﺗﺮﯾﻦ دﺳﺘﻤﺰد ﻓﻨﺎوری اﻃﻼﻋﺎت دﻧﯿﺎ را ﺑﻪ ﺧﻮد اﺧﺘﺼﺎص دادهاﻧﺪ. ) ‪15 Top‬‬ ‫‪Paying IT Certifications for 2012 Randy Muller, Global Knowledge‬‬ ‫‪(Instructor‬‬ ‫ﻣﻮﺳﺴﺎت ﺑﺴﯿﺎری در ﺳﻄ ﺑﯿﻦاﻟﻤﻠﻠ در اﻣﻨﯿﺖ ﻧﺮماﻓﺰار ﻓﻌﺎﻟﯿﺖ ﻣ ﮐﻨﻨﺪ. داﻧﺸ ﺎهﻫﺎی‬ ‫ﻣﺘﻌﺪدی ﻧﯿﺰ ﮐﻢ ﮐﻢ ﺑﻪ ﻓﻌﺎﻟﯿﺖ در اﯾﻦ رﺷﺘﻪ روی آوردهاﻧﺪ. در ﻣﯿﺎن اﯾﻦ ﻣﻮﺳﺴﺎت 2)‪ (ISC‬و‬ ‫‪ OWASP‬از اﻋﺘﺒﺎر ﺑﻬﺘﺮی ﺑﺮﺧﻮردار ﻫﺴﺘﻨﺪ.‬ ‫4‬
  • 19. ‫وب و ‪:HTTP‬‬ ‫٢٬٢‬ ‫وب، ﺑﻪ ﻋﻨﻮان ﺑﺴﺘﺮ اﯾﺪهآل اراﺋﻪ ﻣﺤﺘﻮا اﻣﺮوزه ﺑﻪ اﺻﻠ ﺗﺮﯾﻦ رﺳﺎﻧﻪ ﻧﺮماﻓﺰارﻫﺎ ﺗﺒﺪﯾﻞ ﺷﺪه‬ ‫اﺳﺖ. در ﺳﺎل ١٩٩١ ﮐﻪ وب ﺗﻮﺳﻂ ﺗﯿﻢ ﺑﺮﻧﺮز ﻟ اﺑﺪاع ﮔﺮدﯾﺪ، ﺗﻨﻬﺎ ﺟﻬﺖ اراﺋﻪ ﯾ ﻄﺮﻓﻪ‬ ‫ﺻﻔﺤﺎت اﯾﺴﺘﺎی ‪ HTML‬ﺑﻪ ﮐﺎرﺑﺮان اﺳﺘﻔﺎده ﻣﯿﺸﺪ.‬ ‫ﺷ‪‬ﻞ ٣ وب ﻣﻌﻤﻮﻻ ﺗﺤﺖ ﭘﺮوﺗﮑﻞ ‪ HTTP‬ﮐﺎر ﻣ‪‬ﮐﻨﺪ، وﻟ‪ ‬ﮐﺎرﺑﺮان ﺗﻮﺟﻬ‪ ‬ﺑﻪ آن ﻧﺪارﻧﺪ‬ ‫‪ HTTP‬ﭘﺮوﺗﮑﻞ اﻧﺘﻘﺎل ﺻﻔﺤﺎت و ﻣﺤﺘﻮای وب اﺳﺖ. اﯾﻦ ﭘﺮوﺗﮑﻞ ﺑﺴﯿﺎر ﺳﺎده و ﺳﺒ‬ ‫ﻃﺮاﺣ ﺷﺪه اﺳﺖ و اﻓﺰوﻧﻪ آن )ﻧﺴﺨﻪ ١٬١( اﻣ ﺎن اراﺋﻪ ﻓﺎﯾﻠﻬﺎی ﺑﺰرگ را ﻧﯿﺰ دارا ﻣ ﺑﺎﺷﺪ.‬ ‫دﻟﯿﻞ اﺻﻠ ﻣﺤﺒﻮﺑﯿﺖ وب، رﻓ ﻣﺸ ﻞ ‪ Platform Compatibility‬ﺑﻪ ﻣﻌﻨﺎی واﺑﺴﺘﮕ ﺑﻪ‬ ‫ﺳ ﻮی اﺟﺮاﺳﺖ، ﯾﻌﻨ ﮐﺎرﺑﺮان وب ﻣ ﺗﻮاﻧﻨﺪ از روی ﻣﻮﺑﺎﯾﻞ، ﺗﺒﻠﺖ، ﻟﭙﺘﺎپ و ﺣﺘ ﺳﺮور ﯾ‬ ‫ﻧﻮع ﺳﺮوﯾﺲ اﺳﺘﺎﻧﺪارد را درﯾﺎﻓﺖ ﻧﻤﺎﯾﻨﺪ.‬ ‫ﺑﺎ ﮔﺬر زﻣﺎن، اﻣ ﺎﻧﺎت ﭘﻮﯾﺎﺳﺎزی ﺻﻔﺤﺎت ﺑﻪ ‪ HTML‬اﻓﺰوده ﺷﺪ ﮐﻪ ﺑﺎ ﻧﺎم ‪Dynamic‬‬ ‫ﻧﻮع‬ ‫‪ HTML‬ﯾﺎ ‪ DHTML‬ﺷﻨﺎﺧﺘﻪ ﻣ ﺷﺪ. اﯾﻦ ﭘﻮﯾﺎﺳﺎزی ﻗﺎﻟﺒﺎ ﺗﻮﺳﻂ ‪ Javascript‬ﮐﻪ ﯾ‬ ‫ﺧﺼﻮﺻ ﺳﺎزی ﺷﺪه ‪ ECMAScript‬ﺑﻮد و ﺑﺮ روی ﻫﺮ دو ﮐﺎوﺷ ﺮ ﻣﻄﺮح آن زﻣﺎن –‬ ‫‪ Netscape Navigator‬و ‪ – Internet Explorer‬ﭘﺸﺘﯿﺒﺎﻧ ﻣ ﺷﺪ. ‪ VBScript‬ﻧﯿﺰ ﺑﻪ ﻃﻮر‬ ‫ﻣﺤﺪودﺗﺮ در ‪ Internet Explorer‬ﭘﺸﺘﯿﺒﺎﻧ ﻣ ﺷﺪ ﮐﻪ ﺑﺎ ﮔﺬر زﻣﺎن ﺣﺬف ﮔﺮدﯾﺪ.‬ ‫5‬
  • 20. ‫ﺻﻔﺤﺎت ﭘﻮﯾﺎ، ﺗﻨﻬﺎ در ﺳﻤﺖ ﻣﺸﺘﺮی ﭘﻮﯾﺎ ﺑﻮدﻧﺪ، ﺑﺪﯾﻦ ﻣﻌﻨ ﮐﻪ اﻣ ﺎن اﯾﺠﺎد اﻧﯿﻤﯿﺸﻦ و‬ ‫اﻓﮑﺖﻫﺎی ﺳﺎده ﺑﺮ روی ﮐﺎوﺷ ﺮ ﮐﺎرﺑﺮ ﻣﺮور ﮐﻨﻨﺪه وب را ﻓﺮاﻫﻢ ﻣ آوردﻧﺪ و ﺑﺮای ﺑﺮوزرﺳﺎﻧ‬ ‫ﻣﺤﺘﻮای ﺻﻔﺤﺎت، ﻣﺪﯾﺮ ﺳﺎﯾﺖ ﺑﺎﯾﺪ ﺑﻪ ﺻﻮرت دﺳﺘ ﻣﺤﺘﻮا را ﺗﻐﯿﯿﺮ ﻣ داد. اﯾﻨﮕﻮﻧﻪ وﺖﯾﺎﺴﺑ-‬ ‫ﻫﺎ ﻣﻌﻤﻮﻻ ﺑﺮای ﻣﻌﺮﻓ ﺷﺮﮐﺖﻫﺎ و ﺧﺪﻣﺎﺗﺸﺎن، ﻣﻄﺎﻟﺐ ﻋﻠﻤ و آﻣﻮزﺷ ﻣﻔﯿﺪ ﺑﻮدﻧﺪ و اﻣ ﺎن‬ ‫ﺗﻌﺎﻣﻞ ﮐﺎرﺑﺮ ﺑﺎ ﺳﯿﺴﺘﻢ وﺟﻮد ﻧﺪاﺷﺖ.‬ ‫ﭘﺲ از ﭼﻨﺪ ﺳﺎل، ﺳﺮورﻫﺎی وب اﻣ ﺎن ﭘﻮﯾﺎﺷﺪن ﺻﻔﺤﺎت را دارا ﺷﺪﻧﺪ، ﺑﺪﯾﻦ ﻣﻌﻨ ﮐﻪ‬ ‫ﺑﺮﻧﺎﻣﻪ را ﺑﺎ‬ ‫ﻓﺎﯾﻞ ﺛﺎﺑﺖ و ﻣﺸﺨﺺ ‪ HTML‬ﺑﻪ ﮐﺎرﺑﺮ، اﺑﺘﺪا ﯾ‬ ‫ﺳﺮور وب ﺑﻪ ﺟﺎی اراﺋﻪ ﯾ‬ ‫ﭘﺎراﻣﺘﺮﻫﺎی ورودی ﮐﺎرﺑﺮ اﺟﺮا ﻣ ﻧﻤﻮد و ﺳﭙﺲ ﺧﺮوﺟ آﻧﺮا در ﻗﺎﻟﺐ ‪ HTML‬ﺑﻪ ﮐﺎرﺑﺮ ﻣﻨﺘﻘﻞ‬ ‫ﻣ ﮐﺮد. اﯾﻦ روش ﺑﺎﻋﺚ اﯾﺠﺎد وﺑﺴﺎﯾﺖﻫﺎی ﭘﻮﯾﺎ ﺷﺪ ﮐﻪ اﻣ ﺎن ﺗﻌﺎﻣﻞ ﺑﺎ ﮐﺎرﺑﺮ را داﺷﺘﻨﺪ.‬ ‫از آﻧﺠﺎﯾﯽ ﮐﻪ ﺟﺰﺋﯿﺎت ﮐﺎر ﺑﺎ ﭘﺮوﺗﮑﻞ ‪ HTTP‬ﺑﺮای اﯾﻦ ﻣﻨﻈﻮر ﻻزم ﺑﻮد، و اﮐﺜﺮ ﺑﺮﻧﺎﻣﻪ-‬ ‫ﻮﻧﯾﺴﺎن اﻃﻼع ﮐﺎﻓ از آن ﻧﺪاﺷﺘﻨﺪ، زﺑﺎنﻫﺎی ﻣﺨﺼﻮص اﯾﻨﮑﺎر اﯾﺠﺎد ﺷﺪﻧﺪ. ﻣﻌﺮوﻓﺘﺮﯾﻦ اﯾﻦ‬ ‫زﺑﺎنﻫﺎ را ﻣ ﺗﻮان ‪ PHP‬و ‪ ASP‬داﻧﺴﺖ. ﺑﻪ ﻃﻮر ﮐﻠ ﺑﻪ ﺑﺮﻧﺎﻣﻪﻫﺎﯾﯽ ﮐﻪ در ﻃﺮف ﺳﺮور اﺟﺮا‬ ‫ﻣ ﺷﻮﻧﺪ و ﺧﺮوﺟ آﻧﻬﺎ ﺑﺮای ﻣﺸﺘﺮی ارﺳﺎل ﻣ ﮔﺮدد، ‪ CGI‬ﻣ ﺪﻨﯾﻮﮔ.‬ ‫،ﺎﻫﻫﺎی اﯾﻨﺘﺮﻧﺘ ﺑﻪ ﻧﺮماﻓﺰارﻫﺎی اﯾﻨﺘﺮﻧﺘ ﻣﺒﺪل‬ ‫ﺑﺎ ﺗﻌﺎﻣﻠ ﺷﺪن وﺑﺴﺎﯾﺖﺖﯾﺎ ﻼﻤ‬ ‫ﺷﺪﻧﺪ. درﯾﺎﻓﺖ ورودی از ﮐﺎرﺑﺮ، ﭘﺮدازش و ذﺧﯿﺮه آن و اراﺋﻪ ﺧﺮوﺟ ﻣﻮرد ﻧﻈﺮ ﺑﻪ ﮐﺎرﺑﺮ ﻋﻤﻼ‬ ‫ﻧﺮماﻓﺰار ﺳﺮور/ﻣﺸﺘﺮی را اﯾﺠﺎد ﻣ ﮐﺮد. ﺗﻨﻬﺎ ﻣﺸ ﻠ ﮐﻪ در اﯾﻦ ﻣﺮﺣﻠﻪ وﺟﻮد داﺷﺖ،‬ ‫ﯾ‬ ‫درﺧﻮاﺳﺖ ﮐﺎﻣﻞ ﺑﺮای درﯾﺎﻓﺖ ﻫﺮﮔﻮﻧﻪ ﭘﺎﺳﺨ از ﺳﺮور ﺑﻮد و ارﺳﺎل ﯾ‬ ‫ﻧﯿﺎز ﺑﻪ اﯾﺠﺎد ﯾ‬ ‫درﺧﻮاﺳﺖ ﮐﺎﻣﻞ، ﺑﻪ ﻣﻌﻨ ﭘﺎک ﺷﺪن ﮐﺎﻣﻞ ﺻﻔﺤﻪ در ﺳﻤﺖ ﻣﺸﺘﺮی، و ﺑﺎر ﺷﺪن ﻣﺠﺪد آن‬ ‫ﺑﻮد.‬ ‫ﻧﺮماﻓﺰار ﮔﭗ )‪ (Chat‬ﺑﺮ روی ﺳ ﻮی وب، ﻃﺮﻓﯿﻦ ﺑﺎﯾﺪ ﭘﺲ‬ ‫ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل ﺑﺮای اﯾﺠﺎد ﯾ‬ ‫از ﺗﺎﯾﭗ ﻫﺮ ﭘﯿﺎم، ﮐﻠﯿﺪی را ﻓﺸﺎر ﻣ دادﻧﺪ ﮐﻪ ﻣﻮﺟﺐ ﺑﺮوزرﺳﺎﻧ )‪ (Refresh‬ﺷﺪن ﻪﺤ ﺻ ﻞﮐ‬ ‫6‬
  • 21. ‫ﻣ ﺷﺪ ﺗﺎ ﺑﺮای ﻣﻘﺼﺪ ﻓﺮﺳﺘﺎده ﺷﻮد. ﻫﻤﭽﻨﯿﻦ ﺻﻔﺤﻪ ﺑﺎﯾﺪ ﺑﻪ ﺻﻮرت دورهای ﺑﺮوزرﺳﺎﻧ ﻣ -‬ ‫ﺷﺪ ﺗﺎ ﭘﯿﺎمﻫﺎی ارﺳﺎﻟ ﻃﺮف ﻣﻘﺎﺑﻞ ﻧﯿﺰ درﯾﺎﻓﺖ ﮔﺮدد. اﯾﻦ ﻣﻌﻀﻞ ﺑﻪ ﻣﺪت ﻗﺎﺑﻞ ﻣﻼﺣﻈﻪای‬ ‫ﻧﺮخ رﺷﺪ ﻧﺮماﻓﺰار وﺑﯽ را ﺑﺴﯿﺎر ﭘﺎﯾﯿﻦ آورده ﺑﻮد.‬ ‫در اداﻣﻪ، ﺗﻮﺳﻌﻪدﻫﻨﺪﮔﺎن ﺧﻼق ﺑﺎ ﺗﮑﯿﻪ ﺑﺮ ﺗﮑﻨﻮﻟﻮژیﻫﺎی ﺧﺎﺻ ﮐﻪ ﻣﺮورﮔﺮﻫﺎ ﺧﺎرج از‬ ‫اﺳﺘﺎﻧﺪارد ﺑﺮای ﭘﺸﺘﯿﺒﺎﻧ از ﺑﺮﺧ ﻧﯿﺎزﻫﺎی ﺧﺎص ﻓﺮاﻫﻢ آورده ﺑﻮدﻧﺪ )ﺑﻪ ﻣﺎﻧﻨﺪ ‪ (iFrame‬و‬ ‫ﻫﻤﭽﻨﯿﻦ ﺑﻬﺮه ﮔﺮﻓﺘﻦ از ‪ ،Javascript‬اﻣ ﺎن اﯾﺠﺎد ﺻﻔﺤﺎت ﺗﻌﺎﻣﻠ را ﺗﺎ ﺣﺪودی ﻓﺮاﻫﻢ‬ ‫آوردﻧﺪ. در اﯾﻦ روش، ﺗﮏ ﮐﺪ ﺟﺎواﺳ ﺮﯾﭙﺖ، آدرس ﺻﻔﺤﻪ داﺧﻞ ‪ iFrame‬ﻧﺎﻣﺮﺋ را ﺗﻐﯿﯿﺮ‬ ‫ﺑﻮد و ﺗﻮﺳﻂ‬ ‫ﺻﻔﺤﻪ اﺻﻠ‬ ‫ﻣ داد. ﺻﻔﺤﻪ ﺟﺪﯾﺪ ﺣﺎوی اﻃﻼﻋﺎت ﻻزم ﺑﺮای ﺑﺮوزرﺳﺎﻧ‬ ‫ﺟﺎواﺳ ﺮﯾﭙﺖ ﻣﻮﺟﻮد در ﺻﻔﺤﻪ داﺧﻠ ﻧﺎﻣﺮﺋ ، اﯾﻦ اﻃﻼﻋﺎت در ﺻﻔﺤﻪ ﺑﯿﺮوﻧ اﻋﻤﺎل ﻣ -‬ ‫ﺷﺪﻧﺪ.‬ ‫ﺷ‪‬ﻞ ٤ ﻧﻤﺎی ﺳﺎﺧﺘﺎری ‪iFrame‬‬ ‫راه ﻏﯿﺮ ﻣﻌﻤﻮل ﺑﺮای رﺳﯿﺪن ﺑﻪ ﻫﺪف ﺑﻮد. ﻣﺪﺗ ﮐﻪ از اﯾﻦ‬ ‫اﯾﻦ روش در واﻗ ﯾ‬ ‫راﻫ ﺎر ﺳﭙﺮی ﺷﺪ، ‪ W3C‬ﺑﺎﻻﺧﺮه اﺳﺘﺎﻧﺪارد ‪ XMLHTTPRequest‬را در ﺳﺎل ۶٠٠٢ ﺑﻪ‬ ‫7‬
  • 22. ‫اراﺋﻪ ﮐﺮد ﮐﻪ ﺑﻼﻓﺎﺻﻠﻪ ﺗﻮﺳﻂ ﮐﺎوﺷ ﺮﻫﺎی ﻣﻄﺮح ﻣﺎﻧﻨﺪ‬ ‫ﭘﯿﺸﻨﻮﯾﺲ ﻋﻤﻠﯿﺎﺗ‬ ‫ﻋﻨﻮان ﯾ‬ ‫‪ Firefox‬و ‪ IE‬ﭘﯿﺎدهﺳﺎزی ﮔﺮدﯾﺪ. اﯾﻦ اﺳﺘﺎﻧﺪارد اﻣ ﺎن ارﺳﺎل درﺧﻮاﺳﺖﻫﺎی ‪ HTTP‬از‬ ‫ﻣﺘﻐﯿﺮ‬ ‫آن در ﯾ‬ ‫ﻃﺮﯾﻖ ﺟﺎواﺳ ﺮﯾﭙﺖ – ﺑﺪون ﺑﺮوزﺷﺪن ﮐﻞ ﺻﻔﺤﻪ – و درﯾﺎﻓﺖ ﭘﺎﺳ‬ ‫ﺟﺎواﺳ ﺮﯾﭙﺖ را ﺑﻪ ﺻﻮرت آﺳﻨﮑﺮون ﭘﺸﺘﯿﺒﺎﻧ ﻣ ﻧﻤﺎﯾﺪ و ﻣﻬﻤﺘﺮﯾﻦ ﺟﻬﺶ در ﺗﮑﻨﻮﻟﻮژی وب‬ ‫ﺗﻠﻘ ﻣ ﮔﺮدد.‬ ‫ﻣﺨﻔﻒ ﻋﺒﺎرت‬ ‫ﭘﺲ از آن واژهﻫﺎی وب ٢ و آژاﮐﺲ )‪ (AJAX‬ﮐﻪ در واﻗ‬ ‫‪ Asynchronous Javascript And XML‬ﯾﺎ ﺟﺎواﺳ ﺮﯾﭙﺖ آﺳﻨﮑﺮون ﺑﻪ ﻫﻤﺮاه ‪ XML‬اﺳﺖ‬ ‫)‪ (XMLHTTPRequest‬ﻣﻌﻤﻮل ﺷﺪﻧﺪ و ﺗﮑﻨﻮﻟﻮژی وب ﺟﺪﯾﺪ ﭘﺎ ﺑﻪ ﻋﺮﺻﻪ ﮔﺬاﺷﺖ.‬ ‫ﺷ‪‬ﻞ ٥ﮐﻠﯿﺪواژهﻫﺎی ﻣﻬﻢ ﻣﻄﺮح در وب ٢‬ ‫ﺟﺎواﺳ ﺮﯾﭙﺘ ﮐﻪ در اﺑﺘﺪا ﺑﺮای ﺑﻪ ﺣﺮﮐﺖ دراوردن و ﺟﻠﻮهﻫﺎی وﯾﮋه ﺻﻔﺤﺎت اﯾﺴﺘﺎی وب‬ ‫ﭘﺎ ﺑﻪ ﻋﺮﺻﻪ ﮔﺬاﺷﺘﻪ ﺑﻮد، ﭘﺲ از ﻇﻬﻮر اﯾﻦ ﺗﮑﻨﻮﻟﻮژی ﺑﻪ ﻗﺴﻤﺖ ﻋﻤﺪه ﺗﻤﺎم ﻧﺮماﻓﺰارﻫﺎی وﺑﯽ‬ ‫ﺗﺒﺪﯾﻞ ﮔﺸﺖ، زﯾﺮا درﺧﻮاﺳﺖﻫﺎی آﺳ ﻨﺮون ﺑﺎﯾﺪ ﺑﺎ ﺟﺎواﺳ ﺮﯾﭙﺖ ارﺳﺎل ﻣﯿﺸﺪ، درﯾﺎﻓﺖ ﻣ -‬ ‫8‬
  • 23. ‫ﭘﻮﺳﺘﻪ ﺑﺮای‬ ‫ﺷﺪ و دادهﻫﺎی آن در ﺻﻔﺤﻪ اﻋﻤﺎل ﻣ ﺷﺪ. در واﻗ ﺻﻔﺤﺎت ﺗﻨﻬﺎ ﺑﻪ ﯾ‬ ‫دﺳﺘﮑﺎری ﺗﻮﺳﻂ ﺟﺎواﺳ ﺮﯾﭙﺖ ﺗﺒﺪﯾﻞ ﺷﺪه ﺑﻮدﻧﺪ.‬ ‫درﺻﺪ ﺣﺠﻤ ﺟﺎواﺳ ﺮﯾﭙﺖ ﺑﻪ ﻃﻮر ﻣﺘﻮﺳﻂ در ﺳﺎﯾﺖﻫﺎی از ٢% ﻪﺑ ۵٧% رﺳﯿﺪه ﺑﻮد و‬ ‫درﺻﺪ ﭘﺮدازﺷ ﮐﻪ ﻣﺤﺘﻮای ﻣﺨﺘﻠﻒ ﺳﺎﯾﺖ ﺑﺮ روی ﻣﺸﺘﺮی ﻻزم داﺷﺖ، از ۵% ﻪﺑ ٩٩%‬ ‫اﻓﺰاﯾﺶ ﯾﺎﻓﺖ.‬ ‫ﮐﺎوﺷ ﺮﻫﺎی ﻗﺪﯾﻤ ﻣﺎﻧﻨﺪ ‪ Firefox‬و ‪ IE‬ﺗﻤﺮﮐﺰ اﺻﻠ ﺧﻮد را ﺑﺮ روی ﻣﻮﺗﻮر ﭘﺮدازش‬ ‫‪ HTML‬و ﺗﺼﺎوﯾﺮ ﻗﺮار داده ﺑﻮدﻧﺪ، و ﺟﺎواﺳ ﺮﯾﭙﺖ را ﺑﺎ ﺳﺮﻋﺖ ﮐﻤ ﺑﺎر ﻣ ﮐﺮدﻧﺪ. ﮔﻮﮔﻞ‬ ‫اﻗﺪام ﺑﻪ ﺗﻮﻟﯿﺪ ‪ Google Chrome‬ﮐﺮد ﮐﻪ دو ﺳﺎل زﻣﺎن ﺻﺮف ﺑﻬﯿﻨﻪﺳﺎزی ﻣﻮﺗﻮر اﺟﺮای‬ ‫ﮐﺎرﺑﺮان‬ ‫ﺟﺎواﺳ ﺮﯾﭙﺖ آن ﺷﺪه ﺑﻮد و ﻫﻤﯿﻦ ﻣﻬﻢ ﺑﺎﻋﺚ ﺷﺪ ﺗﺎ اﻣﺮوزه ﮐﺎوﺷ ﺮ ﻣﺬﮐﻮر رﺗﺒﻪ ﯾ‬ ‫را ﺑﻪ ﺧﻮد اﺧﺘﺼﺎص دﻫﺪ.‬ ‫در ﺳﺎﻟﻬﺎی اﺧﯿﺮ، ﻋﺪم وﺟﻮد اﻣ ﺎﻧﺎت ﺧﺎص ﻣﺎﻧﻨﺪ ﭘﺮدازش ﺳﻪ ﺑﻌﺪی و اﻧﯿﻤﯿﺸﻦ در وب،‬ ‫ﻣﻨﺠﺮ ﺑﻪ اﺳﺘﺎﻧﺪارد ﺷﺪن 5 ‪ HTML‬ﺷﺪ. اﯾﻦ ﻧﺴﺨﻪ از ‪ HTML‬ﻫﻨﻮز ﺑﻪ اﺳﺘﺎﻧﺪارد و ﭘﯿﺎده-‬ ‫ﺳﺎزی ﻗﻄﻌ ﻧﺮﺳﯿﺪه اﺳﺖ و ﻣﻌﻀﻼت اﻣﻨﯿﺘ ﻓﺮاواﻧ در آن ﮐﺸﻒ ﻣﯿﺸﻮﻧﺪ. ﻫﻤﭽﻨﯿﻦ ﻫﺮ‬ ‫ﻧﻮع آﻧﺮا ﭘﯿﺎدهﺳﺎزی ﻧﻤﻮده اﺳﺖ و ﺗﻨﻮع اﻣ ﺎﻧﺎت آن ﻧﯿﺰ ﻗﺎﺑﻞ ﺗﻮﺟﻪ اﺳﺖ.‬ ‫ﮐﺎوﺷ ﺮی ﺑﻪ ﯾ‬ ‫ﻣﻌﻤﺎری وب:‬ ‫٣٬٢‬ ‫ﭘﺮوﻓﺴﻮر دﯾﻮﯾﺪ ﭘﺘﺮﺳﻮن، ﻧﻮﯾﺴﻨﺪه ﮐﺘﺎب ﻣﻌﺮوف ﻣﻌﻤﺎری ﮐﺎﻣﭙﯿﻮﺗﺮ و اﺳﺘﺎد داﻧﺸ ﺎه‬ ‫ﺑﺮﮐﻠ ﮐﻪ از داﻧﺸﻤﻨﺪان ﺻﺎﺣﺐ ﻧﺎم و ﺗﺎﺛﯿﺮﮔﺬار ﺳﺨﺖ اﻓﺰار اﺳﺖ، ﺑﻪ ﺗﺎزﮔ ﭘﺎ در ﻋﺮﺻﻪ ﻧﺮم-‬ ‫دﮐﺮﺘ‬ ‫اﻓﺰار و ‪ SaaS‬ﮔﺬارده اﺳﺖ. وی در ﮐﻼس ﻣﺮﺑﻮط ﺑﻪ اﯾﻦ ﻣﻮﺿﻮع ﮐﻪ ﺑﻪ ﻫﻤﺮاﻫ‬ ‫‪ Armando Fox‬در داﻧﺸ ﺎه ﺑﺮﮐﻠ اراﺋﻪ ﻣ ﮐﺮد، ﻋﺒﺎرت ﻗﺎﺑﻞ ﺗﻮﺟﻬ را ذﮐﺮ ﻣ ﺪﻨﮐ:‬ ‫9‬
  • 24. ‫»ﻣﺎ در ﺻﻨﻌﺖ ﺳﺨﺖاﻓﺰار، ﻣﺠﺒﻮرﯾﻢ ﺑﻪ ﺷﺪت ﻣﺤﺼﻮل را ﺗﺴﺖ و ﺑﺮرﺳ ﮐﻨﯿﻢ. ﻫﺰﯾﻨﻪ‬ ‫ﺟﻤ آوری و اﺻﻼح ﻣﺤﺼﻮل ﻣﻌﯿﻮب ﺑﺴﯿﺎر ﮔﺰاف اﺳﺖ. اﯾﻦ ﻃﺮز ﻓﮑﺮ در اﺑﺘﺪا ﺑﻪ ﺻﻨﻌﺖ ﻧﺮم-‬ ‫اﻓﺰار ﻧﯿﺰ ﻣﻨﺘﻘﻞ ﺷﺪه ﺑﻮد وﻟ در واﻗ ﻧﺮماﻓﺰار ﻣﺎﻫﯿﺘﺎ ﮔﻮﻧﻪ دﯾ ﺮی اﺳﺖ. ﻧﺮماﻓﺰار را ﻣ ﺗﻮان‬ ‫ﻓﺎز‬ ‫ﻫﺮروز اﺻﻼح و ﺑﺮوز رﺳﺎﻧ ﮐﺮد و اﯾﻦ ﺑﻪ ﻣﻌﻨ ﻋﺪم ﻧﯿﺎز ﺑﻪ ﺗﮑﻤﯿﻞ ﻧﻬﺎﯾﯽ آن در ﯾ‬ ‫اﺳﺖ.«‬ ‫ﻢﺘﺴﯿﺳﻫﺎی ﻣﺒﺘﻨ ﺑﺮ وب، ﻫﺮ روز و ﺣﺘ ﻫﺮ ﺳﺎﻋﺖ ارﺗﻘﺎ ﻣ ﯾﺎﺑﻨﺪ. ﻣﻨﻈﻮر از اﯾﻦ ارﺗﻘﺎ،‬ ‫ﺗﻐﯿﯿﺮ ﻣﺤﺘﻮی ﻧﯿﺴﺖ، ﺑﻠ ﻪ ﺗﻐﯿﯿﺮ ﻧﺮماﻓﺰار و ﮐﺪ اﺳﺖ. ﻫﻤﭽﻨﯿﻦ ﺳﯿﺴﺘﻢﻫﺎی ﻣﺒﺘﻨ ﺑﺮ وب‬ ‫ﻣﺎه ﺗﻌﺪاد ﻣﺨﺎﻃﺒﺎن‬ ‫ﺑﺴﯿﺎر اﺑﻌﺎدﭘﺬﯾﺮ )‪ (Scalable‬ﻫﺴﺘﻨﺪ، ﯾﻌﻨ ﻣﻤ ﻦ اﺳﺖ در ﻋﺮض ﯾ‬ ‫آﻧﻬﺎ ٠١ ﺑﺮاﺑﺮ ﺷﻮد.‬ ‫ﺑﺮای ﺗﺎﻣﯿﻦ اﯾﻦ ﻧﯿﺎز - ﮐﻪ در ﻧﺮماﻓﺰارﻫﺎی ﺑﺪوی ﺑﺪﯾﻦ ﺷ ﻞ وﺟﻮد ﻧﺪاﺷﺖ – ﻣﻠﺰم ﺑﻪ‬ ‫اﺳﺘﻔﺎده از ﻣﻌﻤﺎری و اﻟ ﻮﻫﺎی ﺗﻮﺳﻌﻪ ﻣﺨﺼﻮﺻ ﻫﺴﺘﯿﻢ. ﻫﻤﭽﻨﯿﻦ ﭼﻬﺎرﭼﻮبﻫﺎ و ﻧﺮم-‬ ‫اﻓﺰارﻫﺎی ﺷﺨﺺ ﺛﺎﻟﺚ )‪ (Third Party‬ﻧﻘﺶ ﻣﻬﻤ در ﺻﻮرت ﺗﻮﺳﻌﻪ ﺳﯿﺴﺘﻢﻫﺎی وﺑﯽ‬ ‫اﯾﻔﺎ ﻣ ﮐﻨﻨﺪ، ﮐﻪ اﻟﺒﺘﻪ ﺑﺎﻋﺚ ﻣﻌﻀﺎﻻت اﻣﻨﯿﺘ ﻓﺮاواﻧ ﻧﯿﺰ ﻣ ﺪﻧﻮﺷ.‬ ‫در ﺣﺎل ﺣﺎﺿﺮ ﻣﻌﻤﺎری ﺳﻪ ﻻﯾﻪ واﺳﻂ ﮐﺎرﺑﺮی – ﻖﻄﻨﻣ – داده و ﻣﺸﺘﻘﺎت آن ﺑﯿﺸﺘﺮﯾﻦ‬ ‫اﺳﺘﻔﺎده را در ﻢﺘﺴﯿﺳﻫﺎی ﻣﺒﺘﻨ ﺑﺮ وب دارﻧﺪ. اﻟ ﻮی ‪ MVC‬و ‪Component Based‬‬ ‫‪ MVC‬ﻫﻢ ﺗﻘﺮﯾﺒﺎ ﺑﻪ اﻟ ﻮی ﺛﺎﺑﺖ ﺳﯿﺴﺘﻢﻫﺎی وﺑﯽ ﭘﺮﺗﻐﯿﯿﺮ ﺗﺒﺪﯾﻞ ﺷﺪه اﺳﺖ.‬ ‫ﺗﮑﻨﻮﻟﻮژیﻫﺎی ﻣﻮرد اﺳﺘﻔﺎده در وب:‬ ‫٤٬٢‬ ‫ﺑﺴﺘﺮ ﺣﺎوی ﺗﮑﻨﻮﻟﻮژیﻫﺎی و ﭘﺮوﺗﮑﻞﻫﺎی ﻣﺘﻌﺪدی اﺳﺖ ﮐﻪ آﺷﻨﺎﯾﯽ ﺑﺎ‬ ‫وب ﺑﻪ ﻋﻨﻮان ﯾ‬ ‫آﻧﻬﺎ ﺑﺮای ﺑﺮرﺳ وب از دﯾﺪﮔﺎه اﻣﻨﯿﺖ اﻃﻼﻋﺎت ﺿﺮورﯾﺴﺖ. در اداﻣﻪ اﯾﻦ ﺗﮑﻨﻮﻟﻮژیﻫﺎی ﺑﻪ‬ ‫اﺧﺘﺼﺎر ﺑﺮرﺳ ﻣ ﮔﺮدﻧﺪ:‬ ‫01‬
  • 25. ‫‪HTTP‬‬ ‫١٬۴٬٢‬ ‫اچ ﺗ ﺗ ﭘﯽ، ﭘﺮوﺗﮑﻞ اﻧﺘﻘﺎل اﺑﺮﻣﺘﻦ )‪ (Hypertext Transfer Protocol‬ﺑﺴﺘﺮ اﻧﺘﻘﺎل‬ ‫ﭘﺮوﺗﮑﻞ ﺷﺒ ﻪ در ﺳﻄ ﻧﺮماﻓﺰار اﺳﺖ ﮐﻪ درﮔﺎه ﭘﯿﺶ-‬ ‫داده در وب اﺳﺖ. اﯾﻦ ﭘﺮوﺗﮑﻞ ﯾ‬ ‫ﻓﺮض و اﺧﺘﺼﺎﺻ آن درﮔﺎه 08 ‪ TCP‬ﻣ ﺑﺎﺷﺪ.‬ ‫ﺷ‪‬ﻞ ٦ ‪ HTTPS‬ﻧﺴﺨﻪ اﻣﻦ ﺷﺪه و رﻣﺰﮔﺬاری ﺷﺪه ‪HTTP‬‬ ‫ﻧﮑﺘﻪ ﻗﺎﺑﻞ ﺗﻮﺟﻪ در ﻣﻮرد اﯾﻦ ﭘﺮوﺗﮑﻞ آﻧﺴﺖ ﮐﻪ ﺑﻪ دﻟﯿﻞ اﻣﻨﯿﺖ ﻗﺎﺑﻞ ﺗﻮﺟﻪ آن ﻧﺴﺒﺖ ﺑﻪ‬ ‫ﻃﺮﻓﻪ ﺑﻮدن آن ﺑﻮده اﺳﺖ( در اﮐﺜﺮ‬ ‫ﺑﻘﯿﻪ ﭘﺮوﺗﮑﻞﻫﺎ )ﮐﻪ ﺑﻪ دﻟﯿﻞ ﺳﺎدﮔ وب اوﻟﯿﻪ و ﯾ‬ ‫ﻓﺎﯾﺮوالﻫﺎ اﺟﺎزه ﻋﺒﻮر دارد. اﯾﻦ ﻧﮑﺘﻪ ﺑﺎﻋﺚ ﺷﺪه ﺑﺴﯿﺎری ﺗﮑﻨﻮﻟﻮژیﻫﺎی دﯾ ﺮ ﻧﯿﺰ ﺧﻮد را ﺑﺮ‬ ‫اﯾﻦ ﺑﺴﺘﺮ اﻧﻄﺒﺎق دﻫﻨﺪ، ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل ‪ RPC‬ﺟﺪﯾﺪ ﺑﻪ ﻧﺎم ‪ SOAP‬از اﯾﻦ ﺑﺴﺘﺮ ﻧﯿﺰ ﭘﺸﺘﯿﺒﺎﻧ‬ ‫ﻣ ﮐﻨﺪ.‬ ‫ﮐﺎرﮐﺮد آن‬ ‫ﺷﯿﻮه اﺻﻠ‬ ‫اﺳﺖ، ﯾﻌﻨ‬ ‫ﭘﺮوﺗﮑﻞ درﺧﻮاﺳﺖ/ﭘﺎﺳﺨ‬ ‫‪ HTTP‬ﻣﺎﻫﯿﺘﺎ ﯾ‬ ‫ﭘﺎﺳ ﺑﻪ وی اﺳﺖ. اﯾﻦ رﻓﺘﺎر ﭘﺮوﺗﮑﻞ در ﺑﺮﺧ‬ ‫درﺧﻮاﺳﺖ از ﻣﺸﺘﺮی و ارﺳﺎل ﯾ‬ ‫درﯾﺎﻓﺖ ﯾ‬ ‫از ﻣﻮارد ﻣﻄﻠﻮب ﻧﯿﺴﺖ ﮐﻪ ﻣﻨﺠﺮ ﺑﻪ ‪ HTTP Streaming‬ﺷﺪه اﺳﺖ.‬ ‫11‬
  • 26. ‫درﺧﻮاﺳﺖﻫﺎی ‪ 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‬
  • 27. ‫‪Response Body‬‬ ‫در ﭘﺎﺳ ﻧﯿﺰ ﺧﻂ اﺑﺘﺪاﯾﯽ، ﻣﺸﺨﺺ ﮐﻨﻨﺪه وﺿﻌﯿﺖ ﭘﺎﺳ اﺳﺖ. ﮐﻠﻤﻪ اول ﻧﺴﺨﻪ ﭘﺮوﺗﮑﻞ،‬ ‫ﮐﻠﻤﻪ دوم ﮐﺪ ﭘﺎﺳ )ﮐﻪ ﺣﺪود ۵٢ ﺣﺎﻟﺖ ﻣﺠﺎز ﺑﯿﻦ ٠٠١ و ٠٠۵ دارد( و ﮐﻠﻤﻪ ﺳﻮم ﺗﻮﺿﯿﺢ‬ ‫ﮐﺪ ﻣﺬﮐﻮر اﺳﺖ.‬ ‫از وﯾﮋﮔ ﻫﺎﯾﯽ ﮐﻪ در ﻧﺴﺨﻪ ١٬١ ﺑﻪ اﯾﻦ ﭘﺮوﺗﮑﻞ اﻓﺰوده ﺷﺪه اﺳﺖ، اﻣ ﺎن درﯾﺎﻓﺖ‬ ‫ﯾ‬ ‫اﺳﺖ. اﯾﻦ اﻣ ﺎن ﺑﺎ ﻋﻨﻮان ‪ HTTP Range‬ﺷﻨﺎﺧﺘﻪ ﻣ ﺷﻮد ﮐﻪ ﺑﺎ‬ ‫ﭘﺎﺳ‬ ‫ﻗﺴﻤﺘ از ﯾ‬ ‫ﺑﺮد از ﭘﺎﺳ را اﻧﺘﺨﺎب ﮐﺮد ﺗﺎ ﺳﺮور ارﺳﺎل ﮐﻨﺪ. ﮐﺎرﺑﺮد اﺻﻠ اﯾﻦ‬ ‫اﺳﺘﻔﺎده از آن ﻣ ﺗﻮان ﯾ‬ ‫وﯾﮋﮔ در درﯾﺎﻓﺖ ﻓﺎﯾﻠﻬﺎی ﺑﺰرگ از ﺳﺮور اﺳﺖ، در ﺻﻮرﺗ ﮐﻪ اﺗﺼﺎل ﻣﻨﻘﻄ ﺷﻮد، ﻣ ﺗﻮان‬ ‫آﻧﺮا اداﻣﻪ داد. ﻫﻤﭽﻨﯿﻦ ﻣ ﺗﻮان ﺑﻪ ﺻﻮرت ﻫﻤﺮوﻧﺪ ﻗﺴﻤﺖﻫﺎی ﻣﺨﺘﻠﻒ ﭘﺎﺳ را درﯾﺎﻓﺖ ﮐﺮد.‬ ‫ﺑﺎ روی ﮐﺎر آﻣﺪن اﯾﻦ وﯾﮋﮔ ، ﭘﺮوﺗﮑﻞ ‪ FTP‬ﮐﺎرﺑﺮد درﯾﺎﻓﺖ ﻓﺎﯾﻞ ﺧﻮد را از دﺳﺖ داد.‬ ‫‪ HTTP‬از آﻧﺠﺎﯾﯽ ﮐﻪ ﭘﺮوﺗﮑﻞ زﯾﺮﺳﺎﺧﺘ وب اﺳﺖ، ﻧﮑﺎت ﺟﺰﺋ ﻓﺮاواﻧ در ﺑﺤﺚ اﻣﻨﯿﺖ‬ ‫دارد ﮐﻪ ﺑﻪ ﺻﻮرت ﻣﻨﻘﻄ در اداﻣﻪ ﺑﺤﺚ ﺧﻮاﻫﺪ ﺷﺪ.‬ ‫‪HTML‬‬ ‫٢٬۴٬٢‬ ‫اچ ﺗ ام ال، ﯾﻌﻨ زﺑﺎن ﺑﺮﭼﺴﺒﯽ اﺑﺮﻣﺘﻦ )‪ .(Hypertext Markup Language‬اﯾﻦ زﺑﺎن‬ ‫ﺑﺎ اﺳﺘﻔﺎده از ﺑﺮﭼﺴﺐﻫﺎ اﺳﻨﺎد وﺑﯽ را اراﺋﻪ ﻣ دﻫﺪ. ‪ HTML‬ﻧﻮﻋ از ﺳﻨﺪ ‪ XML‬اﺳﺖ، در‬ ‫ﺣﺎﻟ ﮐﻪ ‪ XML‬ﺑﺴﯿﺎر ﺑﻌﺪ از ‪ HTML‬و ﭘﺲ از ﭼﻨﺪﯾﻦ اﺳﺘﺎﻧﺪاردﺳﺎزی ﺑﻪ وﺟﻮد آﻣﺪه اﺳﺖ.‬ ‫31‬
  • 28. ‫ﺷ‪‬ﻞ ٧ ﺷﻤﺎﯾﻞ ﺳﺎده ﯾ‪ ‬ﺳﻨﺪ ‪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‬
  • 29. ‫ﭘﺮدازش آن، ﺗﻤﺎﻣ ﻓﺎﯾﻠﻬﺎی ارﺟﺎع ﺷﺪه را ﻧﯿﺰ ﺑﻪ ﺗﻔﮑﯿ از ﺳﺮور درﺧﻮاﺳﺖ و درﯾﺎﻓﺖ ﻧﻤﺎﯾﺪ ﺗﺎ‬ ‫ﺑﺘﻮاﻧﺪ ﺻﻔﺤﻪ را ﺗﻤﺎم و ﮐﻤﺎل ﻧﻤﺎﯾﺶ دﻫﺪ. در واﻗ ﻗﺴﻤﺖ ﻋﻤﺪه ﺑﺎر ﺷﺪن ﻫﺮ ﺻﻔﺤﻪ وب ﻣﺮﺑﻮط‬ ‫ﺣﺠﻢ ﻗﺎﺑﻞ‬ ‫ﺑﻪ درﯾﺎﻓﺖ ﻓﺎﯾﻠﻬﺎی ﺟﺎﻧﺒﯽ ﭘﺮ ﺣﺠﻢ آن – ﻣﺎﻧﻨﺪ ﺗﺼﺎوﯾﺮ – اﺳﺖ و ﺳﻨﺪ ‪HTML‬‬ ‫ﺗﻮﺟﻬ ﻧﺪارد.‬ ‫‪CSS‬‬ ‫٣٬۴٬٢‬ ‫ﻣﺤﺘﻮی از ﻗﺎﻟﺐ ﺑﻨﺪی، اﺳﺘﻔﺎده از ﺑﺮﭼﺴﺐﻫﺎی‬ ‫ﭼﻨﺪﮔﺎﻫﯿﺴﺖ ﮐﻪ در راﺳﺘﺎی ﺗﻔﮑﯿ‬ ‫رﻓﺘﺎر ﻧﺎﻣﻄﻠﻮب ﺗﻠﻘ ﻣ ﺷﻮد و ﮐﻠﯿﻪ ﻗﺎﻟﺐ ﺑﻨﺪی ﺻﻔﺤﺎت وب ﺑﻪ‬ ‫ﻗﺎﻟﺐﺑﻨﺪی ‪ HTML‬ﯾ‬ ‫‪ CSS‬ﺳﭙﺮده ﺷﺪه اﺳﺖ. ‪ CSS‬ﻣﺨﻔﻒ ﻋﺒﺎرت ‪ Casacading Style Sheets‬اﺳﺖ، ﺑﻪ ﻣﻌﻨ‬ ‫ﺻﻔﺤﺎت ﻗﺎﻟﺐ ﺑﻨﺪی ﮐﺮﮐﺮهای، ﮐﻪ ﺑﺮ روی ﯾ ﺪﯾ ﺮ ﺳﻮار ﻣ ﺷﻮﻧﺪ و ﻗﺎﻟﺐ را ﺗﺸ ﯿﻞ ﻣ دﻫﻨﺪ.‬ ‫ﺷ‪‬ﻞ ٨ ﮐﻠﯿﺪواژهﻫﺎی ﻣﻄﺮح در ‪ ،CSS‬ﯾ‪ ‬ﻃﺮاح وب ﺑﺎﯾﺪ ﺑﻪ اﯾﻦ ﻣﻔﺎﻫﯿﻢ ﻣﺴﻠﻂ ﺑﺎﺷﺪ‬ ‫ﻣﺘﻦ از ﺑﺮﭼﺴﺐ‬ ‫در ﮔﺬﺷﺘﻪ ﻫﻨﮕﺎم ﮐﺎرﺑﺮدﻫﺎی اﺑﺘﺪای ‪ ،HTML‬ﺟﻬﺖ ﺗﻐﯿﯿﺮ رﻧﮓ ﯾ‬ ‫ﺳﻨﺪ ‪ HTML‬اﻧﺘﻈﺎر ﻣ رود‬ ‫‪ font‬اﺳﺘﻔﺎده ﻣ ﺷﺪ. اﯾﻦ رﻓﺘﺎر دﯾ ﺮ ﻣﻄﻠﻮب ﻧﯿﺴﺖ زﯾﺮا از ﯾ‬ ‫ﮐﻪ ﻣﺤﺘﻮای ﻣﻨﻄﻘ و ﻣﻌﻨ دار ﺻﻔﺤﻪ را در ﺑﺮ داﺷﺘﻪ ﺑﺎﺷﺪ. اﻣﺮوزه ‪ HTML‬ﺗﻨﻬﺎ ﺗﻮﺳﻂ‬ ‫اﻧﺴﺎنﻫﺎ ﻣﺼﺮف ﻧﻤ ﺷﻮد و ﺑﺴﯿﺎری ﻧﺮماﻓﺰارﻫﺎ و ﻣﺎﺷﯿﻦﻫﺎ ﻫﺴﺘﻨﺪ ﮐﻪ اﯾﻦ اﺳﻨﺎد را درﯾﺎﻓﺖ‬ ‫51‬
  • 30. ‫ﮐﺮده، ﺗﺠﺰﯾﻪ و ﺗﺤﻠﯿﻞ ﻣ ﮐﻨﻨﺪ. ﺑﺮای اﯾﻦ اﺑﺰار ﻗﺎﻟﺐ ﺑﻨﺪی ﺻﻔﺤﻪ اﻫﻤﯿﺖ ﺧﺎﺻ ﻧﺪارد و‬ ‫ﺗﻤﺮﮐﺰ آﻧﻬﺎ ﺑﺮ روی ﻣﺤﺘﻮاﺳﺖ.‬ ‫ﻓﺎﯾﻞ ‪ HTML‬ارﺟﺎع ﻣ دﻫﺪ و ﺑﺎ‬ ‫ﯾﺎ ﭼﻨﺪ ﺑﺮﭼﺴﺐ از ﯾ‬ ‫‪ CSS‬در ﻫﺮ دﺳﺘﻮر ﺧﻮد، ﺑﻪ ﯾ‬ ‫اﺳﺘﻔﺎده از ﺻﻔﺎت ﺧﺎﺻ رﻓﺘﺎرﻫﺎی ﻧﻤﺎﯾﺸ آﻧﻬﺎ را ﮐﻨﺘﺮل ﻣ ﮐﻨﺪ. ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل ﺑﺮای ﻗﺮﻣﺰ‬ ‫ﺻﻔﺤﻪ، ﻣ ﺗﻮان از ‪ CSS‬زﯾﺮ ﺑﻬﺮه ﺟﺴﺖ:‬ ‫و ﮐﻠﻔﺖ ﮐﺮدن ﺧﻄﻮط ﻣﻮﺟﻮد در ﺟﺪاول ﯾ‬ ‫{ ‪table td‬‬ ‫;‪border: 2px solid‬‬ ‫;‪border-color: red‬‬ ‫}‬ ‫از دﯾ ﺮ ﻣﺰاﯾﺎی ‪ CSS‬آﻧﺴﺖ ﮐﻪ ﺑﺎ ﺳﺎدﮔ ﻣ ﺗﻮان ﺑﺎ ﺑﺎر ﮐﺮدن ‪CSS‬ﻫﺎی ﻣﺨﺘﻠﻒ‬ ‫ﺻﻔﺤﻪ، ﻗﺎﻟﺐﻫﺎی ﻣﺨﺘﻠﻔ ﺑﺪان داد. ﻧﮑﺘﻪ ﺣﺎﺋﺰ اﻫﻤﯿﺖ ‪ CSS‬از دﯾﺪﮔﺎه اﻣﻨﯿﺖ وب‬ ‫ﺑﺮای ﯾ‬ ‫آﻧﺴﺖ ﮐﻪ ﺻﻔﺎت آن ﻣ ﺗﻮاﻧﻨﺪ ﻣﻘﺎدﯾﺮ ﻣﺘﻐﯿﺮ ﻧﯿﺰ درﯾﺎﻓﺖ ﮐﻨﻨﺪ. اﯾﻦ ﻣﻘﺎدﯾﺮ ﻣﺘﻐﯿﺮ ﺗﻮﺳﻂ‬ ‫‪ Javascript‬اﺟﺮا و ﭘﺮدازش ﻣ ﺷﻮد و اﻣ ﺎن اﺟﺮای ﮐﺪ در ﻓﺎﯾﻞﻫﺎی ‪ CSS‬را ﻧﯿﺰ ﻓﺮاﻫﻢ ﻣ -‬ ‫آورد.‬ ‫‪Javascript‬‬ ‫۴٬۴٬٢‬ ‫ﻫﻤﺎﻧﻄﻮر ﮐﻪ ﻗﺒﻼ ذﮐﺮ ﺷﺪ، ﺟﺎواﺳ ﺮﯾﭙﺖ ﺑﺎ اﻧﺸﻌﺎب از ‪ ECMAScript‬ﺑﻪ ﻋﻨﻮان زﺑﺎﻧ‬ ‫ﺑﺮای اﻓﮑﺖ دادن ﺑﻪ ﺻﻔﺤﺎت اﯾﺴﺘﺎی وب )‪ (HTML‬در ﺳﺎل ۴٩٩١ ﻂﺳﻮﺗ ‪ Netscape‬اﯾﺠﺎد‬ ‫ﮔﺮدﯾﺪ. در ﺳﺎل ۶٩٩١ ﻫﻢ ﻣﺎﯾ ﺮوﺳﺎﻓﺖ اﯾﻦ ﺗﮑﻨﻮﻟﻮژی را در ﮐﺎوﺷ ﺮ ‪ IE‬ﺧﻮد اﺿﺎﻓﻪ ﻧﻤﻮد.‬ ‫61‬
  • 31. ‫ﺷ‪‬ﻞ9 ﻧﻤﺎﯾﻪ ‪ ،jQuery‬ﻣﺤﺒﻮبﺗﺮﯾﻦ ﮐﺘﺎﺑﺨﺎﻧﻪ ﺟﺎواﺳ‪‬ﺮﯾﭙﺖ‬ ‫زﺑﺎن ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯿﺴﺖ ﮐﻪ ﻣﺘﻐﯿﺮﻫﺎی آن ﻧﻮع ﭘﻮﯾﺎ دارﻧﺪ، ﻣﺒﺘﻨ ﺑﺮ ﺷ ء‬ ‫ﺟﺎواﺳ ﺮﯾﭙﺖ ﯾ‬ ‫)‪ (Object Based‬اﺳﺖ و ﺗﻮﺳﻂ ﻣﻔﺴﺮ اﺟﺮا ﻣ ﮔﺮدد. ﺗﻮاﺑﻊ ﺗﻮدرﺗﻮ و ‪ Closure‬ﻧﯿﺰ ﺗﻮﺳﻂ‬ ‫اﯾﻦ زﺑﺎن ﭘﺸﺘﯿﺒﺎﻧ ﻣ ﺷﻮﻧﺪ.‬ ‫اول در‬ ‫ﺗﻔﺎوت ﻋﻤﺪه ﺟﺎواﺳ ﺮﯾﭙﺖ و ‪ ECMAScript‬در وﺟﻮد ﭼﻨﺪﯾﻦ ﺷ ء ﺳﻄ‬ ‫ﺟﺎواﺳ ﺮﯾﭙﺖ اﺳﺖ، ﮐﻪ ﺗﻮﺳﻂ ﮐﺎوﺷ ﺮ وب ﺑﺮای آن ﻣﻬﯿﺎ ﻣ ﮔﺮدد. ﻣﻬﻤﺘﺮﯾﻦ اﯾﻦ اﺷﯿﺎء‬ ‫ﺷ ء ‪ document‬و ‪ window‬اﺳﺖ ﮐﻪ اوﻟ ‪ DOM‬ﺳﻨﺪ ‪ HTML‬را در اﺧﺘﯿﺎر ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺲ‬ ‫ﻗﺮار ﻣ دﻫﺪ ﺗﺎ ﺑﺘﻮاﻧﺪ اﺟﺰای ﺻﻔﺤﻪ را ﺗﻐﯿﯿﺮ دﻫﺪ و دوﻣ ﭘﻨﺠﺮه ﮐﺎوﺷ ﺮ را در اﺧﺘﯿﺎر ﺑﺮﻧﺎﻣﻪ-‬ ‫ﻧﻮﯾﺲ ﻣ ﮔﺬارد ﺗﺎ ﺑﺎ وﯾﮋﮔ ﻫﺎ و اﺑﻌﺎد آن ﺗﻌﺎﻣﻞ داﺷﺘﻪ ﺑﺎﺷﺪ.‬ ‫ﺟﺎواﺳ ﺮﯾﭙﺖ زﺑﺎن ﻣﺤﺪودﯾﺴﺖ و اﻣ ﺎن دﺳﺘﺮﺳ ﺑﻪ ﺳﯿﺴﺘﻢ ﻓﺎﯾﻞ و ﺳﺨﺖ اﻓﺰارﻫﺎی‬ ‫ﺑﺴﺘﺮ ﺧﻮد را ﻧﺪارد و ﺗﺎ ﻗﺒﻞ از ‪ AJAX‬اﺟﺎزه دﺳﺘﺮﺳ ﺑﻪ ﻣﻨﺎﺑﻊ اﯾﻨﺘﺮﻧﺖ را ﻫﻢ – ﺑﻪ ﺻﻮرت‬ ‫ﻣﺴﺘﻘﯿﻢ – ﻧﺪاﺷﺖ. در ﺣﺎل ﺣﺎﺿﺮ دﺳﺘﻪ ﺑﺴﯿﺎر ﻣﻬﻤ از ﻣﺨﺎﻃﺮات وب ﺑﺎ ﻧﺎم ‪ XSS‬ﺑﺮ اﺳﺎس‬ ‫اﯾﻦ ﺗﮑﻨﻮﻟﻮژی ﺑﻨﺎ ﺷﺪهاﻧﺪ.‬ ‫ﺟﺎواﺳ ﺮﯾﭙﺖ ﺑﺮای ﺗﻌﺎﻣﻞ ﺑﻬﺘﺮ ﺑﺎ ﮐﺎرﺑﺮ و ﺻﻔﺤﻪ، از ﺗﻌﺪادی رﺧﺪاد )‪ (Event‬ﺑﻬﺮه ﻣ -‬ ‫ﮐﺪ ﺟﺎواﺳ ﺮﯾﭙﺖ ﻣ ﺗﻮان اﺟﺮا ﮔﺮدد. ﺑﻪ ﻋﻨﻮان‬ ‫ﮔﯿﺮد ﮐﻪ ﺑﺎ اﺗﻔﺎق اﻓﺘﺎدن ﻫﺮﮐﺪام از آﻧﻬﺎ ﯾ‬ ‫ﺗﺼﻮﯾﺮ ﻣﻨﺘﻘﻞ‬ ‫ﻣﺜﺎل در ﺻﻮرﺗ ﮐﻪ ﺑﺨﻮاﻫﯿﻢ ﻫﻨﮕﺎﻣ ﮐﻪ ﮐﺎرﺑﺮ ﻧﺸﺎﻧﮕﺮ ﻣﺎوس را ﺑﺮ روی ﯾ‬ ‫ﮐﺮد، ﭘﯿﺎﻣ ﺑﻪ وی ﻧﺸﺎن دﻫﯿﻢ ﻣ ﺗﻮاﻧﯿﻢ از ﺟﺎواﺳ ﺮﯾﭙﺖ زﯾﺮ اﺳﺘﻔﺎده ﻧﻤﺎﯾﯿﻢ:‬ ‫71‬
  • 32. ‫>’‪<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‬
  • 33. ‫ﺑﻪ دﻟﯿﻞ اﯾﻨﮑﻪ در اﺑﺘﺪا دادهﻫﺎی درﯾﺎﻓﺘ از ﻧﻮع ‪ 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‬
  • 34. ‫اﻣﺮوز ﻫﻢ ﺟﺎواﺳ ﺮﯾﭙﺖ و آژاﮐﺲ ﺗﻨﻬﺎ در ﻣﺤﺪوده ‪ Same Origin Policy‬ﻣ ﺗﻮاﻧﻨﺪ ﺑﺎ‬ ‫ﺳﺮور ﺧﻮد ﺗﻤﺎس ﺣﺎﺻﻞ ﻧﻤﺎﯾﻨﺪ، ﺑﺪﯾﻦ ﻣﻌﻨ ﮐﻪ ﺟﺎواﺳ ﺮﯾﭙﺖ از ﻫﺮ ﺳﺮوری ﮐﻪ ﺑﺎر ﺷﺪه‬ ‫ﺑﺎﺷﺪ ﺗﻨﻬﺎ ﺑﺎ ﻫﻤﺎن ﺳﺮور اﻣ ﺎن ارﺗﺒﺎط دارد.‬ ‫از روﺷﻬﺎی ﻣﺎﻫﯿﺘﺎ ﻧﺎ اﻣﻦ دور زدن‬ ‫اﺳﺘﻔﺎده از ‪ JSONP‬ﯾﺎ ‪ JSON with Padding‬ﯾ‬ ‫‪ Same Origin Policy‬در ﻫﻨﮕﺎﻣﯿﺴﺖ ﮐﻪ ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺲ ﺑﺮ روی ﭼﻨﺪ ﺳﺎﯾﺖ ﺑﻪ ﻃﻮر ﺗﻮزﯾﻊ‬ ‫ﺷﺪه ﮐﺎر ﻣ ﮐﻨﺪ.‬ ‫‪Web Server‬‬ ‫۶٬۴٬٢‬ ‫وب‬ ‫وب ﺳﺮور، ﺗﮑﻨﻮﻟﻮژی ﺳﺮوﯾﺲ دادن ﭘﺮوﺗﮑﻞﻫﺎی ‪ HTTP‬و ‪ HTTPS‬اﺳﺖ. ﯾ‬ ‫ﺳﺮور ﭘﺲ از اﺟﺮا، ﺑﺮ روی ﭘﻮرتﻫﺎی ﻣﺸﺨﺺ اﯾﻦ دو ﭘﺮوﺗﮑﻞ )ﺑﻪ ﺗﺮﺗﯿﺐ ٠٨ و ٣۴۴( ﻣﻨﺘﻈﺮ‬ ‫ﻣ ﻣﺎﻧﺪ و درﺧﻮاﺳﺖﻫﺎی ‪ HTTP‬درﯾﺎﻓﺖ ﺷﺪه را ﭘﺎﺳ ﻣ ﮔﻮﯾﺪ.‬ ‫ﺷ‪‬ﻞ ١١ ﻧﻤﺎﯾﯽ از ﺑﺎر ﺷﺪن ﯾ‪ ‬ﺳﻨﺪ از دﯾﺪ وب ﺳﺮور‬ ‫02‬
  • 35. ‫‪ HTTPS‬ﻫﻤﺎن ﭘﺮوﺗﮑﻞ ‪ HTTP‬اﺳﺖ ﮐﻪ در ﻻﯾﻪ زﯾﺮﯾﻦ ﺧﻮد ﺑﺮ روی ﭘﺮوﺗﮑﻞ ‪) SSL‬ﺎﯾ‬ ‫ﻧﺴﺨﻪ ﺟﺪﯾﺪ آن ‪ (TLS‬ﺗﮑﯿﻪ ﻣ ﺪﻨﮐ. اﯾﻦ ﭘﺮوﺗﮑﻞﻫﺎ وﻇﯿﻔﻪ رﻣﺰﮔﺬاری دادهﻫﺎ را ﺑﺮ ﻋﻬﺪه‬ ‫ﮐﻪ ﺷﺨﺺ ﺛﺎﻟﺜ ارﺗﺒﺎط اﯾﻨﮕﻮﻧﻪ را ﺷﻨﻮد ﮐﻨﺪ، دادهﻫﺎی ﻧﺎﻣﻔﻬﻮم‬ ‫دارﻧﺪ، ﻟﺬا در ﺻﻮرﺗ‬ ‫درﯾﺎﻓﺖ ﻣ ﮐﻨﺪ و ﻧﻤ ﺗﻮاﻧﺪ ﺗﺸﺨﯿﺺ دﻫﺪ ﮐﻪ ﻣﺨﺎﻃﺐ در ﺣﺎل ﻣﺮور ﭼﻪ ﺳﺎﯾﺘ و ﭼﻪ ﺻﻔﺤﺎﺗ‬ ‫اﺳﺖ، ﺑﻠ ﻪ ﺗﻨﻬﺎ ﺑﻪ آی ﭘﯽ ﻣﻘﺼﺪ دﺳﺘﺮﺳ داﺷﺘﻪ ﻣ ﺗﻮاﻧﺪ ﺳﺮور ﻣﺨﺎﻃﺐ را ﺗﺸﺨﯿﺺ دﻫﺪ.‬ ‫ﺳﺮورﻫﺎی وب ﻣﺤﺘﻮا را ﺑﻪ دو ﺻﻮرت اﯾﺴﺘﺎ و ﭘﻮﯾﺎ ﺑﻪ ﮐﺎرﺑﺮان ﺗﺤﻮﯾﻞ ﻣ دﻫﻨﺪ. در ﻣﺪل‬ ‫اﯾﺴﺘﺎ، ﺳﺮور ﺑﺎ ﺗﺸﺨﯿﺺ ﻣﻘﺼﺪ درﺧﻮاﺳﺖ، ﻓﺎﯾﻞ ﻣﺮﺑﻮﻃﻪ را از ﻃﺮﯾﻖ ﭘﺮوﺗﮑﻞ ‪ HTTP‬ﻪﺑ‬ ‫ﺑﻪ ﺗﻌﺪادی‬ ‫ﻣﺸﺘﺮی ﺗﺤﻮﯾﻞ ﻣ دﻫﺪ. ﻣﻌﻤﻮﻻ ﺳﺮورﻫﺎ ﺑﺎ اﺳﺘﻔﺎده از ﺗﻨﻈﯿﻤﺎت ﺧﺎﺻ‬ ‫ﺳﺮور ﻗﺮار ﺑ ﯿﺮﻧﺪ.‬ ‫‪ VirtualHost‬ﺗﻘﺴﯿﻢ ﻣ ﺷﻮﻧﺪ ﺗﺎ ﭼﻨﺪﯾﻦ ﺳﺎﯾﺖ ﺑﺘﻮاﻧﻨﺪ ﺑﺮ روی ﯾ‬ ‫در ﻣﺪل ﭘﻮﯾﺎ، ﺳﺮور ﺑﺎ ﺗﺸﺨﯿﺺ ﻧﻮع درﺧﻮاﺳﺖ ﻣﺸﺘﺮی و ﺑﺮ اﺳﺎس ﺗﻨﻈﯿﻤﺎت ﺧﻮد، ﻗﻄﻌﻪ‬ ‫ﮐﺪ ﺧﺎﺻ را اﺟﺮا ﻣ ﻧﻤﺎﯾﺪ و ﺧﺮوﺟ آﻧﺮا ﺑﻪ ﮐﺎرﺑﺮ ﺗﺤﻮﯾﻞ ﻣ دﻫﺪ. ﮐﺪ ﻣﺮﺑﻮﻃﻪ ﻣﻌﻤﻮﻻ ﺑﺎ ﯾ‬ ‫از زﺑﺎنﻫﺎی ﺳﻤﺖ ﺳﺮور )‪ (Server Side Includes‬ﻧﻮﺷﺘﻪ ﺷﺪه اﺳﺖ.‬ ‫ﭘﺮوﺳﻪ وب اﺳﺖ، ﺳﺮﻋﺖ و ﮐﺎراﯾﯽ آن اﻫﻤﯿﺖ‬ ‫از آﻧﺠﺎﯾﯽ ﮐﻪ ﺳﺮور وب ﻧﻘﻄﻪ ﺷﺮوع ﯾ‬ ‫ﺑﺴﺰاﯾﯽ دارد. درﺻﺪ ﻗﺎﺑﻞ ﺗﻮﺟﻬ از ﺣﻤﻼت ﺟﻠﻮﮔﯿﺮی از ﺳﺮوﯾﺲ )‪ (Denial of Service‬ﺮﺑ‬ ‫روی ﺳﺮورﻫﺎی وب اﻧﺠﺎم ﻣ ﮔﯿﺮﻧﺪ، زﯾﺮا ﺑﻪ ازای ﻫﺮ درﺧﻮاﺳﺖ ﮐﺎرﺑﺮ، ﺳﺮور ﺑﺎﯾﺪ ﺣﺠﻢ ﻗﺎﺑﻞ‬ ‫ﺗﻮﺟﻬ ﮐﺎر اﻧﺠﺎم دﻫﺪ.‬ ‫از دﯾﺪﮔﺎه ﮐﺎراﯾﯽ، ﺳﺮورﻫﺎ ﺑﻪ دو دﺳﺘﻪ ‪ Threaded‬و ‪ Processed‬ﺗﻘﺴﯿﻢ ﻣ ﺷﻮﻧﺪ. در‬ ‫ﻧ ﺟﺪاﮔﺎﻧﻪ اﺧﺘﺼﺎص ﻣ دﻫﺪ و ﻧ ﻣﺮﺑﻮﻃﻪ وﻇﯿﻔﻪ‬ ‫ﻧﻮع اول، ﺳﺮور ﻫﺮ درﺧﻮاﺳﺖ را ﺑﻪ ﯾ‬ ‫ﻓﺮآﯾﻨﺪ‬ ‫ﮐﺎرﺑﺮ، ﯾ‬ ‫اﺟﺮای درﺧﻮاﺳﺖ را دارد.در ﻣﺪل دوم ﺳﺮور ﺑﻪ ازای ﻫﺮ درﺧﻮاﺳﺖ ﯾ‬ ‫ﺪﯾﺪﺟ اﯾﺠﺎد ﻣ ﮐﻨﺪ و ﺳﺮوﯾﺲدﻫ ﮐﺎرﺑﺮ را ﺑﻪ آن ﻓﺮآﯾﻨﺪ ﻣ ﺳﭙﺎرد.‬ ‫12‬
  • 36. ‫ﭘﺮ واﺿ اﺳﺖ ﮐﻪ روش اول ﺑﺎزدﻫ ﺑﺴﯿﺎر ﺑﺎﻻﺗﺮی دارد و ﺳﺮﻋﺖ ﻗﺎﺑﻞ ﺗﻮﺟﻪﺗﺮی ﮐﺴﺐ‬ ‫از ﻧ ﻫﺎ دﭼﺎر ﻣﺸ ﻞ ﺷﻮد، ﯾﺎ ﻣﻌﻀﻞ اﻣﻨﯿﺘ ﺑﺮای آن ﭘﯿﺶ ﺑﯿﺎﯾﺪ، ﺗﻤﺎم‬ ‫ﻣ ﮐﻨﺪ، وﻟ اﮔﺮ ﯾ‬ ‫از ﻓﺮآﯾﻨﺪﺎﻫ‬ ‫ﻧ ﻫﺎی دﯾ ﺮ ﺗﺤﺖ ﺗﺎﺛﯿﺮ ﻗﺮار ﺧﻮاﻫﻨﺪ ﮔﺮﻓﺖ. در ﻣﺪل ﻓﺮآﯾﻨﺪی در ﺻﻮرﺗ ﮐﻪ ﯾ‬ ‫ﺷﻮد ﯾﺎ ﻣﺸ ﻞﺳﺎز ﺑﺎﺷﺪ، ﻣﺸ ﻠ ﺑﺮای ﻣﺎﺑﻘ ﻓﺮآﯾﻨﺪﻫﺎ ﻣﺘﺼﻮﯾﺮ ﻧﯿﺴﺖ.‬ ‫ﻫ‬ ‫ﻫﻤﭽﻨﯿﻦ از ﻧﻈﺮ ﻣﺪ اﺟﺮا ﻣ ﺗﻮان وب ﺳﺮورﻫﺎ را ﺑﻪ دو دﺳﺘﻪ ﻫﺴﺘﻪای و ﮐﺎرﺑﺮی ﺗﻘﺴﯿﻢ‬ ‫ﻧﻤﻮد. وب ﺳﺮورﻫﺎی ﻫﺴﺘﻪای، در ﺣﻠﻘﻪ ﺻﻔﺮ ﺳﯿﺴﺘﻢ و ﺑﺎ دﺳﺘﺮﺳ ﻫﺴﺘﻪ )‪ (Kernel‬اﺟﺮا‬ ‫ﺑﻪ ﺑﺎﻻ(‬ ‫ﻣ ﺷﻮﻧﺪ، ﻟﺬا ﺳﺮﻋﺖ ﻗﺎﺑﻞ ﻣﻼﺣﻈﻪای دارﻧﺪ. ﻣﺪل ﮐﺎرﺑﺮی در ﻓﻀﺎی ﮐﺎرﺑﺮ )ﺣﻠﻘﻪ ﯾ‬ ‫اﺟﺮا ﻣ ﮔﺮدد و ﺳﺮﻋﺖ ﺑﺴﯿﺎر ﮐﻤﺘﺮی دارد.ﻣﺪل ﻫﺴﺘﻪای در ﺻﻮرﺗ ﮐﻪ دﭼﺎر ﺣﻤﻠﻪ ﯾﺎ ﻣﻌﻀﻞ‬ ‫ﺷﻮد، ﺑﺎﻋﺚ ﺗﻮﻗﻒ )‪ (Halt‬ﮐﻞ ﺳﯿﺴﺘﻢ ﻣ ﺷﻮد و ﻗﺎﺑﻞ ﺑﺎزﯾﺎﺑﯽ ﻧﯿﺴﺖ. ﻣﺪل ﮐﺎرﺑﺮی در ﻣﻘﺎﺑﻞ‬ ‫اﯾﻦ ﻣﺸ ﻼت ﻣﻘﺎومﺗﺮ اﺳﺖ.‬ ‫وب ﺳﺮورﻫﺎی ﻣﻌﺮوﻓ ﮐﻪ در ﺣﺎل ﺣﺎﺿﺮ در ﻓﻀﺎی اﯾﻨﺘﺮﻧﺖ وﺟﻮد دارﻧﺪ، ﻋﺒﺎرﺗﻨﺪ از:‬ ‫١٬٦٬٤٬٢ ‪Apache‬‬ ‫در ﺣﺎل ﺣﺎﺿﺮ ﻧﺴﺨﻪ آن ۴٬٢ ﺑﻮده، ﺗﻮﺳﻂ ﺑﻨﯿﺎد ﻣﺘﻦ ﺑﺎز آﭘﺎﭼ اراﺋﻪ ﻣ ﺷﻮد. آﭘﺎﭼ در‬ ‫ﻣﺪ ﮐﺎرﺑﺮی و ﻣﺒﺘﻨ ﺑﺮ ﻓﺮآﯾﻨﺪ اﺟﺮا ﻣ ﺷﻮد. ﺑﯿﺶ از ۵۶% ﮐﻞ وب ﺳﺮورﻫﺎی اﯾﻨﺘﺮﻧﺘ از اﯾﻦ‬ ‫ﻧﺮماﻓﺰار اﺳﺘﻔﺎده ﻣ ﻧﻤﺎﯾﻨﺪ. آﭘﺎﭼ اﻣ ﺎن اﺟﺮا و ﭘﺸﺘﯿﺒﺎﻧ ﺗﻤﺎم ﻣﺪﻫﺎ و زﺑﺎنﻫﺎی وب را‬ ‫داراﺳﺖ.‬ ‫22‬
  • 37. ‫ﺷ‪‬ﻞ ٢١ ﻧﻤﺎﯾﻪ آﭘﺎﭼ‪) ‬وب ﺳﺮور(‬ ‫٢٬٦٬٤٬٢ )‪Internet Information Services (IIS‬‬ ‫وب ﺳﺮور ﻣﺎﯾ ﺮوﺳﺎﻓﺖ ﮐﻪ ﻣﻌﻤﻮﻻ ﺑﺮ ﺑﺴﺘﺮ ﻣﺎﯾ ﺮوﺳﺎﻓﺘ اﺟﺮا ﻣ ﺷﻮد. ﻣﺪ اﺟﺮای آن در‬ ‫ﻫﺴﺘﻪ اﺳﺖ و ﻣﺒﺘﻨ ﺑﺮ ﻧ ﻋﻤﻞ ﻣ ﮐﻨﺪ. ﮐﻤﺘﺮ از ۵١% وب ﺳﺎﯾﺖﻫﺎی دﻧﯿﺎ از اﯾﻦ ﺳﺮور‬ ‫اﺳﺘﻔﺎده ﻣ ﻧﻤﺎﯾﻨﺪ.‬ ‫ﺷ‪‬ﻞ ٣١ ﺻﻔﺤﻪ ﭘﯿﺸﻔﺮض 7 ‪IIS‬‬ ‫32‬
  • 38. ‫٣٬٦٬٤٬٢ ‪nginx‬‬ ‫ﺗﻮﺳﻌﻪ دﻫﻨﺪه روﺳ . ﺗﻘﺮﯾﺒﺎ ٠١ درﺻﺪ ﺳﺎﯾﺘﻬﺎی‬ ‫ﺳﺮور ﻣﺘﻦ ﺑﺎز و ﺳﺎده ﺗﻮﺳﻂ ﯾ‬ ‫ﯾ‬ ‫اﯾﻨﺘﺮﻧﺘ از اﯾﻦ ﺳﺮور اﺳﺘﻔﺎده ﻣ ﮐﻨﻨﺪ. ﻣﺰﯾﺖ اﺻﻠ اﯾﻦ ﺳﺮور ﺳﺮﻋﺖ ﺑﺴﯿﺎر ﺑﺎﻻ و ﭘﯿﭽﯿﺪﮔ‬ ‫ﺑﺴﯿﺎر ﭘﺎﯾﯿﻦ آن اﺳﺖ. ﻣﻌﻤﻮﻻ ﺟﺎﯾ ﺰﯾﻨ ﺑﺮای آﭘﺎﭼ ﺗﻠﻘ ﻣ ﺷﻮد.‬ ‫ﺷ‪‬ﻞ ٤١ ﻧﻤﺎﯾﻪ ‪nginx‬‬ ‫• ‪ : Google Web Server‬وب ﺳﺮور ﻣﻮرد اﺳﺘﻔﺎده ﺗﻮﺳﻂ ﮔﻮﮔﻞ ﮐﻪ ﻣﺘﻦ ﺑﺎز ﺷﺪه‬ ‫اﺳﺖ. ﺣﺪود ٣% ﺳﺎﯾﺖﻫﺎی اﯾﻨﺘﺮﻧﺘ از اﯾﻦ ﺗﮑﻨﻮﻟﻮژی اﺳﺘﻔﺎده ﻣ ﮐﻨﻨﺪ ﮐﻪ اﮐﺜﺮ‬ ‫آﻧﻬﺎ ﻣﺘﻌﻠﻖ ﺑﻪ ﮔﻮﮔﻞ اﺳﺖ.‬ ‫• ‪ :lighttpd‬ﻧﺎم ﻓﺎﯾﻞ اﺟﺮاﯾﯽ آﭘﺎﭼ ، ‪ httpd‬ﺑﻪ ﻣﻌﻨ ‪ HTTP Daemon‬ﯾﺎ ﻏﻮل‬ ‫اراﺋﻪ دﻫﻨﺪه اچ ﺗ ﺗ ﭘﯽ اﺳﺖ. وب ﺳﺮور ‪ lighttpd‬ﺑﺎ ﻫﺪف اﯾﺠﺎد ﻧﺴﺨﻪ ﻣﺸﺎﺑﻪ‬ ‫آﭘﺎﭼ اﯾﺠﺎد ﺷﺪه اﺳﺖ و ﺑﺎ روی ﮐﺎر آﻣﺪن ‪ nginx‬روﻧﻖ‬ ‫وﻟ ﺑﺴﯿﺎر ﺳﺎده و ﺳﺒ‬ ‫ﺧﻮد را از دﺳﺖ داده اﺳﺖ.‬ ‫42‬
  • 39. ‫ﺷ‪‬ﻞ ٥١ درﺻﺪ ﻣﺼﺮف وب ﺳﺮورﻫﺎی ﻣﺨﺘﻠﻒ در ﺳﺎﻟﻬﺎی ﻣﺨﺘﻠﻒ )ﮔﺰارش ﺷﺪه ﺗﻮﺳﻂ ﻧﺖ ﮐﺮاﻓﺖ(‬ ‫از وبﺳﺮورﻫﺎی ﻣﻌﺮﻓ ﺷﺪه، ﺗﻤﺎم آﻧﻬﺎ ﺑﺮ روی ﻫﻤﻪ ﺳ ﻮﻫﺎ ﻗﺎﺑﻞ اﺟﺮا ﻫﺴﺘﻨﺪ ﻣ ﺮ ‪IIS‬‬ ‫ﮐﻪ ﺗﻨﻬﺎ ﺑﺮ روی ﻧﺴﺨﻪﻫﺎی ﺳﺮور وﯾﻨﺪوز ﻗﺎﺑﻞ اﺟﺮاﺳﺖ.‬ ‫‪Server Side Scripts‬‬ ‫٧٬۴٬٢‬ ‫وب اﯾﺴﺘﺎ، اﻣﺮوزه ﺗﻘﺮﯾﺒﺎ از دور ﺧﺎرج ﺷﺪه اﺳﺖ و وبﻫﺎی ﭘﻮﯾﺎ ﺗﻤﺎم اﯾﻨﺘﺮﻧﺖ را ﭘﺮ ﮐﺮده-‬ ‫ﻣﻮﺳﺴﻪ ﺳﺎده ﻧﯿﺰ از اﻣ ﺎﻧﺎت ﭘﻮﯾﺎ ﺟﻬﺖ ﺗﻤﺎس ﺑﺎ ﻣﺸﺘﺮﯾﺎن و‬ ‫اﻧﺪ. ﺣﺘ ﺳﺎﯾﺖ ﻣﻌﺮﻓ ﯾ‬ ‫ردﮔﯿﺮی آﻧﺎن اﺳﺘﻔﺎده ﻣ ﻧﻤﺎﯾﺪ.‬ ‫52‬
  • 40. ‫در اﺑﺘﺪا از زﺑﺎنﻫﺎی ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺴ ﻣﻌﻤﻮﻟ ﻣﺎﻧﻨﺪ ‪ C‬و ++‪ C‬و ‪ Perl‬ﺑﺮای ﻧﻮﺷﺘﻦ وب ﭘﻮﯾﺎ‬ ‫اﺳﺘﻔﺎده ﻣ ﺷﺪ. ﺑﻪ اﯾﻦ ﺑﺮﻧﺎﻣﻪﻫﺎ ‪ CGI Script‬ﻣ ﮔﻔﺘﻨﺪ. ﻣﺸ ﻞ اﺻﻠ ﺳ ﺟ آی در اﯾﻦ‬ ‫ﺑﻮد ﮐﻪ ﻧﻪ ﺗﻨﻬﺎ ﻣﺤﺘﻮای ﺻﻔﺤﻪ ﺧﺮوﺟ ، ﺑﻠ ﻪ ﺳﺮآﯾﻨﺪﻫﺎی ‪ HTTP‬را ﻧﯿﺰ ﺑﺎﯾﺪ ﻣﺪﯾﺮﯾﺖ ﻣ ﮐﺮد.‬ ‫ﺷ‪‬ﻞ ٦١ ﮔﺮدش ﮐﺎر اﺟﺮای ﯾ‪CGI ‬‬ ‫ﻫﻤﺎﻧﻄﻮر ﮐﻪ ﻗﺒﻼ ﻣﺸﺎﻫﺪه ﺷﺪ، ﺳﺮآﯾﻨﺪ درﺧﻮاﺳﺖ ‪ HTTP‬ﺣﺎوی ﭘﺎراﻣﺘﺮﻫﺎی ﻣﻬﻤﯿﺴﺖ‬ ‫و ﺗﻔﻬﯿﻢ ﺷﻮﻧﺪ. ﻫﻤﭽﻨﯿﻦ ﺑﺪﻧﻪ درﺧﻮاﺳﺖ ‪ HTTP‬ﻣ ﺗﻮاﻧﺴﺖ‬ ‫ﮐﻪ ﺗﻮﺳﻂ ﺑﺮﻧﺎﻣﻪ ﺑﺎﯾﺪ ﺗﻔﮑﯿ‬ ‫ﺣﺎوی دادهﻫﺎی ارﺳﺎﻟ ﺑﻪ ﺳﺮور ﺑﺎﺷﺪ. ﺳﺮآﯾﻨﺪ ﭘﺎﺳ ﻧﯿﺰ ﻣ ﺑﺎﯾﺴﺖ دارای اﺳﺘﺎﻧﺪاردﻫﺎ و‬ ‫ﻗﻮاﻋﺪ ﺧﺎﺻ ﻣ ﺑﻮد ﮐﻪ رﻋﺎﯾﺖ و اﯾﺠﺎد ﺗﻤﺎﻣ آﻧﻬﺎ ﺗﻮﺳﻂ ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺲ، ﮐﺎر را ﺑﺴﯿﺎر دﺷﻮار‬ ‫ﻣ ﮐﺮد.‬ ‫ﻧﮑﺘﻪ ﺑﺴﯿﺎر ﻣﻬﻢ دﯾ ﺮی ﮐﻪ در وب ﻣﻄﺮح ﺑﻮد، ﺣﺠﻢ زﯾﺎد ﺧﺮوﺟ ﺑﻪ ﻧﺴﺒﺖ ﮐﺪ ﺑﻮد. اﮐﺜﺮ‬ ‫ﺑﺮﻧﺎﻣﻪﻫﺎی ﺗﺤﺖ وب ﺑﯿﺶ از ٠٩% ﺣﺠﻢ ﮐﺪ ﺧﻮد را ﺑﻪ اﯾﺠﺎد ﺧﺮوﺟ ﻫﺎی ﻻزم اﺧﺘﺼﺎص‬ ‫62‬
  • 41. ‫ﻣ دﻫﻨﺪ و ﺗﻨﻬﺎ ٠١% ﺑﺮای ﭘﺮدازش دادهﻫﺎ و ﻣﻨﻄﻖ ﺑﺮﻧﺎﻣﻪ ﺻﺮف ﻣ ﺷﻮد، و اﻣ ﺎﻧﺎت‬ ‫ﺧﺮوﺟ دادن زﺑﺎنﻫﺎﯾﯽ ﻣﺎﻧﻨﺪ ‪ C‬ﺑﺴﯿﺎر ﻣﺤﺪود و دﺷﻮار ﺑﻮد )‪.(printf‬‬ ‫‪ CGI‬از ﺳﺎل ۵٩٩١ ﻣﻮﺟﻮد ﺑﻮد وﻟ از ﺳﺎل ٨٩٩١ زﺑﺎنﻫﺎی ﺟﺪﯾﺪی ﺑﺎ ﺗﻤﺮﮐﺰ ﺑﺮ روی‬ ‫ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺴ وب ﺑﻪ ﻣﯿﺎن آﻣﺪﻧﺪ. ‪ ASP‬ﻣﺎﯾ ﺮوﺳﺎﻓﺖ از ﻗﺪﯾﻤ ﺗﺮﯾﻦ آﻧﻬﺎﺳﺖ. وﯾﮋﮔ ﺑﺎرز اﯾﻦ‬ ‫زﺑﺎنﻫﺎ در اﯾﻦ اﺳﺖ ﮐﻪ ﺧﻮد ﺳﺮآﯾﻨﺪ و ﺑﺪﻧﻪ درﺧﻮاﺳﺖ ‪ HTTP‬را ﭘﺮدازش ﮐﺮده، در ﻗﺎﻟﺐﻫﺎی‬ ‫ﺑﺴﯿﺎر ﺳﺎده ﺑﻪ ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺲ ﺗﺤﻮﯾﻞ ﻣ دﻫﻨﺪ. ﻫﻤﭽﻨﯿﻦ ﺳﺮآﯾﻨﺪﻫﺎی ﭘﺎﺳ را ﺑﻪ ﺳﺎدﮔ ﺑﺮ‬ ‫اﺳﺎس ﺧﺮوﺟ ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺲ ﺑﻪ ﺻﻮرت ﺧﻮدﮐﺎر اﯾﺠﺎد و ارﺳﺎل ﻣ ﻧﻤﺎﯾﻨﺪ. ﻫﻤﭽﻨﯿﻦ اﯾﻦ زﺑﺎن-‬ ‫ﻫﺎ اﮐﺜﺮا اﻣ ﺎن ﺗﻮﺳﻌﻪ ﺑﺮﻧﺎﻣﻪ ﺳﺮﯾﻊ )‪ (RAD‬را دارا ﻫﺴﺘﻨﺪ ﺗﺎ ﺑﻪ ﺳﺎدﮔ و ﺳﺮﻋﺖ ﺑﺘﻮان‬ ‫ﺻﻔﺤﺎت وب ﭘﻮﯾﺎ را ﺑﺎ آﻧﻬﺎ اﯾﺠﺎد ﻧﻤﻮد.‬ ‫زﺑﺎنﻫﺎی ﻣﻄﺮح ﺳﻤﺖ ﺳﺮور ﺑﻪ ﺷﺮح زﯾﺮ ﻫﺴﺘﻨﺪ:‬ ‫١٬٧٬٤٬٢ ‪PHP‬‬ ‫ﭘﯽ اچ ﭘﯽ، ﺑﻪ ﻋﻨﻮان ﻣﻌﺮوﻓﺘﺮﯾﻦ و ﭘﺮ اﺳﺘﻔﺎدهﺗﺮﯾﻦ زﺑﺎن ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺴ ﺗﺤﺖ وب، در ﺣﺎل‬ ‫ﺣﺎﺿﺮ ﺑﯿﺶ از ۵٧ درﺻﺪ ﮐﻞ ﺳﺎﯾﺖﻫﺎی ﭘﻮﯾﺎی اﯾﻨﺘﺮﻧﺖ را از آن ﺧﻮد ﮐﺮده اﺳﺖ. ﭘﯽ اچ ﭘﯽ‬ ‫زﺑﺎﻧ ﺑﺴﯿﺎر ﻗﺪرﺗﻤﻨﺪ، ﺳﺮﯾﻊ و ﺳﺎده اﺳﺖ.‬ ‫ﺷ‪‬ﻞ ٧١ ﻧﻤﺎﯾﻪ ﺳﺎده و ﻣﺤﺒﻮب ‪PHP‬‬ ‫72‬
  • 42. ‫ﻣﺘﻐﯿﺮﻫﺎ ﺑﻪ ﺻﻮرت آزاد، ﺑﺎﻋﺚ ﻣ ﺷﻮد ﺑﺮﻧﺎﻣﻪﺲﯾﻮﻧ ‪ 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‬
  • 43. ‫ﻣﺘﺎﺳﻔﺎﻧﻪ اﮐﺜﺮ اﯾﻦ ﭼﻬﺎرﭼﻮبﻫﺎ ، ﺗﻮﺳﻂ ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺴﺎن ﻣﻌﻤﻮﻟ و ﻣﺘﻦﺑﺎز ﻃﺮاﺣ ﺷﺪهاﻧﺪ و‬ ‫اﯾﻦ اﻣﺮ ﻣﻨﺠﺮ ﺑﻪ ﻋﺪم رﻋﺎﯾﺖ اﺻﻮل اﻣﻨﯿﺘ در اﮐﺜﺮ آﻧﻬﺎ ﮔﺮدﯾﺪه اﺳﺖ.‬ ‫٢٬٧٬٤٬٢ ‪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‬
  • 44. ‫‪ ASP.NET‬ﺧﻮد ﺑﺮ روی ‪ .NET Framework‬ﺑﻨﺎ ﺷﺪه ﮐﻪ ﻣﺠﻤﻮﻋﻪ ﮐﺎﻣﻞ و ﺑﯽ ﻧﻘﺼ‬ ‫از ﮐﺘﺎﺑﺨﺎﻧﻪﻫﺎ، ﺗﻮاﺑﻊ و ﮐﻼسﻫﺎی ﻻزم ﺑﺮای ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺴﯿﺴﺖ و ﺟﺎﯾ ﺰﯾﻦ ﭼﻬﺎرﭼﻮبﻫﺎی ﻣﺘﻦ‬ ‫ﺑﺎز اﺳﺘﻔﺎده ﺷﺪه در ‪ PHP‬ﻣ ﺑﺎﺷﺪ.‬ ‫از آﻧﺠﺎﯾﯽ ﮐﻪ اﯾﻦ ﺗﮑﻨﻮﻟﻮژیﻫﺎ در اﯾﺮان راﯾ ﺎن ﻫﺴﺘﻨﺪ، و ﮐﺎر ﺑﺎ آﻧﻬﺎ ﺑﺮای ﻣﺒﺘﺪﯾﺎن ﺑﺴﯿﺎر‬ ‫ﺳﺎده اﺳﺖ، ﺑﯿﺸﺘﺮ ﺑﺎزار وب اﯾﺮان را اﯾﻦ ﺗﮑﻨﻮﻟﻮژی ﭘﺮ ﮐﺮده اﺳﺖ.‬ ‫٣٬٧٬٤٬٢ )‪Java (JSP‬‬ ‫ﺟﺎوا ﻫﻢ ﭘﺲ از ﭼﻨﺪی، ﺧﻮد را ﺑﻪ زﺑﺎنﻫﺎی ﺗﺤﺖ وب اﻓﺰود. ‪JSP‬‬ ‫ﯾﺎ ‪ Java Server Pages‬ﺗﮑﻨﻮﻟﻮژیای ﻣﺸﺎﺑﻪ ‪ CGI‬اﺳﺖ ﮐﻪ از زﺑﺎن‬ ‫ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺴ ﺟﺎوا اﺳﺘﻔﺎده ﻣ ﻧﻤﺎﯾﺪ. ﭘﯿﺪاﯾﺶ اﯾﻦ ﺗﮑﻨﻮﻟﻮژی ﺑﻪ دﻟﯿﻞ‬ ‫ﻣﺘﻌﺪد ﺑﻮدن ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺴﺎن ﺟﺎوا و ﭘﺎﯾﺪاری ﺑﺴﯿﺎر ﺑﺎﻻی آﻧﻬﺎ ﺑﻪ اﯾﻦ زﺑﺎن‬ ‫ﻗﺪﯾﻤ و ﻧﺎﺳﺮﯾﻊ داﻧﺴﺘﻪ ﻣ ﺷﻮد.‬ ‫ﺷ‪‬ﻞ ٩١ ﻧﻤﺎﯾﻪ ﺟﺎوا‬ ‫‪ JSP‬ﻣﻌﻤﻮﻻ ﺑﺮ روی ‪ Apache Tomcat‬ﺳﺮوﯾﺲ دﻫ ﻣ ﺷﻮد، ﺑﺴﯿﺎر ﮐﻨﺪ اﺳﺖ و ﻣﺸ ﻞ‬ ‫اﺻﻠ آن ﻋﺪم اﻣ ﺎن ﺧﺮوﺟ دادن وﺳﯿﻊ اﺳﺖ، ﮐﻪ ﺑﺎﻋﺚ ﺷﺪه ﻣﻌﻤﺎری وبﻫﺎی ﺟﺎوا ﺑﺎ‬ ‫‪ ASP‬و ‪ PHP‬ﺗﻔﺎوت ﻋﻤﺪهای داﺷﺘﻪ ﺑﺎﺷﺪ.‬ ‫٤٬٧٬٤٬٢ ‪ColdFusion‬‬ ‫‪ ColdFusion‬ﺗﮑﻨﻮﻟﻮژی وب اﻧﺤﺼﺎری ‪ Adobe‬اﺳﺖ. وﯾﮋﮔ ﻫﺎی ﺧﻮب و ﻗﺎﺑﻞ ﺗﻮﺟﻬ‬ ‫در اﯾﻦ زﺑﺎن ﮔﻨﺠﺎﻧﯿﺪه ﺷﺪه اﺳﺖ.‬ ‫03‬