Session 14: Special Topics

Harvard University Extension School
Fall 2017

Course Web Site: http://cscie12.dce.harvard.edu/

Instructor email: david_heitmeyer@harvard.edu
Course staff email: cscie12@dce.harvard.edu

Topics

  1. HTTPS
  2. JavaScript Frameworks
  3. Monitoring Your Site
  4. Scaling Your Site
  5. Web Analytics
  6. Oh the Places You'll Go

slide1 slide2 slide3 slide4 slide5 slide6 slide7 slide8 slide9 slide10 slide11 slide12 

HTTPS

Encryption of communication between browser and server.

SSL (outdated)
Secure Sockets Layer
TLS
Transport Layer Security
https
HTTP over TLS/SSL

https connection (Chrome; American Century):
certcert

Encryption Overview

Plaintext, Ciphertext, Key, Algorithm

Symmetric Key Cryptography

Symmetric Key Cryptography

Public Key Cryptography

Public Key Cryptography

Digital Signatures

Public Key + Signature

Identity

Certifying Authorities (CAs) and Server Certficate

  1. Generate a public/private key pair
  2. Send your public key to a CA
  3. CA verifies your identity and signs your public key with its own private key
  4. Your signed certificate identifies you; analagous to your "passport".

Some CA Companies

JavaScript Frameworks

Angular Example

Monitoring Your Site

Steve Souders
High Performance Web Sites, Even Faster Sites, Web Performance Daybook Volume 2

Scaling Your Site

Shared to Dedicated/Private

scaling

Bigger and Faster

scaling

Separate Components

scaling

Cache

scaling

More - Horizontal Scaling

scaling

Web Analytics

Javascript is used to collect information about the browser and request, and then it sends this information back to a server, typically as request parameters for a 1x1 pixel transparent GIF image.

Open Source Software

Services:

Google Analytics

Google Analytics

JS included on page sends information back to Google Analytics server, which tracks and builds reports.

Example Reports

google analytics

google analytics

Overview of How Google Analytics Works

Javascript is included on page

<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-2675499-2");
pageTracker._initData();
pageTracker._trackPageview();
</script>

Request for image contains information

Javascript causes an image to be requested from the Google Analytics Server. Parameters sent with the image request contain information about the page loaded and about the browser capabilities.

URL of image:
http://www.google-analytics.com/__utm.gif?utmwv=4.1&utmn=1726621737&utmhn=cscie12.dce.harvard.edu&utmcs=UTF-8&yutmsr=1680x1050&utmsc=32-bit&utmul=en-us&utmje=1&utmfl=9.0%20%20r115&utmdt=Introduction%2C%20Internet%20and%20Web%20Basics&utmhid=99327265&utmr=0&utmp=/lecture_notes/2007-08/20080130/slide1.html&utmac=UA-2675499-2&utmcc=__utma%3D261712543.446246362.1206127732.1209398731.1209569723.25%3B%2B__utmz%3D261712543.1208810203.19.10.utmcsr%3Dgoogle%7Cutmccn%3D(organic)%7Cutmcmd%3Dorganic%7Cutmctr%3Djquery%2520tabs%2520cscie12%3B

Parameters sent (via query string):
google analytics parameters

Oh the Places You'll Go

oh the places you'll go

Copyright © David Heitmeyer