Blogimerkintä 1 (20.8.2015)
Nettisivut avattu tänään! Aurinko paistaa ja elämä on varsin makeaa. Tähän blogiin ilmestynee kurssin aikana lisää tavaraa. Pääset ajassa seuraaviin merkintöihin painamalla nuolesta oikealle. Tämä blogi on tehty Reveal.js:n avulla.
Blogimerkintä 2 (27.8.2015)
Verkkoprotokollat
Tämän merkinnän aladioissa on esitelty viisi mielestäni tärkeää verkkoprotokollaa.
1. IP
- TCP/IP-mallin Internet-kerroksen protokolla
- Internetin ydin
- Huolehtii IP-tietoliikennepakettien toimittamisesta perille pakettikytkentäisessä Internet-verkossa
- Ainoa asia, mikä kaikkia Internetiin liitettyjä koneita yhdistää
- IP-osoite on tavallisesti numerosarja
- IP-paketissa kuljetettavat protokollat on numeroitu
- IP-paketit toimitetaan perille IP-osoitteiden perusteella
- Protokollan numerosta vastaanottaja tietää, mitä IP-paketin sisällä on
- IP-pakettien perille toimittamista sanotaan reitittämiseksi
2. TCP
- Protokollalla luodaan yhteyksiä tietokoneiden välille, joilla on pääsy Internetiin
- TCP:n avulla tietokoneet voivat lähettää toisilleen tavujonoja. Tarvittaessa hävinnyt paketti voidaan lähettää uudestaan.
- Pitää huolta että paketit saapuvat perille oikeassa järjestyksessä
- Suurin osa Internetin liikenteestä perustuu TCP-protokollaan
- Esimerkiksi WWW-sivujen hakeminen tehdään siten, että selaimen ja palvelimen välille muodostetaan TCP-yhteys, jossa selain voi lähettää tavujonoja palvelimelle ja palvelin tavujonoja selaimelle
- TCP-yhteys sisältää kolme vaihetta: yhteyden muodostaminen, tiedonsiirto sekä yhteyden katkaisu
- TCP:hen on kehitetty ruuhkanhallintamekanismeja
- TCP:n päälle rakennettuja protokollia ovat mm. HTTP, SMTP, Telnet, SSH sekä FTP.
- TCP ja Node.JS: https://nodejs.org/api/net.html
3. HTTP
- Protokolla jota selaimet ja WWW-palvelimet käyttävät tiedonsiirtoon
- Asiakasohjelma (esim. selain) avaa TCP-yhteyden palvelimelle ja lähettää pyynnön (GET)
- Palvelin vastaa sopivalla vastauksella (esim. html-sivulla)
- Ensimmäinen dokumentoitu HTTP:n versio julkaistiin vuonna 1991
- Metodeja ovat esim. GET (resurssin haku), POST (tietojen lähettäminen), OPTIONS (kysely ominaisuuksista) ja HEAD (pyydä vain otsikkotiedot)
- HTTP normaalisti tilaton (pyyntöjen tulos ei riipu edellisistä tuloksista tms.)
- HTTP Ja Node.JS: https://nodejs.org/api/http.html
4. FTP
- TCP –protokollaa käyttävä tiedonsiirtoprotokolla kahden tietokoneen välille
- Toimii asiakas-palvelin –periaatteella
- Tehokas, helppo ja luotettava
- FTP-palvelin voi toimia aktiivisessa tai passiivisessa tilassa (aktiivinen avaa itse yhteyden asiakkaaseen ja aloittaa tiedonsiirron, passiivinen odottaa asiakkaan yhteyden avaamista).
- Tiedot lähetetään salaamattomina (kehittyneet FTP-palvelin ja asiakasohjelmistot osaavat hyödyntää salausta)
- Yhteyden avaaminen palomuurien ja IP-osoitemuunnoksien läpi ongelmallista
- Node.js:n eräs FTP-kirjasto: https://www.npmjs.com/package/ftp
5. SMTP
- TCP-pohjainen protokolla sähköpostien lähettämiseen serveriltä serverille
- Käytetään myös viestin lähettämiseen clientiltä serverille
- Nykyaikaiset palvelimet käyttävät laajennettua ESMTP -protokollaa
- Suurin osa sähköpostijärjestelmistä, jotka toimivat Internetissä, käyttää SMTP:tä viestien lähettämiseen
- Lähetetyn viestin voi lukea sähköpostiohjelmalla (tällöin yleensä hakemiseen käytössä POP3 tai IMAP).
- Node.js SMTP-client esimerkki: https://github.com/andris9/simplesmtp
Blogimerkintä 3 (2.9.2015)
Irclokin asennusohje (aladioissa)
1) Luo (kopioi) irclokki-sovellus OpenShiftiin:rhc app create irclokki nodejs-0.10 --from-code https://github.com/jvanhalen/irclokki.git
2) Lisää mysql-cartridge OpenShift-sovellukseen:rhc cartridge add mysql-5.5 -a irclokki
3) Editoi tietokanta kuntoon:
rhc ssh irclokki
mysql
DROP DATABASE if exists irclog;
CREATE DATABASE irclog;
USE irclog;
CREATE TABLE log (id INT PRIMARY KEY AUTO_INCREMENT, timestamp BIGINT, message TEXT);
rhc app-restart irclokki
Tuntemukset tehtävästä:
Tämä tehtävä onnistui kerrasta luennolla annetuilla ohjeilla ja uskon ymmärtäväni asian (riittävän) hyvin.
1
JONIN BLOGI (LTP7026)
Pikalinkit:
Verkkoprotokollat