Topics:

  • Technical Specifications
  • IEEE floating point numbers
  • DNS
    • Public Suffix List
    • Pitfalls of Public Suffix List: https://www.icann.org/en/system/files/files/sac-070-en.pdf
  • Email
    • Running a mail server
    • Sending email
    • Not turning into a spambot
    • Validating email addresses
    • double-opt-in
    • Setting up DNS records
  • URI
    • Program to visually break down a URI into components
    • History
    • URI Base
    • absolute URI
    • URI References
    • Resolving URI References
    • URI equality testing e.g. https://issues.apache.org/jira/browse/HTTPCLIENT-1995
  • TLS
    • Encryption certificates
    • Server Name Indication (SNI)
    • Certificate Transparency Logging
  • Encryption
    • List of digest algorithms and links to IANA registries of digest algorithms
  • HTTP
    • Transparent proxies
    • Gateways
    • Caching
    • Conditional changes
    • Session management
    • File uploads
    • Naming routes
      • Versioning APIs (how and when to version an API)
    • Task management (e.g. 202 Accepted)
      • Monitoring a remote task for completion
    • Glossary:
      • HTTP methods
      • HTTP status codes
      • HTTP headers
    • https://www.w3.org/2001/tag/doc/mime-respect
    • Subscribing to events with webhooks
    • Content negotiation
      • http://www.ltg.ed.ac.uk/~ht/reactive_conneg.html
  • Media types
    • media type name syntax
    • multipart
  • Web Linking
    • IANA Link Relations
  • ASCII
  • Unicode
    • http://www.unicode.org/reports/tr36/
    • Text direction and mixed text directions
  • Media types
  • Internationalization concerns
    • Differences in names in US, Japan, China, India, Russia, Arabic, Hebrew, ...
    • Right-to-left languages
  • XML
  • XML Namespaces
  • Makefiles
  • Shell/bash
  • Parts of a Website
    • homepage
    • sitemap.xml
    • robots.txt
    • .well-known
    • favicon
    • stylesheet
    • scripts
    • metrics/tracking
  • HTML
    • Webpages
    • Element reference
    • Structuring pages
    • Marking up content
    • Annotating content with RDFa
    • DOM
    • organizing content sections
    • Overview of template engines
    • embedding media
    • methods of streaming media with content type and bitrate negotiation
    • text/html parsing
    • application/xhtml+xml parsing
  • DOM
  • JSON
  • CSS
  • ECMAScript
    • Document contexts (webpage, Node.js event loop, ...)
  • Web browser event loop
  • Caching
  • CSRF handling
  • OAuth
  • HTTP Requests
  • Business concerns (Privacy policy)
  • JSON-LD
  • JSON Schema
  • User Agents & User Agent Design
    • "Client authenticity"
  • User authentication
    • https://pages.nist.gov/800-63-3/sp800-63c.html
  • How to store passwords
    • PBKDF, constant-time comparison function
  • How to handle credit card numbers & PCI Compliance
  • Encoding URIs in HTML attributes to avoid XSS concerns
  • HTML forms best practices
    • i18n/lang support
    • Autocompletion
    • Geo-location
  • Disability accommodation
    • Visual contrast requirements
    • Screenreading support
    • CAPTCHA considerations
  • Naming things
    • Names should have a function and a type - just "date" is ambiguous, just "uri" is ambiguous
  • Blog/papers section for name & dated opinion pieces
  • Testing
    • Testing payment systems
    • UI testing
  • Error correction
    • IP error detection
    • https://quiet.github.io/quiet-blog/2018/09/16/How-Libcorrect-Does-Forward-Error-Correction.html
  • OpenSearch
  • Dweb - SOLID
    • https://github.com/solid/solid-spec
    • https://solid.inrupt.com/docs/intro-to-solid-spec
  • Other documentation efforts
    • https://www.owasp.org/
    • http://typographyhandbook.com/
    • https://a11yproject.com/
    • https://devdocs.io/
    • http://webconcepts.info/
    • https://12factor.net/
    • https://github.com/fejes713/accessibility-guide
    • https://caniuse.com/
    • https://featurepolicy.info/
    • https://github.com/LearnSolid/solid-roadmap
    • http://resthooks.org/
    • https://javascript.info/
    • http://apistylebook.com/
    • https://howtojsonapi.com/
    • https://apisyouwonthate.com/
    • http://standards.rest/
    • https://github.com/goldbergyoni/javascript-testing-best-practices
  • How to write Internet Standards
    • IETF process
    • One media type, one specification for all versions