Regardless of what is in these notes, you as the student are responsible for everything covered in lecture.
The main learning goals of weeks 1 and 2:
Understand computer networks and networked applications,
network protocols: the data link, network, transport, and application layers. You should be able
to list the protocol layers in order (top to bottom or bottom to top) and explain the network function and network addressing at each layer.
Understand how to write client-server applications using the Socket API. You should know how to use
Java's ServerSocket and Socket classes to write simple network servers.
You should know how to design and implement an application layer protocol for a simple network application.
discussed in lecture are available here .
Understand the concept of a URL, URI, and URN. Be able to explain the major components of a URL, which are the
scheme, authority, host, path, query, and fragment.
You will find the definitions of these at
Understand the concept of IP addresses as used to identify network interfaces. Understand the purpose of
the Domain Name System and the fact that DNS is an application layer protocol. Understand the concept of
"localhost" and the loop-back address 127.0.0.1.
Understand the HTTP protocol, and the structure and major parts of HTTP requests and HTTP responses.
Understand HTTP methods, HTTP headers
, and request and response bodies.
At this time, you should be able to explain the meaning of the following headers: Accept, Accept-Charset,
Accept-Language, Content-Length, Content-Language, Content-Type, Host,
Location, and Refresh.
- Be able to list and explain the 5 categories of
HTTP response status codes: Informational, Success, Redirection, Bad Request, and Server Error.
Understand HTML and CSS. A good reference for learning HTML and CSS is W3 Schools .
We will not spend time teaching HTML and CSS in lecture, so make sure you work out with these tutorials on your own time.