SIARADWR: Gadewch i ni siarad am un arall protocol-- y Trosglwyddo Hyperdestun Protocol, neu HTTP. Felly, rydym wedi siarad am IP a TCP mewn fideos blaenorol. A'r rhai protocolau sy'n pennu sut mae gwybodaeth symud o beiriant i beiriant a o un rhaglen i'r neu wasanaeth i wasanaeth trwy gyfrwng y rhyngrwyd, trwy rhwydwaith hwn o llwybryddion a pheiriannau. Ond dyna fel arfer nid y darlun cyfan, dde? Fel arfer pan fyddwn yn anfon gwybodaeth, y rhaglen itself-- pan fydd data ar a dderbyniwyd, dyweder, er enghraifft, mewn e-bost drwy borthladd TCP 25 neu cais dudalen we drwy borthladd 80, Fel arfer, mae 'na system o reolau yno i brosesu hyn yr wyf newydd wedi derbyn. Ac HTTP yn enghraifft o ddim ond protocol o'r fath. HTTP yw'r unig protocol haen cais ein bod ni'n mynd i siarad am. Ond mae'n set arall o reolau arddweud sut gwybodaeth yn cael ei throsglwyddo a'u prosesu drwy'r rhyngrwyd. Yn benodol, HTTP yn nodi yn union sut rhaid i un wneud cais am tudalen we a sut yn union y gweinydd, peiriant sy'n cynnal tudalennau gwe, yn darparu bod y wybodaeth yn ôl i gleientiaid. Felly, nid yw protocol hwn yn mewn gwirionedd yn cael unrhyw beth yn ymwneud â sut y caiff gwybodaeth yn symud o bwynt A i bwynt B. Mae'n wirioneddol y system o reolau for-- yn y bôn rheolau ymgysylltu ar gyfer gweithio gyda thudalen we, yn debyg i pan fydd rhywun tonnau eu llaw ar chi, rydych yn fod i tonnau yn ôl. Dyna fath o protocol dynol confensiynol. Protocol HTTP jyst yn dweud, os ydych am ofyn am we dudalen, gwnewch yn siŵr eich fformat edrych fel this-- fath o fformatio tebyg llythyr busnes, er enghraifft. A'r ymateb fydd un modd yn dod yn ôl y protocol hwn. Mae eraill protocolau haen cais nad ydym yn mynd i siarad am mewn fideos. Ond mae'r rhain yn cynnwys pethau fel Protocol Trosglwyddo Ffeiliau, Syml Protocol Trosglwyddo Mail am anfon e-byst, mae'r Dosbarthu Data Gwasanaeth, Remote Desktop Protocol, Cynllun Datblygu Gwledig, a oedd yn yn cael ei ddefnyddio os ydych eisiau bell mynediad eich cyfrifiadur rhag gyfrifiadur arall, XMPP, sydd yn aml a elwir yn Jabber neu sgwrs, felly mae hwn yn y protocol ar gyfer defnyddio gwasanaethau sgwrs. Ac mae llawer, llawer, llawer o rai eraill. Felly, bob tro y byddwch yn ei ddefnyddio gwasanaeth, y gwasanaeth yn disgwyl gwybodaeth i gael ei received-- cais i fod received-- mewn fformat penodol iawn ac mae'n ofynnol iddo dychwelyd gwybodaeth yn ôl mewn fformat penodol iawn hefyd. Felly gadewch i ni fynd yn ôl at ein darlun ohonom sydd am siarad â'r rhyngrwyd. Felly rydym yn hapus, ac yr ydym am i fynd i'r cats.com, dde? Felly, os ydym yn unig siarad â cats.com, efallai y byddwn yn dweud fel rhywbeth hey, gallaf weld eich tudalen cartref? Ac cats.com fydd yn ôl pob tebyg yn ymateb, ie, yn sicr. Yma byddwch yn mynd. Felly dyna rhyw fath dynol o ofyn ac ateb. Beth mae hynny'n edrych yn HTTP? Wel, mewn gwirionedd mae'n fath o cyfieithu 'n bert lân i rywbeth fel hyn. Efallai y byddwn yn dweud GET / HTTP / 1.1 o cats.com llu. Felly, yn y bôn yr hyn yr wyf i'n ei wneud yma yw yn gofyn am dudalen gwefan www.cats.com/. Fel arfer, byddwn yn hepgor y slaes y dyddiau hyn, ond byddai hynny yn unig golygu homepage cats.com yn. O, ac gyda llaw, dw i'n mynd fod yn defnyddio fersiwn HTTP 1.1 i gyfathrebu gyda chi. Dyna fath o debyg i gan ddywedyd, fel, gyda llaw, Rydw i'n mynd i gael ei siarad yn Ffrangeg, neu gyda llaw, Rydw i'n mynd i fod yn siarad yn Saesneg. Dyna dim ond fformat y protocol. Mae hefyd yn 1.0, sef na chaiff ei ddefnyddio yn gyffredin anymore. Felly rwy'n HTTP 1.1 siarad, ac Hoffwn www.cats.com/. Cysylltwch â hynny i mi. Ac yna mae gwybodaeth arall, too-- y dot, dot, dot yno, sef gwybodaeth am pwy ydych chi mor cats.com Byddai yn gwybod ble i anfon. Ond mae'r rhain yn y ddau math o rannau allweddol ar y cychwyn cyntaf o HTTP request-- yn union fel pan fyddwch yn dechrau llythyr yr ydych yn dweud, annwyl, yn wag. Mae hyn yn debyg iawn o ran ysbryd i hynny. Ac os cats.com yn mynd i yn dweud, oh, yn sicr, dyma i chi fynd. Efallai eu bod yn ymateb fel this-- Rwyf hefyd yn ymateb. Rwyf hefyd yn siarad HTTP 1.1. Mae eich cais yn cael ei gymeradwyo, 200 OK. Yr hyn yr ydych chi ar fin ei dderbyn yn HTML ac yna dot, dot, dot rhywfaint o wybodaeth ychwanegol. Ac ar waelod iawn o'r cais mewn gwirionedd y HTML, yr iaith marcio, mae'r cynnwys y dudalen gartref cats.com yn. Felly HTTP / 1.1-- wyf yn cydnabod eich cais yn cael ei dderbyn drwy HTTP 1.1. Mae eich cais ei gymeradwyo. Gallaf roi i chi yr hyn yr ydych ei eisiau, 200 OK. Rydych chi ar fin i dderbyn HTML. Ac yna dyma'r HTML eich bod yn gofyn. Ond weithiau nid yw ein ceisiadau yn ei wneud bob amser yn mynd yn eithaf yn ôl y cynllun. Alla i weld eich tudalen cats.html? Wel, beth os maent yn ei ddweud, yr ydym Nid oes rhaid i dudalen cats.html, sy'n ymddangos yn fath o afrealistig oherwydd eu bod cats.com. Byddech chi'n meddwl y byddent wedi cats.html. Ond OK. Felly mae hyn yn fath o rhyngweithio dynol confensiynol rydym yn awr wedi cael gyda cats.com. Sut mae hynny'n cyfieithu? Gallai hyn fod yn rhywbeth cyfarwydd i chi. Mae ein cais yn edrych yn union yr un fath, ac eithrio yn hytrach na chael slaes rydym yn awr yn cael cats.html. Felly, yn awr beth y bôn cyfan hwn cais yn cael ei ddweud yn cael ei roi i mi os gwelwch yn dda www.cats.com/cats.html. Felly y llu a chanol rhan o'r llinell uchaf mae yn dangos yn union pa dudalen yr wyf yn gofyn am. Ond nid yw cats.com yn yr achos hwn yn mynd er mwyn gallu ymateb yn gadarnhaol. Nid ydynt yn gwybod ein bod yn sôn amdano. Ac felly mae hyn yn rhywbeth y gallai fod gennych HTTP before-- a welwyd 1.1 404 Not Found. Nid oeddwn yn gallu dod o hyd i beth oeddech yn gofyn amdano. Gyda llaw, dw i'n mynd i roi i chi ôl rhyw HTML, ac fel arfer bod HTML yn cynnwys rhai 404 tudalen. Ac yn achos cats.com, mae'n debyg rhai cathod 'n giwt mewn basged gyda yn drist 404 wyneb nesaf atynt, oherwydd eich bod yn mynd i fod yn drist pan nad ydych yn cael dudalen eich bod yn chwilio amdano. Dyna fath o elfennau sylfaenol o'r hyn yw protocol, mae'r ceisiadau protocol HTTP edrych fel. Maent yn wir yn debyg i sut yr ydym fyddai'n gwneud rhyngweithio tebyg mewn confensiynau unig dynol yn gofyn am rywbeth ac yn ei gael yn ôl neu ysgrifennu llythyr a disgwyl ymateb llythyr mewn fformat arbennig. Dyna 'n bert lawer beth HTTP yn unig yw canonicalizing ar gyfer yr holl ddyfeisiau sy'n dymuno mynediad tudalennau gwe, trosglwyddiadau hyperdestun. Felly llinell o'r ffurflen, mae hyn yn y Fersiwn cais HTTP targed dull, cael ei alw'n llinell gais HTTP. Fel arfer y peth cyntaf sydd yn drosglwyddir fel rhan o gais HTTP neu os ydych yn gofyn am HTTP. Mae'n fath o debyg, fel y dywedais, gan ddweud annwyl, yn wag ar frig eich llythyr. Maent yn gwybod eich bod yn ysgrifennu llythyr iddynt. Felly, mae hyn yn debyg iawn i ddweud, yr wyf yn gwybod eu bod yn gwneud cais HTTP ac mae hyn yn y fformat penodol maent yn gofyn amdano. Fersiwn HTTP yn ôl pob tebyg bob amser yn mynd i fod HTTP / 01/01. 1.0 hefyd yn bodoli ond nid yw Defnyddir gwirionedd anymore. At ddibenion y CS50, GET yn ôl pob tebyg bob amser yr hyn yr ydych yn mynd i fod gan ddefnyddio pan fyddwch yn mewn gwirionedd gwneud ceisiadau HTTP uniongyrchol. Ond POST yn opsiwn arall ein bod Nid yw mynd i siarad am ar hyn o bryd. Ac yna cais-targed yw pa dudalen ar weinydd y gwesteiwr hoffech chi gael. Fel y dywedais, fod enw gwesteiwr yn linell ar wahân, fel arfer yr ail linell y cais yn gyffredinol. Ac cymryd gyda'i gilydd, felly, y llu enw a tharged cais pennu benodol adnoddau a geisir. Yn ein enghraifft 404 eiliad yn ôl, yr wyf yn yn gofyn eto am www.cats.com, cats.com sef y llu. Ac yn fy llinell gais, Dywedais /cats.html. Dyna oedd fy nharged cais. Felly, ar y cyfan yr oeddwn yn gofyn am y cynnwys neu yr adnodd lleoli yn www.cats.com/cats.html. Ac yna yn seiliedig ar p'un a yr adnodd yn bodoli ac a all y gweinydd gyflawni yr adnodd yn unol â'r cleient cais, efallai y byddwch yn ei gael amrywiol y codau ôl. Mae rhai o'r codau hyn rydych wedi ei weld oherwydd eu bod yn rhan o'r ymateb. Mae rhai ohonynt, 200 OK, yn cael eu yn ôl pob tebyg 'n bert dawel. Mae'n debyg eich bod chi wedi gweld erioed tudalen yn ymateb 200 OK. Rydych yn unig yn cael y dudalen. Nid yw'n debyg gwall 404, sydd fel arfer yn eithaf clir. Fel arfer, byddwch yn gweld ei fod yn dweud 404. Felly, gadewch i ni siarad am yr hyn y mae rhai Efallai y codau hynny fod. Unwaith eto, pan fydd y gweinydd yn ymateb i ni, eu bod yn mynd i ymateb statws fersiwn HTTP. Fel arfer HTTP / 1.1. Beth yw y codau hyn yn mynd i fod? Wel, efallai y byddwn yn cael llwyddiant. Felly, yn y categori llwyddiant, rydym yn Gallai gael cod 200 gyda'r OK testun. Beth mae hyn yn ei olygu? Wel, mae popeth yn dda. Rydych yn gwneud cais dilys. Dyma ymateb dilys. Roeddwn yn gallu darparu yn union beth rydych ei eisiau. Weithiau efallai y byddwch yn cael pethau eraill na fyddwch yn sylwi ar unwaith ond maent yn methiannau rhywfaint. Maent yn elwir yn ailgyfeirio. Mae dau rhai cyffredin yma. 301 Wedi symud Permanently-- beth mae hyn yn ei olygu yn y bôn yw'r dudalen yn awr mewn lleoliad newydd. Bydd yn byw yno am byth. A bydd y rhan fwyaf o borwyr ailgyfeirio yn awtomatig. Felly byddwch byth yn gweld a 301, chwaith, oni bai eich bod gan ddefnyddio 'n sylweddol y tu allan i'r dyddiad porwr, o bosibl, oherwydd bod yr ymateb 301 yn rhan o y dot, dot, dot o'r ymateb 301. Mae hefyd yn dweud wrthych ble y dudalen newydd. Ac felly y bydd y rhan fwyaf o borwyr jyst ailgyfeirio chi yno, gan dybio eich bod am fynd yno. Weithiau, byddwch hefyd yn cael 302 o hyd iddynt. Ac mae hyn yn un yr ydych mewn gwirionedd Efallai yn dal i weld o bryd i'w gilydd. Weithiau tudalennau yn symud dros dro. Felly, nid yw'n mynd i gael ei adeiladu i mewn i y cais yn dweud wrth y porwr i newid unrhyw bryd yn barhaol y gwêl y cais yr ydych gwneud ei newid i rywbeth arall. Felly, efallai y byddwch yn gweld 302 Wedi dod o hyd, a oedd yn y bôn Dywed y dudalen byw yn rhywle arall. Ond nid yw'n mynd i byw yno am byth. Bydd yn y pen draw yn ôl pob tebyg yn mynd yn ôl i'r lle rydych yn meddwl ei fod yn. Yna byddwch yn cael pethau fel gwallau cleient. Felly mae'r rhain yn rhai eich bod wedi yn ôl pob tebyg a welwyd, yn awr. Mae'n debyg na wedi gweld y 200s neu'r 300s, ond mae'n debyg eich bod gyfarwydd â'r 400au. A dyna beth byddwn yn siarad am yn ail, 500au hefyd. Efallai y byddwch yn gweld 401 heb awdurdod. Fel arfer mae hyn yn golygu eich bod yn geisio cael mynediad tudalen, ond nid ydych wedi mewngofnodi. Felly, byddwch yn ceisio mynd i rai proffil neu rywbeth ar Facebook neu os ydych yn ceisio mynediad some-- ydych chi yn y gwaith. Rydych yn ceisio cael mynediad rhywbeth ar y rhyngrwyd eich gwaith, a ond nad ydych yn mewngofnodi. Ni allwch weld y dudalen. Efallai y byddwch yn cael 401 heb awdurdod, sy'n golygu ein bod yn ôl pob tebyg Bydd yn gallu bodloni cais hwn, ond yn gyntaf bydd angen i chi fewngofnodi i wneud hynny. Ar y llaw arall, efallai y byddwch yn cael 403 Forbidden, sef nad yw'n wir ots os ydych yn logio i mewn ai peidio. Nid yw'r cais yn cael ei ganiatáu. Mae'r adnodd yn bodoli ar y gweinydd. Ond ni chaniateir i chi gael gafael arno. Mae hyn yn ffeiliau fel arfer yn fewnol sy'n yn byw ar y gweinydd am resymau amrywiol ond ni fwriedir iddynt fod yn mynediad iddynt o'r byd y tu allan, ac felly maent yn cael eu gwahardd. Maent yn byw yno. Dydw i ddim yn dweud na allaf ddod o hyd iddo. Ond i ddim yn dweud na allaf ei roi i chi. Ac nid dim ots os eich bod wedi mewngofnodi ai beidio. Ac yna, wrth gwrs, y gyffredin iawn 404 Not Found. Nid yw'r ffeil yn bodoli ar y gweinydd. Hoffwn i fodloni Nid yw eich cais, ond gallaf. Byddwch hefyd yn gweld weithiau gweinydd camgymeriadau, y mwyaf cyffredin yn gyffredinol sef 500 Gwall Gweinydd Mewnol, a oedd yn Nid yw mewn gwirionedd yn dweud unrhyw beth wrthych chi o gwbl am beth sydd wedi mynd o'i le. Ond nid yw'n mewn gwirionedd yn eich gwneud camgymeriad yn eich cais. Mae'n mewn gwirionedd y gweinydd yn methu i gyflawni ar y cais rywsut. Felly 500 yw'r ymateb cyffredinol. Byddwch hefyd yn gweld rhywbeth fel Gwasanaeth Ddim ar gael, yr wyf yn credu ei cod 503. Ac Gateway Timeout-- os chi erioed wedi cael dudalen unig eistedd yno llwytho a llwytho a llwytho ac yr ydych byth yn gwybod os yw'n mynd i llwyth ac yna yn y pen draw 'i jyst says-- dim ond rhoi i fyny. Dyna 504 Gateway Goramser. Mae'r gweinydd eisiau weithredu eich cais, ond aeth rhywbeth o'i le ar y side-- gweinydd nid ar eich side-- i peri bod i fod yn broblem. Yn awr, gallem terfyn ar y stori yma, ond beth rwy'n wir yn mynd i'w wneud nawr yw fy mod i'n mynd i agor fy porwr ac yn dangos i chi sut y byddwch yn gallu gweld mae rhai o'r codau hyn hyd yn oed os nad ydych yn gyffredinol yn eu gweld. Ac rydym yn mynd i wneud hynny drwy gymryd a edrych ar rai offer datblygwr. Mae pob hawl Felly dyma fi bellach mewn ffenestr fy porwr. Ac yr wyf yn awyddus i ddysgu ychydig mwy am y ceisiadau HTTP hyn. Sut ydw i'n know-- yn sicr ein bod yn gwybod os yw dudalen goes-- pan fydd rhywbeth yn mynd o'i le, rydym yn cael 404. Rydym i gyd wedi gweld hynny. Nid oes angen i ni ddangos hynny. Ond beth yw'r rhai rhai eraill? A sut y byddem yn gweld ceisiadau hyn ar waith? Peth felly cyntaf Rydw i'n mynd i ei wneud yw agor Offer Datblygwr. Felly Offer Datblygwr yn cael eu hadeiladu i mewn i rhan fwyaf o borwyr modern ac yn ein galluogi i weld pethau nad ydym yn ei wneud fel arall see-- rhyw fath o wybodaeth ychwanegol o yn cael ei drosglwyddo o dan ein gwefan ceisiadau. Im 'yn arfer Google Chrome yma. Ac i agor Offer Datblygwr yn Chrome, 'ch jyst daro F-12, ac mae'n mynd i agor i fyny ar yr ochr. Ar ôl i mi deipio 'r cais,' n annhymerus 'chwyddo i mewn fel y gallwn weld beth sy'n mynd ymlaen fan hyn. Ond yr hyn yr wyf i'n mynd i wneud yn fy porwr bar yw-- a byddaf yn chwyddo i mewn dros Yma-- Byddaf yn gwneud cais i www.google.com. Rydym i gyd wedi gwneud yn ôl pob tebyg cais hwn o'r blaen. Rydw i'n mynd i daro Chofnoda. Yn awr, dros yma yn fy Datblygwr Offer, dwi wedi dewis y tab Rhwydwaith. A ydych yn sylwi llawer o bethau fan hyn. Edrychwch ar these-- 200 OK, 200 OK, mae rhai o'r codau hyn yn dod i fyny. Nid wyf yn gwybod pam fy mod yn cael 302 Wedi dod o hyd. Doeddwn i ddim yn sylweddoli y byddwn i'n gweld bod un. Ond yn y bôn yn sylwi bod 'n bert lawer, o ran fy request-- Google Rwy'n gwneud syml iawn cais am dudalen Google. Ac yn y broses o cyflwyno fy nghais, Mae'n debyg Google wedi gwneud llawer o geisiadau eraill ar fy rhan. Ond dwi wedi gwneud cais am get Google dudalen a Im 'yn cael lot o 200 OKs. Dydw i ddim yn gweld 200 OK ar fy sgrîn, ond rwy'n cael llawer o geisiadau sydd wedi cael eu gwneud. Un yn fwy bod Rwy'n eithaf yn sicr yn mynd i weithio yw-- ar gyfer y rhai ohonoch sy'n yn wir yn hen-ysgol, Efallai y byddwch yn gwybod bod Facebook yn Nid yw bob amser yn Facebook.com. Yn ei dyddiau cynnar roedd yn yn wwww.thefacebook.com. Maent yn debyg na allai gael mynediad i Facebook.com am eithaf dro. Ac felly yr hyn rwy'n disgwyl yma yw i gael gwybodaeth. A byddwn yn gweld a yw hyn sosbenni allan. Yr hyn rwy'n disgwyl yma yw cael gwybodaeth bod Facebook wedi symud yn barhaol o thefacebook.com i Facebook.com. Felly rwy'n disgwyl rhywle yn agos at frig fy ceisiadau drosodd yn fy Offer Datblygwr i gael hysbysiad 301 bod Facebook wedi symud yn barhaol. Unwaith eto, ni fyddaf yn gweld 301 ar fy sgrin porwr. Ac am ei fod yn 301, ei fod yn symud yn barhaol. Fy porwr, yw y mae'n porwr cyfoes, yn ôl pob tebyg yn mynd i ailgyfeirio fi i Facebook.com beth bynnag. Ond gadewch i ni weld beth sy'n digwydd. Ac yn awr rwy'n mynd i ewch i thefacebook.com. Ac yep, yna mae'n iawn ar y brig. Mae'n aeth i ffwrdd, ond roedd yno. Gadewch i mi sgrolio i fyny yma. Hawl yma ar y brig. Yr wyf yn gwneud cais i thefacebook.com, a dwi'n cael ymateb bod y dudalen wedi symud yn barhaol. Ac yna 307 yma yw yn ailgyfeirio mewnol. Ac felly dyma beth sydd mewn gwirionedd Symudodd fi i'r llawer mwy www.facebook.com cyfarwydd. Felly codau ymateb rhain yn dal i fod yn digwydd, hyd yn oed os nad ydym yn eu gweld. Dydw i ddim yn mynd i dangos 401, 403, 404, oherwydd mae'n debyg eich bod wedi gweld y rhai ar wahanol adegau. A 500, byddwn yn unig fod math o- byddem yn cael lwcus os got a 500 gan nad ydym yn gwybod beth gweinyddion ar hyn o bryd i lawr yn unrhyw le. Ond codau hyn yn ei wneud yn bodoli, ac mae ffordd i gael gafael arnynt hyd yn oed os nad ydym yn ei wneud gweld drostynt eu hunain ar ein systemau. Rwy'n Doug Lloyd. Mae hyn yn CS50.