shortcuts:
TOC
NanoTwitter
search:
World Wide Web
Review of the building blocks of the web
What does TCP/IP do?
Sends a ‘message’ from one computer to another (often message is text)
Destination computer is designated by a host or domain name
Destination within the computer is designated by a port number
The format or Interpretation of the ‘message’ is determined by the port
Usually port 80 messages are interpreted as HTTP
Use Telnet to experiment with TCP/IP
TCP/IP sends and receives ‘text’ protocols
Telnet utility
command line indicates the target host and port
Then you can type in the messages
What happens if I don’t specify port 80?
telnet example.com 80 GET /index.html HTTP/1.1 Host: www.example.com
Formats and protocols
What do those words mean?
A convention
Gives meaning to “bits on the wire”
Example:
3 critical protocols or formats
HTTP - Hypertext Transfer ProtocolP
URI - Universal Resource Identifier
HTML - Hypertext Markup Language
Actually there are a bunch more that are almost as important
CSS - Cascading Style Sheets
JS (or ECMA) - Javascript
More?
All this is based on foundational Internet protocols
TCP/IP
DNS
Dissecting the URI
Protocol
Host Name (see also: domain name, subdomain name)
Port (default for http is 80 and for telnet is 23, etc.)
Path
Parameters
Review: How is the URI processed?
URL: http://www.salas.com:80/toplevel?catalog=cosi goes:
http -> use http protocol
:80 -> over port 80
-> method is implictly GET
www.salas.com -> host www.salas.com
/toplevel -> the path
Params ->
catalog = “cosi”
HTTP - Hypertext Transfer Protocol
Intro
Cosi105 - Scalability 2022 Syllabus
List of lectures
nanoTwitter
Homeworks
Lectures
Web Apps + Sinatra
Welcome
What is Scalability?
Cosi166 Quick Bullets
Intro to Sinatra
Sinatra and Twitter
NanoTwitter introduced
nano Twitter
Starting to think about scaling
Scaling at Hubspot
Service Oriented Architecture
Deploying to the Cloud
Scalable Service design
Scalability, continued
Testing in the world of SOA
Scaling Patterns
Testing Scalability
Tuning for Scale
Logging
Caching
Database Tuning 1
Database Tuning 2
Concurrency 1
Concurrency 2
Queueing
SOA + µservices
Software Engineering
Scalability Runoff 1
Last class!
Background
Technical Presentations
Misc Links and Resources