Skip to content
UoL CS Notes

Home

This website houses notes from my studies at the University of Liverpool. If you see any errors or issues, please do open an issue on this site's GitHub.

Java Socket Programming - UDP

COMP211 Lectures

A recap of the content is in Java Socket Programming Recap & Assignment 1. A socket is a door between the application process and the transport layer. There are two socket types, one for each transport layer (UDP/TCP). UDP There is no explicit connection between the client and the server:...

Read More

Peer-to-Peer (P2P) Applications

COMP211 Lectures

This lecture continues from The Application Layer - Network Applications. File Distribution for Client-Server Model To send a file to $N$ clients the server must upload $N$ file copies: Time to send one copy: $\frac F {u_s}$ Time to send $N$ copies $\frac{NF}{u_s}$ Each client must download a file copy:...

Read More

DNS (Domain Name System)

COMP211 Lectures

DNS allows host-names to be mapped to IP addresses: The DNS is implemented as a distributed database on a hierarchy of many name servers. It is implemented in the application-layer to put complexity at the network edge. DNS allows for the following: Host-name to IP address translation. Host aliasing. Mail...

Read More

Cookies & Web-Caches (Proxy Servers)

COMP211 Lectures

Cookies Cookies are used to maintain user state. Many websites use four components to achieve this: Cookie header line of HTTP response message. Cookie header line in next HTTP request message. Cookie file kept on user’s host, managed by user’s browser. Back-end database at website. A cookie is just a...

Read More

HTTP Overview & Persistent vs. Non-Persistent

COMP211 Lectures

A web page is a set of several referenced objects which are accessible by their URL: \[\underbrace{\text{www.someschool.edu}}_\text{host name}\text{/}\underbrace{\text{someDept/pic.gif}}_\text{path name}\] HTTP This is the application layer protocol for the web: It uses a client server model. Clients request and receive, servers can return objects in response to a request. HTTP uses...

Read More

SQL Queries - Misc.

COMP207 Lectures

Order of Execution SQL queries have the following order of execution: 6. SELECT 1. FROM 2. WHERE 3. GROUP BY 4. HAVING 5. ORDER BY Views Views are saved queries that you can use as virtual tables. Consider the following tables: Employees birthday first_name family_name e_id 1990-11-10 Anne Smith 1...

Read More

Analysing Regular Expressions

COMP218 Lectures

Only the first couple examples are included in these notes. See the lecture video for additional examples of regular expressions and their languages. Examples For the alphabet: \[\Sigma=\\{0,1\\}\] 0 followed by any nmber of 1s: \[01^* = 0(1^*) = \{0, 01, 011, 0111, \ldots\}\] 0 followed by any number of...

Read More

Java Socket Programming Recap & Assignment 1

COMP211 Lectures

SMTP After the header, and before the body, of the email there must be a blank line. This is required for the assignment. DATA SUBJECT: Hello This is the body. . Java Sockets To open a socket use the code: import java.net.*; Socket socket = new Socket("ip.address", <port>); Reading Sockets...

Read More

Security Requirements

COMP201 Lectures

Security is required in computer systems as they often handle money and customer data. Having these exposed could have costly repercussions to a company. You can break down the security requirements of a system into the following issues: Confidentiality Integrity Authentication & Authorisation Non-repudiation Availability can also be a requirement...

Read More