Basic Internet Programming - Formalities
Basic Internet Programming - Formalities
Basic Internet Programming - Formalities
Serafim Dahl
serafim@nada.kth.se
I Labs
I Principles: wide, not deep.
I A lot to do, but all easy, mostly with a template to start from
I Net and programming basics (Lab1), Net connections (Lab 2)
I Server side (Lab 3, Lab 4), Client side (Lab 5)
I Projects
I You define your projects.
I You form the project groups.
I Send me an email with a 5-line project idea and names of group members
I The project must be an interactive WWW system. Simple HTML pages are
not enough
I Required: server-side programming (e.g. shopping baskets, booking
systems, resource allocation)
I Required: JavaScript (e.g. client-side checking of user input, etc)
I Not much technical complexity, but a high editorial quality (good layout,
including CSS), making the best of the Internet medium
I Make goups of 3 to 6 people
Administration
Content
A little on:
I network concepts
I web concepts
I internet addresses
I sockets
References:
I Harold: Java Network Programming
I Hall: Core Web Programming
I Deitel, et al: Internet and the World Wide Web How to Program
I Ince: Developing Distributed and E-Commerce Applications
Networks
Internet
Layers
Application Application
(HTTP, FTP, Telnet) Logical connection (HTTP, FTP, Telnet)
Transport Transport
(TCP, UDP, ...) (TCP, UDP, ...)
Network Network
(IP, ...) (IP, ...)
Physical layer
(Ethernet, FDDI, LocalTalk, drivers, ...)
IP address, DNS
Ports
Intranet
There are other networks with the same structure. Local networks are usually
called intranet. They may link to the internet with special ”bridges”.
Sometimes the bridge uses filtering devices to restrict the data traffic between
the networks.
192.168.0.1
212.223.44.65
192.168.0.199
51 52 53 54
internet intranet
bridge switch
192.168.0.2
I Not all kinds of application programs fit into the client-server model.
Some act simultaneously as both client and server and, if both ”ends” of a
communication do, that communication is called”peer-to-peer”.
Eg:
I a shared editor
I a game (runescape, world of warcraft, . . . )
I a telephone connection
I Some internet standards have been developed publicly already from the
prototype stage
I Their protcols are publicly accessible on the internet
I These protocols fit into the following categories:
I Mandatory – each host must implement them, eg. IP
I Recommended – that ought to be implemented, eg. TCP, SMTP, UDP,
TelNet, . . .
I Optional, like MIME
I Restricted, that are neccessary only in special cases
I Not recommended, that should not be implemented
I Historical (obsolete, deprecated)
I Informative, that may have been constructed outside the RFC but still are
useful without delivering an established protocol
HTTP
MIME