Toggle navigation
CSCI 571
Home
Lectures
Homeworks
Grades
Software
More
Course Info
Additional Resources
Academic Integrity Policy
Piazza
Student Testimonials
CSCI571 - Web Technologies
Fall 2018
Course Introduction
Web Basics
HTML
CSS
XML
JavaScript
DOM
Forms & CGI
JavaScript Advanced
HTTP
Web Servers
PHP
Web Performance
Cookies and Privacy
Responsive Web Design
AJAX
JSON
Javascript Frameworks
APIs
JQuery
High Performance Websites
Web Security
HTML5
JavaScript App Builders
Course Introduction
The Class Website
Piazza - The online class forum
How Many Web Sites, July, 2014
Invisible Web What it is, Why it exists, How to find it, and Its inherent ambiguity
USC's Web Server Statistics
What is USC using for its website
Web Server Statistics for USCweb - Last Month
Netcraft Latest Stats
Hosting Services
GoDaddy
Yahoo
Rackspace
Network Solutions
Reviews & price comparisons
NTT Cloud
Amazon Elastic Compute Cloud(EC2)
USC Website Statistics
Browser Statistics
Browser News Statistics
Internet Statistics via Whois Source
The Web is Dead - Wired Magazine August, 2010
Mobile/Tablet Browser Market Share
Stat Counter
Internet / Web Basics
Internet Systems Consortium, Inc.
What is CIDR - A Word Definition From the Webopedia Computer Dictionary
IPv6 The Next Generation Internet!
Request for Comments 1035
Wikipedia on the Domain Name System
Wikipedia on Root Name Servers
ICANN Referrals Page
InterNIC FAQs on New Top-Level Domains
Network Solutions
Network Overview --- Internet Traffic Report
Graph structure in the web
A Little History of the World Wide Web
World Wide Web Consortium
Internet 2 Project
Google's Public DNS Service
IP Tutorial
Internet Domain Survey - Current
Internet Statistics via Whois Source
RFC 1738 - URLs
Mary Meeker Internet Trends report
HTML
List of Web Browsers
HTML 4.01 Spec
HTML 5 Spec
HTML 5.1 Draft
The body element (HTML4)
Microsoft Expression Web 4 (HTML Editor)
List of HTML editors
Unicode 8.0.0
RFC 3986 - URI syntax
PNG Spec
Image Map on Wikipedia
HTML Validation Tools
W3C Markup Validation Service
Clean up your Web pages with HTML TIDY
Cascading Style Sheets
Cascading Style Sheets, level 1 (CSS1)
Cascading Style Sheets, level 2 (CSS2)
CSS 2.1
CSS - Current work in process
W3C CSS home page
The Extensible Stylesheet Language Family (XSL)
Quirksmode - What happens when you don't use !DOCTYPE
Scalable Vector Graphics
Math markup language - MATHML
Pseudo-elements and pseudo-classes
Style Sheets are pervasive
espn.go.com
espn.com (cdn)
cbsnews.com
microsoft.com
CSS Reset
Sample CSS Reset on meyerweb.com
W3C CSS examples, tips and tricks
CSS Zen Garden - CSS demos
CSS Validation Service by W3C
CSS3 - Additional features
Animations
Transitions
2D Transforms
3D Transforms
Media Queries
Namespace
Selectors
Color
CSS3 Animation Demos
CSS3 examples and best practices
Apple WebKit CSS3 Features
22 stunning CSS3 animation examples
XML - eXtensible Markup Language
XML Core Specification
XML Namespaces
XML Schemas
XSL, Extensible Stylesheet Language, v 1.1
XSLT, XSL transformations
XML Schema
Open Source XML Parsers
Xerces
Lark
Expat
List of XML parsers
Online Tutorial on Namespaces
XML Schema Validator - corefiling.com
List of XML Validators
Replacement for W3C XML Schema Validator
JavaScript
Introducing Scratchpad for Firefox
Scratchpad for Firefox
Predefined Core Objects
JavaScript Array Reference
ECMA-262 5th Ed. Language Specification
JavaScript 1.7
JavaScript 1.8.x
Mozilla JavaScript Docs
List of Javascript Libraries
DOM - Document Object Model
W3C Document Object Model Documents
Document Object Model (DOM) Level 2 Core Specification
DOM Level 3 Core
DOM Level 3 Load and Save
DOM Level 3 XPath
DOM Level 3 Views and Formatting
DOM Level 3 Requirements
DOM Level 3 Validation
DOM Java Language Binding
The W3C DOM Structure Model
Innerhtml Added to HTML5 spec
Innerhtml in HTML5
Dynamic Markup Insertion (HTML5)
More on innerhtml in html5
Whitespace in the DOM
Microsoft XML DOM Enumerated Constants
Microsoft DOM Reference
DOM and CSS properties - Background Color
DOM and CSS properties - Background Image
Forms & CGI Mechanisms
Input Tag attributes - See HTML5 Additions; Scroll Down to See New Type Attributes
Select Tag Attributes - See HTML5 Additions
Purpose of CGI
Yahoo URLs produced by the query "bicycle tours"
Bing URL produced by the query "bicycle tours"
Definition of CGI Environment Variables, RFC 3875
Server directives - Location - Redirection example
Javascript Advanced
JavaScript Object Hierarchy
SunSpider JavaScript Benchmark Test
JetStream JavaScript Benchmark Test
JavaScript Object Hierarchy
JavaScript Windows Object - Properties, Methods
FAQ on Creating New Windows in JavaScript
Regular Expression Reference
List of Javascript Libraries
Password Validation using regular expressions and HTML5
Creating Cross Browser HTML5 Forms Now, Using modernizr, webforms2 and html5Forms
HTTP - HyperText Transfer Protocol
W3C Protocols Page
RFC 1945, HTTP 1.0
RFC 2616, HTTP 1.1
IETF httpbis
HTTP/2 home page
RFC 2046, MIME Types
Download HTTP Headers Live for Firefox
Examples for HTTP Headers
WireShark - Capture Packets
HTTP Strict Transport Security
HTTP Header Field X-Frame-Options
HTTP Strict-Transport-Security (HSTS)
HTTP access control (CORS)
HSTS Wins Proposed Standard Status
IETF Documents, Drafts and RFCs
HTTPBIS Status Page at IETF
HPack - Header Compression for HTTP/2
Google Starts Fading Out SPDY Support In Favor Of HTTP/2 Standard
Wikipedia on HTTP/2
Using the navigator object to detect client's browser
Web Servers
Server Watch Web Site, Search for Web Server
Google Web Server
Nginx Web Server
Application Web Servers
App Server, Web Server: What's the Difference
GlassFish Application Server
IBM WebSphere
Oracle WebLogic Server
internet.com's ServerWatch
Netcraft Web Server Usage Graph
IANA - Internet Assigned Numbers Authority
Well Known Port Designations
Apache Web Server Project
Configuring an Apache Web Server
Apache 2 Web Server Installation Instructions
WebTrends Sample Report
Netcraft What's That Site Running Results - USC
Google Analytics
PHP
PHP Documentation
php.net
phphelp.com
Web Performance
Explanation of RSA
Cryptographic Hash Functions
MD5 Cryptographic Hash
SHA-1 Cryptographic Hash
RC2 Block Cipher
RC4 Block Cipher
Secure Protocols
SSL Protocol Version 3
DigiCert Extended Validation Certificates
TLS Protocol Version 1.0 Specification
Microsoft security update for SSL
Transport Layer Security
Extension to TLS - Kerberos
Extension to TLS - TLS with HTTP/1.1
Extension to TLS - HTTP over TLS
Extension to TLS - AES Ciphersuites for TLS
Google Compute Engine - Watch the Video
Amazon Web Services
LIGHTTPD - Light and Efficient Web Server
NGINX Web Server
Analyzing Web Server Performance
Estimating Web Server Performance
Single Large Machine - SUN E20K Server
Database Performance TPC-C by Performance
Cisco Solutions to Load Balancing
Netrating of Search Engines, 2008 (pdf)
Wikipedia on Load Balancing
Google on Cloud Computing
The C10K problem
HTTP Performance Overview
Netcraft Web Server Survey, February 2015
Apache Benchmarking Tool ab
Comparison of Lightppd, Nginx, Apache
Small Static File Benchmark - LiteSpeed vs. nginx vs. Apache
Web Server as a Proxy Server
Apache HTTP Server - module mod_expires
So, You Don't Want To Cache, Huh
Cookies and Privacy
RFC 2109 - HTTP State Management Mechanism
Google's iPhone Tracking, WSJ Article
IETF Cookie Specification
_utma Google Analytics cookie
Wikipedia on Cookies
How To Read DoubleClick Ad Tags
Google Advertising Opt Out Add_on (click on Ads Preferences Manager)
Google Analytics Opt Out Add-on
Google Analytics Use of Cookies
Adobe Flash Cookies
Evercookies specification
Better Privacy Firefox Add_on
Public Suffix List
W3C Web Tracking Protection Document
The Web Never Forgets
RFC 6265 - Third Party Cookies
Tracking Online Users without Cookies: Canvas Fingerprinting
THE WEB NEVER FORGETS
Articles on Online Advertising
DoubleClick
Web Advertising
Online Advertising
Responsive Web Design
Multi-touch Gestures
.mobi Top Level Domain
Configuring the Viewport
Viewport Sizes
Responsive Web Example: Foodsense.is
Responsive Web Example: clearairchallenge.com
mattkersley.com
Responsive Web Design by Ethan Marcotte
W3C Documentation of Media Queries
Something
caniuse.com on media queries
Pink, Blue, Green ball
Reporting Screen Size
Stephen Gilbert Media Queries for Ipads and iPhones
css3-mediaqueries.js by van der Graaf
Google on Building Smart-Phone Optimized Websites
usability Guidelines for Websites on Mobile Devices
How to Proportionally Scale Images
Bootstrap Home Page
Bootstrap Grid Examples
Bootstrap Tutorial Video
Brackets Home Page
Brackets YouTube Video
AJAX - Asynchronous Javascript And Xml
Document Object Model (DOM) Level 3 Load and Save Specification
Specification of XMLHTTPREQUEST
Mashup Example - Zillow
Using iFrame
Ajax Example Application: Google Maps
Reading Material About AJAX
XMLHttpRequest & Ajax Based Applications (from Fiftyfoureleven.com)
Getting Started with AJAX (from A List Apart)
AJAX:Getting Started (from Mozilla Developer Center)
Ajax (programming) Wikipedia
Using the XML HTTP Request object
XMLHttpRequest & Ajax Working Examples
Very Dynamic Web Interfaces
Ruby on Rails
Reading Material on AJAX Toolkits
Microsoft ASP.NET Atlas
Eclipse / IBM - The AJAX Toolkit Framework (ATF)
Dojo
Google Browser Security Handbook, Part 1
Google Browser Security Handbook, Part 2
Cross Origin Resource Sharing CORS
AJAX Examples
JSON - JavaScript Object Notation
RFC 4627 - JSON rfc
Introducing JSON
The JSON Data Interchange Format
JavaScript eval()
JavaScript JSON.parse()
jQuery.parseJSON()
Douglas Crockford: The JSON Saga
Working with JSONP (jQuery)
JavaScript Object Notation (PHP)
JavaScript App Builders
React
React Native
Firebase
APIs and Web Services
Various APIs
More than 2 dozen Yahoo APIs
Google APIs (click on some links)
Amazon Web Services Affiliate Programs (Select Amazon Local and Scroll to Example Pages)
Ebay Developers Program, Click on Products to see APIs
Apple iCloud Storage API
Bing Maps REST Services
Tesla Model S API
OAuth Specification (Wikipedia)
Yahoo API Examples
Yahoo Flickr
Yahoo Developer Tools
YQL Zillow Request (JSON Returned for 1835 73rd Ave. Medina, WA, 98039)
YQL Craigslist Request for Mountain Bike (JSON Returned)
Yahoo RSS Feeds
Yahoo BOSS Search
Yahoo BOSS Geo Services
Yahoo DataTables
Amazon API Examples
Amazon Elastic Compute Cloud (Wikipedia)
Amazon.com Web Services
Amazon Affiliate Program
eBay API Example
Ebay Developer Program
Google API Examples
Google Web APIs - Home (click on some links)
Google Blog About Ajax (Video)
Google API Directory
Google Apps Marketplace
Google Blog on REST (Video)
Google App Engine
Google API Example Maps
Google Maps API Tutorial
Apple API Examples
Apple iCloud Storage APIs
JQuery
jQuery Home page
jQuery Download
jQuery Selector Examples
More jQuery Examples
DOM Examples WITHOUT jQuery
jQuery Fade Text
jQuery Count Font Tags
jQuery innerhtml
jQuery Move Buttons
jQuery More Move buttons
jQuery Reversing Objects
jQuery More Complicated Example
Using jQuery to Vary the Style Sheet
Try this on a smartphone - detects the device
Javascript Frameworks
Node.js
Node.js website
Node.js on Github
NPM
Learn Node.js in terminal
Express
GRUNT: JavaScript Task Runner
Node.js on AWS
Node.js on Google Cloud Platform
Node.js on OS X
Angular.js
Angular.js website
Angular.js on Github
Tutorial
Angular.js Course
Angular 2 (In beta)
Vue.js
Vue.js Website
Vue.js on Github
Forum
Showcases
Vue-router
High Performance Websites
Pareto Principle
Yahoo Engineering Blog - hosted on Tumblr
Yahoo Performance Engineering Blog - Old
Steve Souders Web Site
Akamai Technology
Tutorial on Web Caches
Apache mod_deflate
Apache mod_expires
Apache mod-gzip
Microsoft IIS Configuration Reference
How to add a Dynamic HTTP Expires Header
Configuring HTTP Compression in IIS 7
Server-side Compression tutorial
Difference between Link and @import
Script Tag attribute "defer" (scroll down)
Minification
Pure CSS - an example of minification
Google.com - another example for minification
"Minified Code" example - Google Maps engine
"Minified Library" example - Bootstrap
Wikipedia on Minification
Google Minify Program
The original Javascript Minifier from Crockford
On-the-fly Minify CSS and JavaScript in ASP.NET
Remove ETag Headers from IIS7
Configure ETags - Use 'em or Lose 'em
AJAX Caching
Yahoo's Best Practices for Speeding Up Your Web Site
YSLOW - Web Page Analysis tool from Yahoo
Google's PageSpeed
PageSpeed Insights - Just enter a url
PageSpeed Insights for Google Chrome
How Google loads its Javascript
References
Book - High Performance Web Sites
Examples
Image Maps
CSS Sprites
Inline Images
JSmin
HTTP Status Codes
Fasterfox
LiveHTTPHeaders
YUI Blog - Part 1
YUI Blog - Part 2
YUI Blog - Part 3
YUI Blog - Part 4
Yahoo Developer Network Blog
Web Security
General Introduction
Web Hacking Incidents Database
WhiteHat Security Report
Symantec Security Threat Report, 2015 [run video]
Anonymous Video to the American People
Cyberspace Security Alert Status
MySpace SAMY Worm
Open Web Application Security Project (show video)
Authentication Attacks
The Web Application Security Consortium / Threat Classification
Failure to Restrict URL Access
How Paris Got Hacked? - O'Reilly Media
Palin E-Mail Hacker Says It Was Easy | Threat Level | Wired.com
Password1 is the most used password
A Guide to Web Authentication Alternatives: Part 3
Authorization Attacks
Google GMail E-mail Hijack Technique | GNUCITIZEN
Client-Side Attacks
Top 10 2007-Cross Site Scripting - OWASP
MFSA 2008-36: Crash with malformed GIF file on Mac OS X
Clickjacking - Wikipedia
Injection Attacks
How To: Protect From Injection Attacks in ASP.NET
JavaScript Hijacking
Top 10 Ajax Security Holes and Driving Factors
MyDoom Worm
Santy Worm
Ajax and Mashup Security
Same Origin Policy
Better Example: JSONP for cross-site callbacks
Recent Attacks
Stuxnet
DomainKeys Identified Mail (DKIM) Spoofing
Yahoo Breach Extends Beyond Yahoo to Gmail
LinkedIn Suffers Data Breach
Russian Teen Suspected in Target Breach
HeartBleed Bug
JP Morgan Chase Hack (2015)
How NSA Domestic Spying Works
Wikipedia on Tor
Tor Home Page
PGP & S/MIME
Passphrases
Create passphrases with Diceware
Dice-Indexed Passphrase Word List
KeePassX - Open-source secure basket for storing confidential information
PASSPHRASES THAT YOU CAN MEMORIZE — BUT THAT EVEN THE NSA CAN’T GUESS
References
DataLossDB
Attack Surface Measurement
Symantec Internet Threat Report 2009
“iDefense: Brute-Force Exploitation of Web Application Session ID’s”, By David Endler – iDEFENSE Labs
"Divide and Conquer - HTTP Response Splitting, Web Cache Poisoning Attacks, and Other Topics" Amit Klein, March 2004
Secure Coding Practices for Microsoft ASP.NET" Amit Klein, July 2003
"Developing Secure Web Applications" Izhar Bar-Gad and Amit Klein, June 2002
"Hacking Web Applications Using Cookie Poisoning" Amit Klein, April 2002
HTML5
HTML5 Definition Complete
HTML 5 Vocabulary and APIs (Recommendation)
HTML Canvas (Recommendation)
HTML5.1 Working Draft
Comparison of HTML5 Features Across Browsers
W3Schools Examples
HTML5 Tutorial From W3Schools
Canvas Element Drawing a Red Rectangle
Canvas Element Line Drawing
Canvas Element Gradient Example (scroll the page down)
Ultimate CSS Gradient Generator
CSS Gradients in HTML5
Making <time> safe for historians
FireFox Agrees to Support H.264
H.264 is becoming ubiquitous
YouTube drops Flash
YouTube supports HTML5 / H.264
Google and MPEG LA Agree on VP8 licensing MPEG4 technologies
W3Schools Examples
HTML5 Simple Video Example
HTML5 Audio
HTML5 Audio Sample
Local Storage Example
HTML5 Demos in any Browser
More Examples of Content Editable and Geolocation
HTML5 Document Editing API Examples
Simple Editable Area
More Complicated Editable Area
HTML5 Geolocation API Examples
Detecting if Geolocation API is supported
Simple Geolocation Example
Getting latitude and longitude
HTML5 Session History and Navigation API Examples
Session History and Navigation API Example
Detecting if the Browser Supports Session History
Chrome Experiments
16 amazing HTML examples
40 Beautiful Free HTML5 & CSS3 Templates
HTML5 Gallery
Other HTML5 Video Examples
Steve Jobs on Flash
Comparison speed of Flash and HTML5 video
HTML5 Audio and Video Guide
HTML5 APIs
TEMP
Something