1 00:00:00,000 --> 00:00:00,160 2 00:00:00,160 --> 00:00:02,660 >> Tagapagsalita 1: Ang lahat ng mga karapatan, sabihin kumuha ng isang tumingin sa kung paano ang solusyon staff talaga 3 00:00:02,660 --> 00:00:04,760 nagpapatakbo, sa gayon ay ikaw makakuha ng isang kahulugan, unang off 4 00:00:04,760 --> 00:00:06,930 kung paano ang mga web server ay dapat na tumakbo, at kung paano mo talaga 5 00:00:06,930 --> 00:00:08,480 kumuha ito tumatakbo sa iyong sariling computer. 6 00:00:08,480 --> 00:00:09,350 Kaya ang larawan na ito dito. 7 00:00:09,350 --> 00:00:13,640 Na-install ko sa CS50 ID pset6 dot zip, bawat ang mga detalye. 8 00:00:13,640 --> 00:00:16,197 Unzipped ko, at na ako CDed sa aking direktoryo pset6. 9 00:00:16,197 --> 00:00:18,780 Isa sa mga unang bagay na ikaw ay pagpunta sa nais na gawin, lalo na 10 00:00:18,780 --> 00:00:22,010 kung kayo ay gumagamit ng isang CS50 IDE upang i-play kasama ang mga nakaraang aralin, kung saan ang 11 00:00:22,010 --> 00:00:25,640 hindi namin ginagamit PHP in CS50 IDE, partikular, 12 00:00:25,640 --> 00:00:29,050 gamit ang web server na tinatawag na Apache, kung saan maaari kang magsimula at huminto ito 13 00:00:29,050 --> 00:00:30,910 sa na command, Apache 50. 14 00:00:30,910 --> 00:00:34,160 Una, sige, at type ang "Apache 50 stop" 15 00:00:34,160 --> 00:00:37,370 upang tiyakin lamang na kung ikaw ay sumusunod na kasama sa mga nakaraang araw, 16 00:00:37,370 --> 00:00:40,090 at naka-on ang Apache, ikaw ay pag-off ng mga ito sa ganitong paraan 17 00:00:40,090 --> 00:00:41,360 sa pamamagitan ng paghinto sa server. 18 00:00:41,360 --> 00:00:44,110 Ngayon, kung ano ako pagpunta sa gawin ay eksaktong sasabihin sa akin ng spec na gawin. 19 00:00:44,110 --> 00:00:49,770 Pupunta ako sa pumunta sa tilda CS50 slash pset6 slash server, at pindutin lang ang Enter. 20 00:00:49,770 --> 00:00:52,840 Mapapansin mo na ako yelled sa kasama ang ilang mga impormasyon sa paggamit, kung saan ang 21 00:00:52,840 --> 00:00:54,960 Ako ay dapat na tumatakbo ang programa bilang server 22 00:00:54,960 --> 00:00:58,230 sa isang opsyonal dash p at pagkatapos ng isang numero ng port, na kung saan maaari mong talagang 23 00:00:58,230 --> 00:01:00,720 iwanang blangko dahil sa pamamagitan ng default, bawat ang spec, 24 00:01:00,720 --> 00:01:04,010 ang web server ay pagpunta sa ipalagay na nais mong port 8080. 25 00:01:04,010 --> 00:01:07,560 Samantala, maaari mong isipin ang na port 8080 ay hindi tunay na standard, 26 00:01:07,560 --> 00:01:09,380 sa halip port 80 ay ang number kami uusapang 27 00:01:09,380 --> 00:01:11,440 tungkol sa pagiging ang default para sa HTTP. 28 00:01:11,440 --> 00:01:14,870 Well, lumiliko out na CS50 IDE ay nagre-configure sa isang paraan, 29 00:01:14,870 --> 00:01:18,730 tulad na kapag ikaw ay may isang browser subukan upang bisitahin ang port 80 mula sa labas ng mundo, 30 00:01:18,730 --> 00:01:22,210 ito ay pagpunta sa uri-uriin ng magically port forward, o pag-redirect sa kanyang sarili, 31 00:01:22,210 --> 00:01:25,200 sa port 8080 sa loob ng iyong server mismo. 32 00:01:25,200 --> 00:01:29,330 >> Kaya ang huling bagay dito ay ang command argument ng linya, ang landas sa ruta. 33 00:01:29,330 --> 00:01:31,590 At sa pamamagitan ng na ko na lang Ibig sabihin, kung ano ang folder ko 34 00:01:31,590 --> 00:01:34,820 nais na sabihin sa server gamitin upang maglingkod up ng mga file? 35 00:01:34,820 --> 00:01:39,030 Sa ibang salita, kapag binisita ng mga user slash, kung ano ang dapat niyang makita? 36 00:01:39,030 --> 00:01:41,030 Well, sabihin sige at tumakbo nang eksakto na muli, 37 00:01:41,030 --> 00:01:43,940 oras na ito na tumutukoy na ako gusto ang mga ugat ng aking mga web server 38 00:01:43,940 --> 00:01:48,210 na ang pampublikong direktoryo, na nanggagaling sa hanay ng problema anim code distribution. 39 00:01:48,210 --> 00:01:50,620 Kapag ako pindutin ang Enter, makikita mo ang sa dilaw dito, isang paalala 40 00:01:50,620 --> 00:01:52,260 sa kung ano ang folder talagang gumagamit ako. 41 00:01:52,260 --> 00:01:55,870 Sa kasong ito, ito ay isang mahabang string, "pampublikong bahay Ubuntu workspace pset6." 42 00:01:55,870 --> 00:01:57,500 At iyon ang huling salita ay kung ano ang key. 43 00:01:57,500 --> 00:02:01,180 At pagkatapos ay sa wakas, tila, aking server ay ngayon pakikinig sa port 8080. 44 00:02:01,180 --> 00:02:05,860 >> Ano ang susunod na ako pagpunta sa gawin ay pagpapabalik na sa ID CS50 sa tuktok na kanang sulok ng kamay 45 00:02:05,860 --> 00:02:09,440 ng iyong screen, ikaw ay pagpunta upang makita ang isang URL na ide50-username.cs50.io. 46 00:02:09,440 --> 00:02:12,860 47 00:02:12,860 --> 00:02:15,080 At sa katunayan, kung nag-click ka na, ikaw ay whisked malayo 48 00:02:15,080 --> 00:02:17,090 sa isa pang tab browser, na, sa kasong ito, 49 00:02:17,090 --> 00:02:20,830 ay pagpunta upang ipakita sa akin ang mga nilalaman sa aking mga web server Roots. 50 00:02:20,830 --> 00:02:24,770 Sa ibang salita, ang mga file na makikita mo dito, cat dot HTML, cat dot JPEG, favicon dot 51 00:02:24,770 --> 00:02:27,690 ico, hello dot HTML, kumusta dot php, at pagsubok, 52 00:02:27,690 --> 00:02:29,800 ay ang lahat ng parehong mga mga nilalaman na nais mong makita 53 00:02:29,800 --> 00:02:32,560 may LS loob ng aking pampublikong direktoryo. 54 00:02:32,560 --> 00:02:36,790 At kung ano ang magaling na kung pumunta ako magpatuloy at i-click ang ngayon sa cat dot HTML, 55 00:02:36,790 --> 00:02:38,710 Nakakakita ako ng cat dot HTML. 56 00:02:38,710 --> 00:02:42,660 At kung ako mag-click sa cat dot JPEG, o hello dot HTML, 57 00:02:42,660 --> 00:02:46,650 o kahit i-type ang pangalan ko David, at pagkatapos ay i-click ang "kamustahin," 58 00:02:46,650 --> 00:02:49,420 makikita mo na ang lahat ng mga file gumagana dahil ang staff 59 00:02:49,420 --> 00:02:52,820 solusyon, siyempre, na naka-install sa CS50 ID ay ganap na umaandar. 60 00:02:52,820 --> 00:02:57,090 Kaya nang eksakto kung ito ay gumagana tulad ng iyong sariling solusyon ay dapat na ganap na trabaho. 61 00:02:57,090 --> 00:03:00,990 >> Samantala, kung kami bumalik sa aking terminal window, kung saan nagpatakbo ako ng utos server, 62 00:03:00,990 --> 00:03:03,410 paunawa kung ano ang sinasabi ng mga console. 63 00:03:03,410 --> 00:03:07,890 Nakikita ko dito na na ang unang kahilingan Nakatanggap ako ay literal makakuha slash cat 64 00:03:07,890 --> 00:03:10,260 dot HTML, HTTP na bersyon 1.1. 65 00:03:10,260 --> 00:03:12,600 At pagkatapos, sa berde kung ano ang solusyon staff ay tapos na 66 00:03:12,600 --> 00:03:14,580 ay ang ito nagpapakita sa akin ang unang linya ng output 67 00:03:14,580 --> 00:03:16,340 na ang mga web server ay tumutugon sa. 68 00:03:16,340 --> 00:03:18,300 Sa ibang salita, hindi namin na nakasulat ang code 69 00:03:18,300 --> 00:03:21,530 na bubukas up na virtual sobre, naglalaman na request get. 70 00:03:21,530 --> 00:03:23,980 At pagkatapos ay tumugon tayo sa user ngunit, nang sabay-sabay, 71 00:03:23,980 --> 00:03:28,780 print sa screen output dito HTTP 1.1, 200 OK 72 00:03:28,780 --> 00:03:31,900 upang kumpirmahin kung ano ang aming paglagay sa sobre, kaya na magsalita, 73 00:03:31,900 --> 00:03:33,540 na namin ang pagpapadala pabalik sa gumagamit. 74 00:03:33,540 --> 00:03:36,200 >> At kaya kung ano ang nangyayari sa dito ay na sa terminal na window, 75 00:03:36,200 --> 00:03:38,510 kami ay tumatakbo sa web server, at, samakatuwid, ito ay 76 00:03:38,510 --> 00:03:42,480 pakikinig para sa HTTP mga kahilingan sa TCP port 8080. 77 00:03:42,480 --> 00:03:44,960 Samantala, sa aking web browser, bilang nag-click ako sa pamamagitan ng bawat 78 00:03:44,960 --> 00:03:48,480 ng mga file na iyon, o kahit na input ang aking pangalan David, at pagkatapos ay i-click ang Isumite, 79 00:03:48,480 --> 00:03:51,827 na ang aking browser pakikipag-usap sa mga web server. 80 00:03:51,827 --> 00:03:54,410 At kung ano ang ginagawa ng server ng web, pagkatapos, sa na terminal na window 81 00:03:54,410 --> 00:03:56,370 ay nagpapakita sa akin kung ang unang linya na 82 00:03:56,370 --> 00:03:58,540 ay natanggap sa isang virtual sobre at eksakto 83 00:03:58,540 --> 00:04:02,870 ang unang linya na ang pagiging tumugon sa sa na web client.