[Powered by Google Translate] [Seminar] [Voorbereiding Uw site voor het web] [Yuechen Zhao] [Harvard University] [Dit is CS50.] [CS50.TV] Oke. Hier is nog een uur van web ontwikkeling als jullie er klaar voor. Vandaag ga ik het hebben over de voorbereiding van uw site voor het web. De hele dag - en waarschijnlijk voor de laatste 2 weken - We hebben gesproken over hoe je een website te maken, hoe je HTML, hoe om PHP te gebruiken, hoe frameworks gebruiken, gebruik hoe ervoor te zorgen dat u kunt communiceren met de database - dat soort dingen. Maar vandaag gaan we het hebben over waar uw site gaat achter CS50 om te leven. Want na al, doet CS50 niet gebeuren afgelopen december. We gaan het hebben over domeinnamen, hosting. We gaan praten over wat cross-browser compatibiliteit en cross-platform compatibiliteit zijn, en hoe kunt u ervoor zorgen dat uw site zal werken onder alle omstandigheden. We praten over foutafhandeling en andere server magie. We hebben het over performance optimalisatie, zoekmachine optimalisatie, en hoe je mensen om daadwerkelijk een bezoek aan uw website. En tot slot, maar enkele goede middelen om ervoor te zorgen dat je jongens hebben genoeg van die af te gaan met je afstudeerproject, en hopelijk na. Het eerste dat we gaan praten over domeinnamen. Nu je programmeren in uw apparaat, je gaat naar een lokale host die niet is eigenlijk een domeinnaam. Dat is een soort van gewoon een bijnaam of een alias voor uw werkelijke Linux installatie binnenkant van een van beide VMware op een Mac of VMware Player op een pc. Domeinnamen toestaan ​​om een ​​site te zetten op het web en ga dan naar iets als www.google.com en krijgt de website. Hoe werken ze? Laten we zeggen dat je gewoon een gemiddelde webserver - gemiddelde websurfer en je hebt een laptop, en ga je naar www.howstuffworks.com. Je kunt waarschijnlijk zien waar ik dit gestolen uit. Hoe spul werkt - uw computer zal dan vragen een lokale DNS-server, "Weet u waar deze website is?" "Weet je het IP-adres van www.howstuffworks.com?" Uw DNS-server zou kunnen zeggen: "Ja, dat doe ik." In dat geval krijg je het IP-adres, en uw computer toegang krijgt tot dat IP-adres. Als dit niet gebeurt, vraagt ​​een andere DNS-server, "Hey! Weet je wat www.howstuffworks.com is?" Die server zou kunnen zeggen: "Ja, dat doe ik." Dus, het vertelt de ander wat het is, en ten slotte, dat de informatie wordt doorgegeven aan de computer, en u toegang howstuffworks.com. Hoe kun je een van deze magische dingen? Hoe kun je misschien www.yourname.com of www.ilovecats.com? U kunt zich aanmelden voor een, en er zijn veel websites die er zijn die u in staat om dit te doen. Je moet - in de meeste gevallen moet je betalen voor hen. Er zijn bepaalde domeinnamen die zijn gratis. Als je naar www.co.cc of. Tkdomainnames, die zijn gratis. Maar, komen ze met bepaalde beperkingen, en in feite een aantal van hen misschien niet eens zijn echt, top-level domeinnamen zoals. com of. net. Normaal gesproken zou ik willen voorstellen gaan voor een van hen omdat de gebruikers zijn gewoon meer comfortabel met deze. Je hebt veel. Coms gezien. Je hebt veel van netten. Gezien. Je waarschijnlijk niet veel gezien van. Co.cc 's, zodat ze moeilijker te onthouden. Verschillende websites zoals GoDaddy of NameCheap of - Ik gebruikte een die beetje schimmig - genaamd activedomain.com. Het ziet er echt vaag, maar het is echt goed gewerkt voor mij. En tot slot, heb je anderen die misschien meer reclame, zoals Network Solutions. Maar als je gaat naar NetworkSolutions.com en kijken naar hun prijsbeleid het is erg duur. Ik was op zoek naar hen gisteravond. Voor een jaar van een domeinnaam, het is waarschijnlijk niet zo veel geld waard. In feite, als je nu op een. Com of. Org of een. Netto de gebruikelijke prijs is ongeveer $ 10 per jaar. Dus als je veel meer dan dat te betalen, is het waarschijnlijk niet dat de moeite waard want tenslotte, deze websites niet iets doen met die domeinnaam. Ze geven alleen maar aan u, en dus als je het kan krijgen voor goedkoop, waarom niet? Het andere ding is zodra u uw domeinnaam hebt, dan heb je waarschijnlijk wilt gaan om ofwel Godaddy.com of waar u uw domeinnaam gekocht en stel de nameservers voor die domeinnaam. Wat dat betekent is zodra een gebruiker gaat naar www.howstuffworks.com, die nameserver IP-adressen zijn de IP-adressen die ze kunnen opzoeken zou zijn. Zij zouden in staat zijn om toegang te krijgen tot uw website via deze nameservers. Als u zich aanmeldt voor het hosten ergens dan is uw gastheer zal waarschijnlijk geven u de nameservers te gebruiken. En tot slot, er is dit ding heet een WHOIS. Een WHOIS database is een database waarmee je kon invoeren van een domeinnaam en het zal uitspugen wat informatie over de eigenaar van die site en andere contactinformatie. Nu, zult u zeggen, "Ik wil eigenlijk niet dat mijn huisadres of ik wil eigenlijk niet mijn e-mailadres op de website voor iedereen te zien of op het internet voor iedereen te zien. " Dan wilt u misschien om iets te gebruiken dat veel hosting diensten - als een WHOIS-manager. Een WHOIS manager is gewoon een andere dienst die veel van hen bepalen dat verbergt weg die informatie en net zet in die manager voor de naam - het adres is het meestal gewoon die naam bedrijf dat u deze domeinnaam heeft gegeven - en zo vervolgens uw persoonlijke gegevens niet wordt gelekt op het internet, dat is meestal vrij goed. Zelf gebruik ik een van deze diensten. Als je niet de zorg over uw eigen privacy dan maakt het eigenlijk niet uit. Een DNS-server staat voor Domain Name System, en wat het is - Het is een soort als een hash table ergens dat zegt,  "Deze website adres zal toewijzen aan dit IP-adres." En dat is alles wat het is. Dus zodra je deze DNS-server een query, dan kunt u de IP-adressen krijgen voor dat de bijbehorende domeinnaam en vervolgens bezoeken die website. (Publiekslid stellen van een vraag - onhoorbaar) De eerste? Het eerste niveau is eigenlijk meestal gewoon de computer cache zelf. Uw computer soort herinnert zich de laatste keer dat je ging naar www.google.com het was op dit IP-adres, en vervolgens na een tijdje, zal die cache verlopen, en het zal vragen als de Comcast DNS, "He, wat is www.google.com?" Normaal gesproken, als je een domeinnaam te kopen en u registreert een, en je het opzetten van een website, je kunt niet meteen naar die website met die domeinnaam, omdat de nameservers over de hele wereld weet niet over uw domeinnaam nog niet. Het moet vullen. Het duurt meestal ongeveer 24-48 uur. Oke. Dus, dat is een beetje over domeinnamen. Ze zijn erg cool. Ik vind dat je er een krijgt als je serieus bent over het project bent en als je echt wilt om uw project bekend over de campus, het hebben van een domeinnaam maakt het er echt professioneel. Dan is de volgende stap, natuurlijk, is om een ​​soort van hosting hebben. Als je gewoon hosten op uw computer, is niemand ooit te kunnen gaan om het te kunnen. Je zou kunnen opzetten van een server op uw computer en uw computer blijven voor altijd, maar dat is niet aan te raden. Er zijn verschillende soorten van hosting online beschikbaar. Er is shared hosting. Er is VPN (onverstaanbaar) die virtual hosts zijn. Er is semi-dedicated en toegewijd. Van de laatste 3, VPN, semi-dedicated en dedicated zijn meestal duurder. Ze worden meestal gebruikt voor websites die meer middelen nodig. Als je net begint met een website, het misschien gewoon zuiniger om te gaan met de shared hosting. En wat gedeelde betekent is gewoon een stelletje websites zijn allemaal samen sorteren van op een server op deze website op deze host server, en hebt u toegang tot uw website via domeinnaam. Er zijn veel populaire gastheren die er zijn. HostGator en DreamHost - dat zijn heel, heel groot en heel erg populair en zeer, zeer succesvol. Persoonlijk gebruik ik een zogenaamde MDDHosting. Als je naar www.mddhosting.com, dat is mijn gastheer van keuze. Ik vind ze erg goed. Ze hebben altijd zeer betrouwbaar geweest, en ik heb nooit problemen gehad met hen. Ze hebben ook zeer concurrerende prijsstelling. Twee die ik niet echt leuk zijn GoDaddy - dat is ook een zeer populaire gastheer, maar ik heb vreselijke ervaringen gehad met hen, en veel mensen die ik ken hebben echt verschrikkelijk ervaringen met hen gehad. Ze soort van gaan na mensen die niet weten wat ze doen - misschien ben je het maken van een website voor de eerste keer, en dus zijn ze soort van con hen in het kopen van hun hosting pakket. Doe het niet. Val niet voor. Ga op zoek naar andere hosting pakketten die echt past bij uw behoeften. En de andere is - er zijn gratis hosts die er zijn. Er zijn websites die uw website wordt gehost - soms door de invoering van een advertentie op uw site, soms door het maken van je deelnemen aan de forums, maar soms juist ook gratis. Maar, wees voorzichtig met gratis hosts omdat veel van hen echt alleen uit te gaan van het bedrijfsleven na enkele maanden. Je kunt gewoon niet bijhouden met de kosten. Anderen zijn gewoon zeer onbetrouwbaar, en uw site zal altijd naar beneden, en u niet wilt dat dit gebeurt. Elke host zal bieden hun eigen bedieningspaneel. Merk op dat voor uw apparaat, er is echt niet een bedieningspaneel per se. Je moet terminal gebruiken om te gaan en bewerken van de bestanden. Je moet chmod dingen zelf. Als je wilde gaan naar PHPMyAdmin, je moet naar localhost @ / phpmyadmin en dat soort dingen. Maar met een bedieningspaneel kunt u in gaan en bewerken van de bestanden op uw server met Windows Verkenner of Finder-type application. Of u kunt gaan door en kijk naar uw databases met hun eigen gereedschap in plaats van phpmyadmin. Dus, er is veel keuze hier, en enkele van de meer populaire bedieningspanelen zijn daarboven. Maar als je op zoek bent naar een host, dan je zou willen kijken naar wat voor soort aanpassingen en opties ze bieden me aan mijn server aan te passen en om mijn website beter lopen. Zo is, dan zou je kunnen vragen: "Nou, hoe kan ik kiezen voor hosting?" Als je op om elke host website is er veel jargon, en er zijn een heleboel opties. Er zijn een heleboel verschillende prijzen ook. Normaal ga ik voor de goedkopere, alleen maar omdat websites die je misschien en ik maak - en vooral nu, in het bijzonder als voorgerecht - ze kunnen niet zo veel middelen als zou een website als Microsoft.com. Eerst wilt u kijken naar het besturingssysteem als je echt benieuwd of uw site gaat over Linux worden gehost op Windows of op de Mac. Normaal gesproken zijn we gewoon gaan met Linux, want dat is meestal de goedkoopste, en ook degene die jullie misschien meer vertrouwd zijn met als gevolg van het toestel. En dan, misschien zullen zij een aantal beperkingen op de hoeveelheid bandbreedte die je krijgt - zoals hoeveel megabytes of gigabytes aan gegevens kunnen gebruikers downloaden vanaf uw website per maand? Of schijfruimte. Hoeveel ruimte heb je? Is het 500 MB? Is het 2 GB? Is het onbeperkt? Tegenwoordig zijn veel van webservers geven u onbeperkte schijfruimte als een manier voor hen om u te verleiden om hun hosting pakket te krijgen. Maar als je echt goed over nadenkt, als je ooit naar onbeperkte schijfruimte nodig? Als je een paar HTML-bestanden, een paar PHP, een paar foto's - dat is slechts een paar megabytes, en dus meestal Ik ga er gewoon voor de waarde van de ruimte misschien een paar gigabytes ', en dat zou genoeg zijn om me te beginnen totdat ik meer nodig zijn. Tenslotte kunnen zij beperkingen op wat voor soort zetten - hoeveel databases je kunt hebben. Misschien kun je maar 1 database. Misschien kun je hebt 2. Misschien kun je er 10. Is het echt belangrijk om je hoeveel je krijgt? Dingen om jezelf te vragen. En dan eindelijk, net dingen als talen. Hebben ze PHP ondersteunen? Hebben ze MySQL ondersteunen? De meeste hosting van websites niet ondersteunen deze, omdat ze vrij zijn. Ze zijn open source. Het kost hen niets om deze voor u verzorgen. Maar als u wilt gebruiken, zeggen, Ruby of Python of sommige van deze andere talen - zij mogen niet steunen op hun server, dus het is belangrijk om te zoeken naar dat soort dingen. En tot slot, ze toestaan ​​om wat meer geavanceerde dingen zoals SSL of cron jobs doen? SSL is een optie waar u uw website veiliger kunnen maken door het HTTPS en versleutelen uw verbindingen. En cron jobs zijn heel misschien scripts die u wilt uitvoeren elke 5 minuten, elke 10 minuten, elke 15. Veel shared hosting websites zijn gezet beperkingen op het aantal cron jobs die u kunt uitvoeren, want dat neemt meer middelen. En tot slot, maar al het andere dat je wilt kijken naar - zorg ervoor dat precies wat er gaande is voordat u uw hosting pakket te kopen. Tenslotte prestaties. Prestatie is enorm. Hoe snel wordt mijn website gaat lopen? De meeste gebruikers zijn niet van plan te wachten tot zelfs seconden voor uw website om te draaien voordat ze gewoon te vervelen, en ze gaan op naar MeanBase en ga op zoek naar foto's van katten - weet je dat er gebeurt, en wilt u ervoor zorgen dat u die gebruiker aan boord en dat u een goede uptime die net betekent dat uw website zal te allen tijde toegankelijk te zijn. Veel hosts hebben echt slecht uptime en dat alleen maar betekent dat uw website is niet van plan te zijn toegankelijk, en u niet wilt dat dit gebeurt, omdat u misschien verdrietig te zijn. En je kunt ook de prestaties van uw gastheer volgen met websites als Pingdom.com of Host-tracker.com, en ze je gewoon vertellen hoe vaak uw site naar beneden. En tot slot, je wilt zien over hun steun. Als u een probleem hebt gaan ze aan u binnen 24 uur? Gaan ze aan u binnen 48 uur? De hosting service die ik gebruik normaal reageert op mij binnen enkele minuten dat is echt leuk. Oef! Goed zo! Het is tijd voor een pauze. Maar ik ben niet van plan om het je geven. We zullen kijken naar foto's van schattige katten zo nu en dan. Een ander echt, echt groot ding is cross-browser compatibiliteit. Wat bedoel ik met cross-browser compatibiliteit? Weet je, tegenwoordig is het niet alleen Microsoft Internet Explorer. Het is niet alleen Mozilla Firefox of Safari. Nu hebben we Chrome. We hebben Opera. We hebben Dolphin. We hebben Camino. We hebben Veroveraar. We hebben al deze verschillende browsers. Dingen die komen nu uit - RockMelt - hoewel deze zijn allemaal gebaseerd op Chromium. Maar het feit van de zaak is, is er niet alleen een browser meer. Je bent niet alleen het bekijken van deze webpagina's met een applicatie. En dus zullen verschillende browsers reageren op verschillende HTML, CSS verschillende, en verschillende JavaScript verschillend, en hoe ga je om met dat? Nou ja, in bepaalde gevallen, je kan echt niet. Jouw website - als het werkt in een browser, de code die je schrijft zal niet werken in een andere browser, en het is jouw taak om ervoor te zorgen dat de code die je schrijft is universeel, dat werkt overal. Dus, dit is echt gevaarlijk. Als je zegt: "Wel, het werkt op mijn computer. Great! Laten we verder gaan." Nou, het is waarschijnlijk niet gaat werken op de mijne, en als ik naar uw website Ik ga zijn erg verdrietig, en ik ga meteen vertrekken. Dus, laten we eens kijken hoe je dit kunt voorkomen. Het eerste ding, natuurlijk, is om alleen gebruik maken van standaard HTML, CSS en JavaScript. Wat bedoel ik daarmee? Nou, er zijn een heleboel niet standaard dingen die er zijn. Bijvoorbeeld, in CSS er vele versies. Als u alle CSS-regels met-moz-of-webkit-, die regels zijn specifieke aan zowel de Mozilla browsers en de Webkit browsers, en dus je wilt er zeker van dat je misschien wilt die dingen te vermijden want als je gebruik-moz-die regel is alleen maar om te werken aan Firefox. En als je echt wilt dat het ook goed op Internet Explorer kijken, je gaat uit geluk. Voor HTML ook, kan je dingen doen in HTML die werken in een browser maar dat breekt in een andere, en u wilt vermijden dat zo veel mogelijk. En tenslotte voor JavaScript zelfs - zijn er vele versies van JavaScript, en deze zomer kwamen we een probleem waar Document.getElementsByClassName-- die meestal een functie die wordt gedefinieerd als deel van de standaard webbrowser - was niet te vinden in Internet Explorer 8. Dus, in de zomer was ik werkzaam in een lab en we waren het bouwen van online experimenten. En we dachten dat het was echt goed bezig tot we beseften gebruikers die werden gebruikt Internet Explorer 8 konden hun resultaten voorleggen. We misten op een heleboel gegevens. Dat maakte ons echt triest. Dus, wil je altijd zorgen dat je scripts gaat overal werken. En tot slot, gebruik validator.w3.org dat is wat wij je vertellen om te doen in pset 7. Zorg ervoor dat uw pagina's zijn gevalideerd. Dat is belangrijk, want dat is tenminste een eerste stap sanity check. Is mijn code daadwerkelijk voldoen aan de standaard? Een andere manier om een ​​soort van helpen u ervoor zorgen dat uw website gaat werken onder de meeste omstandigheden is het misschien gebruik maken van een aantal bibliotheken en frameworks omdat deze echt slimme ontwikkelaars hebben gedacht over deze zaken voor u. Ze hebben doorgemaakt en ze hebben verschillende functies die werken in browsers geschreven. Zo gebruiken we jQuery in Pset 7. Ook al heb je het niet hebt gezien, jQuery biedt veel functies dat anders zou je hebt om jezelf te schrijven. Maar deze ontwikkelaars schreef het, en ze zorgden ervoor dat het werkt in alle browsers. En Bootstrap - dat is een andere CSS framework dat we zien je in Pset 7 - het echt nodig is veel weg van de hoofdpijn met het ontwerpen van websites die er goed uitzien. in alle browsers. En tenslotte, als je het kunt vermijden, heb ik vermijd meestal codering van de grond af. Als je gewoon het creëren van een website voor uw school club, bijvoorbeeld, en alles wat je hoeft te doen is om een ​​paar pagina's weer te geven en misschien hebben uw voorzitter gaat in en een paar dingen hier en daar - er is echt geen behoefte aan code die op jezelf. Dat kost veel van uw tijd. Het kost veel van je energie, en je hebt om door te gaan en je hebt om uit te vinden, goed, dit gaat er goed uitzien in deze browser, gaat het er goed uitzien in deze browser. Misschien gebruik maken van een aantal van deze patches die anderen al voor u hebben geschreven, zoals WordPress of Joomla of Drupal. Deze worden inhoud genoemd - deze worden CMS'en die in feite zijn slechts pakketten die genoemd al gekomen voor u gedaan, en je kunt ze downloaden, zet ze op je server, en aan te passen zoals u dat wilt, en je hebt al een lopende website. Die code pakketten zijn iets om te kijken in. Deze dingen zijn open source, tenzij je gaat voor iets als - als u op zoek bent naar een vorm pakket, er zijn dingen die niet gratis, zoals zijn VBulletin of IP.Board. Als je niet nodig een aantal van deze geavanceerde functies, U kunt altijd kiezen voor de gratis optie. Tenslotte is er geen ontkomen aan. U moet testen, test, test. U moet uw code te testen op al deze browsers en op al deze platformen. En weet je, IE6 - hebben godzijdank mensen begonnen af ​​te stappen van IE6 want terug in de dag, misschien een paar jaar geleden, webontwikkelaars moest altijd, altijd, altijd toegeven aan zwakheden IE6's in het volgen van de normen. Websites keek soort van 1990 bij gebrek aan een betere manier om te gaan met het. U kunt ook gebruik maken van browser screenshots om je CSS te controleren. Een echt cool website is browserlab.adobe.com. Dit is een gratis dienst die door Adobe gezet. En wat ze doen is dat ze screenshots kunnen nemen van uw website draaien onder verschillende omstandigheden - zoals lopen onder verschillende browsers, draaien onder verschillende platformen - en je laten zien hoe ze er uitzien. Gewoon om te laten zien wat ik bedoel hier, heb ik een website vorig jaar riep Life At Harvard, en wat ik probeerde te doen - Ik heb geprobeerd om my.harvard beter te maken. Want als je hier was vorig jaar, had my.harvard niet uitzien zoals het er nu uitziet. Het ziet er soort walgelijk. Maar nu lijkt het een stuk beter. Mijn implementatie was niet meer zo nuttig, maar allemaal hetzelfde, weet je, ik heb geprobeerd om toe te voegen - (onverstaanbaar) veel wat dan ook - en het ziet - het ziet er erg goed op mijn computer. En dan, misschien als ik meer tijd had zou ik zijn gegaan naar browser lab, en ik zou hebben gekeken, nou ja, hoe ziet het eruit in Chrome 18 voor Windows. Ik zou scroll naar beneden en ik zou zien - oh nee! Kijkt u naar het kader aankondigingen. Mijn tekst was overvol. Dus, dat is slecht, toch? Als een gebruiker met behulp van Chrome op Windows en komt op mijn website, die onmiddellijk ziet er erg onprofessioneel. Dus, moet ik gaan in mijn CSS en ontdek wat een deel van mijn CSS is hier te breken. Waarom is het niet correct weergeven van en zet het vast, zodat alle gebruikers dezelfde website kan zien en zijn net zo blij. En tot slot, goed, browser screenshots zijn leuk voor het testen van uw CSS, maar hoe zit het met uw webbrowser? Hoe zit het als je een aantal ingewikkelde script dat draait? Nou, je kunt altijd doen virtualisatie. Als je een Mac hebt kun je Bootcamp of VMWare gebruiken om misschien virtualiseren een kopie van Windows en gebruik Internet Explorer daar. Of, kunt u gaan naar iets als Spoon.net, die helaas werkt alleen op pc's. Maar wat ze doen is erg cool. Ze virtualiseren software voor u, zodat u verschillende versies van IE draaien, bijvoorbeeld. U kunt verschillende versies van Firefox draaien. U kunt verschillende versies van Safari lopen en testen van al uw websites daar. Helaas, ze zijn niet gratis. Dat is een betaalde dienst, dus er is altijd soort van deze - er is altijd soort van deze afweging tussen, goed, ik ga om mijn website er goed uitzien. Als dat zo is, zou ik moeten betalen voor sommige diensten om me te helpen dat te doen. Voor vragen op dit punt over iets dat we over gesproken? Geweldig. Oke. Nu hebben we meer dingen om over te praten. Hoe zit het met fouten? Hoe zorg je ervoor dat uw website gaat ook wanneer iets ergs gebeurt? Misschien heb je niet beschikt over een pagina met de naam food.php. Maar mij, ik ga naar uw website en ik probeer om tot food.php. Ga je gewoon naar me te tonen dat witte pagina die zegt 404 - Bestand niet gevonden? Of ga je zeggen: "Wel, het spijt me dat ik dit niet kon vinden voor u, maar misschien hier zijn enkele andere hulpmiddelen om u te helpen zoeken naar wat je nodig hebt. " Andere fouten - dus, dit heet HTTP-fouten die slechts enkele foutcodes zijn dat uw server rug zou hebben gestuurd naar de browser in het geval van iets ergs gebeuren. 400 - Bad Request. 401 -. 403 is een soort van gemeenschappelijke wanneer u een map die niet zou moeten worden benaderd door de gebruiker, maar de gebruiker probeert om toch. En 500 - Internal Server Error - dat meestal gebeurt als je iets hebt echt slecht gebeurt met uw PHP-code. Maar in ieder geval, dit soort browsers - dit soort fouten gebeuren. Dus, hoe kan je ervoor zorgen dat u zich netjes omgaan met deze fouten en zorg ervoor dat de gebruiker geen enkel soort van opknoping daar? Hier komt. Htaccess. Nu,. Htaccess is iets dat werkt op Apache servers, iets dat werkt en werkt op een paar andere servers ook. Dit is slechts een manier voor u om te configureren uw server zodanig dat je kunt laten doen wat je wilt doen. Sommige dingen die je zou kunnen doen. Je kon je cache-instellingen te controleren. Misschien is er een bepaalde pagina op uw website dat u ervoor zorgen dat de gebruiker opnieuw downloaden iedere keer dat de gebruiker komt en uw website bezoekt. Of misschien heb je een aantal URL die is net yoursite.com / test / html / pages / hello.html en je wil gewoon dat aan yourname.com / hello zijn -. goed, kunt u gebruik maken van htaccess een webpagina omleiden naar een andere. U kunt het ook gebruiken om authenticatie te doen. Misschien zijn er een aantal delen van uw website die u nodig hebt om een ​​ander wachtwoord te gebruiken. U kunt bepaalde IP-adressen te blokkeren, blokkeren bepaalde domeinen. Misschien heb je gewoon echt niet leuk Harvard studenten met behulp van uw website. Nou, heb je de mogelijkheid om alle Harvard IP-adressen te blokkeren. Ten slotte kunt u dingen behandelen - kunt u bepaalde code schrijven om uw server te maken zo behandelen. Zhao of. uw naam of. hallo pagina's als PHP-code. Misschien is dat nuttig zal zijn. Misschien dat zal niet zijn. En tot slot, kunt u deze gebruiken om foutreacties verwerken. Wat bedoel ik daarmee? Als je gewoon code zoals deze add - ErrorDocument 404 en vervolgens direct hen om wat error pagina, kunt u ervoor zorgen dat de gebruiker niet alleen zien het echt, echt lelijk 404 en laat ze iets leuks. Laten we het eigenlijk eens kijken hoe we dat kunnen doen met uw Pset 7 te nemen. Hier, ik ben in mijn apparaat. Ik ga naar Chrome te openen, en dan ga ik proberen om toegang te krijgen tot een pagina dat niet bestaat op CS50 Finance. Dus, lokale host - cats.php--zo, merk ik dat ik een fout document gemaakt die zegt, "canz z pagina niet vinden!" Het heeft een zeer trieste kat op het. Als je op Twitter, als je op een van deze andere sites, U kunt een pagina niet vinden, zijn ze meestal proberen om u een leuke foto tonen zodat je niet al te teleurgesteld. Je zou ook iets dat meer professionele die zegt, goed, het spijt me dat ik kon de pagina niet vinden, maar misschien is hier een zoekvak. Of misschien zijn hier een aantal links die u zullen helpen de koppeling die u wilt vinden. Dus, hoe heb ik dit doen? Hoe is dit mogelijk? Als we gaan in onze terminal hier - Ik ga gewoon om in te zoomen een beetje - merken dat ik een nieuwe pagina. In mijn HTML directory het heet - je kunt het niet zien - het heet error.php. En error.php is gewoon een bestand dat ik heb gemaakt dat je laat zien dat pagina zelf. Ik kan je laten zien wat error.php is. Het is precies deze pagina. Het zegt, "Oh nee! Canz niet z pagina vinden!" En, als je wilt zien - zo, merken dat htaccess soort is een rare naam.. Het begint met een punt, wat betekent dat het een systeembestand. Het is een verborgen bestand die gewoonlijk niet wordt getoond. Als je dat doet ls-a, kunt u alle verborgen bestanden zien in een bepaalde directory, en inderdaad, zie je. htaccess is een van hen. Laten we verder gaan en openen htaccess. - met gedit - Boom! Alles wat ik heb is een lijn daarbinnen - Error document voor 404 fouten die ook wel bekend als file-niet-gevonden fouten. Laten redirect ze naar iets genaamd error.php. U kunt leuke dingen hebben, zoals canz niet z pagina vinden! En er zijn ook heel leuke dingen die je kunt doen met. Htaccess. Als u meer wilt zien. Htaccess magie, Dit is een zeer koele website te gaan - het heet javascriptkit.com/howto/htaccess.shtml-- als je meer wilt weten server magie uit te voeren. En het kan heel leuk. Oef! Goed zo! Meer leuke foto's. Dit is een man doen push-ups, en zijn kat probeert te helpen. Ik vind het heel schattig. Helaas, ik heb niet een kat als dat. Oke. Dus hebben we het over. Htaccess. We hebben gesproken over de afhandeling van fouten. We hebben gesproken over hosting, domeinnamen. We hebben gesproken over cross-browser compatibiliteit. Nu hoe kunnen we ervoor zorgen dat uw website ook daadwerkelijk uitvoert? Hoe zorgen we ervoor zorgen dat als ik naar uw website Ik kan uw pagina te zien binnen een paar seconden? Een van de dingen die ik denk dat mensen gewoon soort van vergeten is beeldoptimalisatie. Laten we zeggen dat je wilde een foto op uw site en het is 2 MG groot. Dat zou fijn zijn voor ons omdat we op Harvard, en we hebben een zeer snelle internetverbinding. Maar stel je voor iemand in China. Voorstellen dat iemand in India. voorstellen dat iemand misschien op het platteland van Kansas, die misschien niet de zelfde soort breedband internet die we hebben. Als u een afbeelding 2 MB op uw site en de gebruiker moet het probeert te openen, het gaat om hen te nemen een hele lange tijd om te downloaden. Dus, als je niet dat soort resolutie nodig hebt, dan kunt u het formaat van uw afbeelding met iets als Adobe Photo Shop. Er is meestal een optie genaamd veilig voor web en apparaten, en wat het doet is het strips uit alle overbodige informatie en soort van compacts uw bestand in een klein beeldformaat zodat u zet het op je website, en elke gebruiker die probeert om die pagina te downloaden gaat om een ​​kleinere versie van de afbeelding te downloaden. Als u niet beschikt over Adobe Photo Shop webresizer.com is ook een andere bron waar u uw afbeelding kunt invoeren en het zal uitspugen exact hetzelfde beeld, maar het zal iets 3 keer kleiner. Dus dat is erg handig voor uw gebruikers. Een ander ding dat je kunt doen is minify code. Als we een kijkje nemen op Google.com, je zult zien dat het niet soort van dezelfde HTML en CSS die we gewend zijn. Gewoon gaan hier kijken naar de broncode. Als ik scroll gewoon naar beneden - wow, dat ziet er behoorlijk walgelijk. Dit zou een nul op stijl te krijgen. Als u deze gecodeerd voor uw Pset, zal je een nul krijgen op uw stijl. Dit heeft geen tussenruimte. De namen lijken erg cryptisch. Het is allemaal echt walgelijk. En het script te sluiten in het lichaam - de sluiting HTML - ze zijn allemaal bij elkaar - al smushed elkaar. Waarom doen ze dit? Ze minified hun code. Merk op dat dit document zal worden een stuk kleiner voor mij om te downloaden dan iets met witte ruimte, dan iets met heel lange variabele namen. Als u uw code minify je strip uit alle witte ruimte. Natuurlijk, uw browser niet schelen als u een witte ruimte in uw code. Je strippen het uit, nu kan ik een kleiner bestand downloaden - nu het bestand - het document dat we gaan downloaden heeft een kleinere bestandsgrootte, zal het sneller zijn voor mij om te downloaden, en dat is handig. Als je werkt met websites en je bent de lancering van een website, het is bijna altijd goed om je code kleineren. Een andere reden waarom het goed zou kunnen zijn is misschien niet wilt dat anderen uw wachtwoord te gebruiken. Misschien heb je niet wilt dat anderen je CSS gebruiken. Je weet dat als je echt wilde zijn gierig met dat, dan kunt u ook minify uw code, en het moeilijker zou zijn voor mij om het te stelen want ik heb geen idee wat er gaande is. U kunt ook naar websites als minify.avivo.si. Diensten zoals deze online helpen uw code kleineren, zodat u niet hoeft te doen met de hand. Zeker niet met de hand doen. Oke. Nu spreken over scripts. Misschien in je PHP-code is er iets dat je niet hoeft te doen. Misschien is er extra lussen in. We spraken over codeontwerp in CS50. Zelfs als je coderen in C als je - als je extra werk doet dat je niet hoeft te doen, nou, dat gaat te vertragen uw scripts op uw website, en dit is vooral van belang voor websites, omdat gebruikers tegenwoordig zijn erg ongeduldig. Als je onnodig werk doet, het gaat om ze langer duren te krijgen tot de informatie die ze willen, en ze gaan heel ongelukkig te zijn. Tot slot kunt u uw database tabellen te optimaliseren. Onthouden we gesproken over indexen. Ze zijn niet alleen goed voor het maken van zeker dat u een rij dat is uniek. Ze zijn ook goed voor te zorgen dat uw database werkt snel. Als je wilt lezen over die onderweg naar de MySQL documentatie, of u kunt kijken naar - nou ja, hoe kan ik mijn database tabel te optimaliseren? Hoe kan ik ervoor zorgen dat ik heb indices die me helpen sneller te krijgen tot de informatie? Er zijn ook kleine trucjes die je kunt gebruiken, zoals caching. Als je PHP - als je een blog hebt, bijvoorbeeld, en je hebt - en het wordt aangedreven door PHP of een andere taal - kunt u uw blog cachen bij pakweg intervallen van 50 minuten, zodat u statische pagina's kan dienen of statische HTML om de bezoekers van uw site. Op die manier de gebruikers niet om je PHP-script elke keer uitvoeren, en misschien is dat sneller voor hen om toegang te krijgen tot die informatie zal zijn. En ten slotte, kunt u gebruik maken van iets als CDN. Merk op dat wanneer je een Pset downloaden, u altijd naar CDN.CS50.net. Waarom is dat? CS50 gebruikt ook als een soort CDN - een content distributie netwerk - hetgeen betekent gewoon dat het een stelletje servers misschien ergens rond de wereld die helpen uw pagina's dienen om uw bezoekers. Als uw bezoeker krijgt een pagina van een server die is dichter bij hen geografisch, dan is het meest waarschijnlijk uw bezoeker gaat naar dat bestand een stuk sneller te krijgen. Er zijn ook online bronnen die u helpen dat te doen. Een van hen is CloudFlare. Zij bieden een gratis CDN service. Als u grote bestanden die je dienen om uw gebruikers, dan misschien is het beter om ze op een CDN, zodat ze sneller kunnen krijgen voor hen. De laatste onderwerp voor de dag is zoekmachine optimalisatie. Wat is zoekmachine optimalisatie? Dat is ervoor te zorgen dat zoekmachines zoals Google of Bing of Yahoo kan gaan naar uw site en uw site kan doorzoeken en indexeren van uw site en wanneer Ik, bijvoorbeeld, ga naar Google.com en ik probeer te zoeken naar iets, dan is uw site zal verschijnen. Hoe zorg je ervoor dat uw site is een van de top 10? Want zoals we allemaal weten, als je zoekt naar iets op Google en het is niet op de top 10 je bent waarschijnlijk niet van plan om te kijken in de komende 10. Dit is een soort van een onderwerp dat is gehuld in mysterie. Er is veel hype die er op het internet. Er zijn veel bijgeloof over als je x dan zal Google zoals jij beter. Als u y dan zal Google zoals jij beter. Het is waarschijnlijk beter om te kijken naar documenten van de zoekgigant's zelf. Dit is een van de documenten op Google dat u precies vertellen hoe u uw site te optimaliseren zodat Google kan openen en indexeren zeer mooi. Je hoeft niet naar deze URL te kopiëren naar beneden omdat deze presentatie gaat zijn hoe dan ook online. Als je kijkt naar deze en u dit leest zijn er een aantal zeer nuttige tips in. De Google vertelt je - als je echt wilt dat uw site goed worden geïndexeerd dan moet je al deze dingen te doen. Een ander ding dat zoekmachines echt leuk is verse inhoud. Als u inhoud hebt die is zeer regelmatig geactualiseerd dan zoekmachines zeggen, ooh, ik hou van je website. Ik ga om te gaan naar uw site heel vaak. Ik ga index veel van uw pagina's. Als je verse inhoud dan heb je meer kans om te verschijnen - heb je meer kans meer relevant. Je hebt meer kans om meer bijgewerkt, en zoekmachines hebben meer kans om uw site te zetten boven anderen. Deeplinks zijn ook belangrijk. Als je echt wilde uw site er goed uitzien in de ogen van een zoekmachine hebben een heleboel andere websites gekoppeld aan het en gekoppeld diep in uw website. Niet alleen een link naar uw homepage. Link naar misschien yourname.com / iets / iets / something.php. Dat - om een ​​zoekmachine - middelen, wow, ze hebben echt interessante inhoud dat iemand anders is zo diep linken naar hun site die ik zou echt, echt zet meer belang op de pagina's van die site. Als u nauwkeurige paginatitels, als je geen fouten dat is goed omdat Als een zoekmachine probeert uw site te bezoeken, en het wordt steeds een foutmelding, Het gaat waarschijnlijk geven zeer, zeer binnenkort. En tot slot, je wilt een snelle laadtijd hebben omdat zoekmachines - net als mensen - Don 't hebben veel geduld voor trage websites. Dit is een manier voor u om ervoor te zorgen dat u hoger in zoekmachine queries en hopelijk daardoor meer verkeer te krijgen. Want na al, heb je al die tijd besteed aan het ontwikkelen van uw website. Je bracht al die tijd de lancering van deze website online. U wilt ervoor zorgen dat je genoeg gebruikers die daadwerkelijk uw inhoud te zien. Andere goede bronnen te gebruiken. Google Webmaster Tools is iets om te kijken in. Dit helpt je laten zien - Google is niet indexeren van mijn site. Wat voor soort fouten wordt geconfronteerd? Hoeveel pagina's heeft geïndexeerd? Wat doet het denken is de belangrijkste content op mijn pagina? Misschien is dat niet wat ik wil dat het is. Misschien moet ik mijn website te veranderen een beetje zodanig dat het beter wordt weerspiegeld wat mijn website is echt over. Google Analytics is een ander echt cool tool. U kunt een beetje van JavaScript toe te voegen aan je pagina's. En dan daarna kun je naar Google Analytics, en het zal volgen uw bezoeker demografie en uw site groei. Het zal u precies vertellen hoeveel bezoekers uw site bezoeken binnen een bepaalde dag, binnen een bepaald uur, binnen een bepaalde week. Hoeveel bezoekers uit China? Hoeveel bezoekers van Antarctica - je krijgt naar uw website. dat er iets cool om te zien zou kunnen zijn of het zou zelfs nuttig zijn omdat je probeert om een ​​bepaalde doelgroep. Misschien bent u probeert om tieners te richten met uw website, en zie je dat het merendeel van de bezoekers van uw website zijn misschien 30 - tot 40-jarigen, dan misschien of je een probleem hebt of je kan gewoon zeggen, goed, dan misschien moet ik verander gewoon richten op mijn website, zodat Ik meer focussen op die leeftijdsgroep. Google Apps - als je wilde soort van e-mails met uw domeinnaam - misschien iets willen yourname@yourname.com-- U kunt gebruik maken van gmail adressen - u kunt de gmail-service te gebruiken en Google Apps is een manier om dat te doen. U kunt het opzetten van specifieke e-mailadressen die specifiek zijn voor uw domeinnaam plaats of@gmail.com. En tenslotte zijn er webontwikkelaar extensies en add-ons - voor Chrome, voor Firefox, voor andere browsers - die u in staat om te gaan en te inspecteren CSS, JavaScript inspecteren, precies zien wat er mis is met uw JavaScript script, en misschien is dat nuttig is voor uw de-afluisteren doeleinden zult zijn, voor u uit te zoeken - goed, waarom is niet mijn website goed weergegeven in deze browser? En tenslotte, als je wilde om meer te leren over al deze onderwerpen - als je wilde meer leren over HTML en CSS en JavaScript - want na al, we alleen geleerd je een beetje - kunt u websites als W3Schools.com om te zoeken naar meer middelen. Ze hebben zeer mooie tutorials over hoe doe ik x, of wat betekent y betekenen? Als je wilde meer leren over deze talen kunt u gewoon hier gaan. Oke. Ik denk dat ik wilde de laatste paar minuten van dit verlof voor vragen, zo zijn er nog vragen over iets dat we over gepraat? [Toeschouwer] Wat voor dingen zijn op W3Schools en hoe wordt het behandeld? [Yuechen Zhao] Wat voor dingen? Dus, een van de zeer grootste dingen die ik veel gebruik is hun referenties. De referenties detail, bijvoorbeeld voor DC - wat dit betekent of als je wilde de achtergrond van een pagina wijzigen - hoe doe je dat? Welke browsers ondersteunen dat bevel? Dat soort dingen. En dan zijn ze ook gewoon erg leuk tutorials over HTML, op PHP, op JavaScript, op MySQL, over allerlei verschillende onderwerpen. Ze hebben leuke tutorials. Ze leren je hoe je dingen te doen. Het is leuk om te kunnen gaan en meer informatie over deze onderwerpen kunnen. [Toeschouwer] HTML 5 is nog niet compatibel met alle browsers die er zijn. Zou je aanraden gewoon weg van een verblijf omwille van compatibiliteitsproblemen? Hoe zou u omgaan met dat? [Yuechen Zhao] Ja, ja, de vraag is HTML5 is nog een baby norm. Het is niet echt ondersteund door veel browsers, dus moeten we vermijden? Ik denk dat ik vorig jaar zou een zeer groot voorstander van zijn geweest, laten we voorkomen HTML5 omdat het nog steeds - het is nog steeds erg nieuw en in feite de standaard HTML5 is nog niet afgerond. En ja, er is echt geen HTML5 standaard. Maar ik denk vooral als je het ontwerpen van een website nu, is het misschien beter als je gewoon gaan met HTML5, want dat is een soort van naar de toekomst, en als u wilt dat uw website te zijn toekomstbestendig en u wilt dat uw website aan het werk in toekomstige browsers, is het misschien beter om te bouwen iets te beginnen voor de toekomst dan het verleden en ook alleen vanwege het feit dat HTML5 is echt niet zo verschillend van HTML4 of XHTML. Als u gebruik maakt van HTML5, het normaal zal werken in de meeste browsers. Je hoeft alleen om een ​​soort van gaan in en zorg ervoor dat met deze screenshots en ervoor te zorgen dat met de hand om deze websites zelf. Maar waarschijnlijk zal het werken, tenzij u gebruik maakt zeer specifieke functies voor HTML5. Merk ook op dat voor CS50 - bijvoorbeeld voor de video-speler die we gebruiken - het maakt gebruik van HTML5 en HTML5 video naar de lezingen te geven. Maar als je een echt oude browser, dan zal het terugvallen op Flash. Dus, dat is ook iets anders - hebben een fall-back systeem voor als je weet gewoon dat de browser niet zal behandelen wat je wilt dat het te hanteren. Andere vragen? Alles wat we over gesproken. Oke. Dan denk ik dat is het zo'n beetje voor mij. Ik denk dat is het. (Applaus) Cool. [CS50.TV]