Syllabus coverage
- Understand the difference between the internet and the world wide web: the internet is the infrastructure, and the world wide web is the collection of websites and web pages accessed using the internet
- Understand what is meant by a uniform resource locator (URL), which is a text-based address for a web page and can contain the protocol, the domain name and the web page or file name
- Describe the purpose and operation of hypertext transfer protocol (HTTP) and hypertext transfer protocol secure (HTTPS)
- Explain the purpose and functions of a web browser, including storing bookmarks and favourites, recording user history, allowing use of multiple tabs, storing cookies, providing navigation tools and providing an address bar
- Describe how web pages are located, retrieved and displayed on a device when a user enters a URL, including the role of the web browser, IP addresses, the domain name server (DNS), the web server and HTML
- Explain what is meant by cookies and how they are used, including session cookies and persistent cookies
- Understand the concept of a digital currency and how digital currencies are used
- Understand the process of blockchain and how it is used to track digital currency transactions
- Describe the processes involved in, and the aim of carrying out, a range of cyber security threats
- Explain how a range of solutions are used to help keep data safe from security threats
Part of the IGCSE Computer Science syllabus 0478.
The internet, the world wide web and the URL
The internet is the infrastructure. It is the global network of interconnected networks, made up of cables, routers, switches and servers, over which data travels from one device to another. It exists whether or not anybody is looking at a web page, and it carries many different services.
The world wide web is the collection of websites and web pages accessed using the internet. The web is one service that runs on the internet, alongside others such as email, file transfer and video calls. So the internet is the thing that connects the computers, and the world wide web is the collection of pages you visit over that connection.
A useful way to hold the two apart is a road network. The internet is the roads, and the world wide web is the shops and buildings you can reach by driving on them. You can use the roads without going to a shop, and the shops cannot exist without the roads. In the same way, you can be connected to the internet and never open a web page, but a web page cannot be delivered to you unless you are connected to the internet.
A uniform resource locator (URL) is a text-based address for a web page. It tells the browser where the page is and how to fetch it. A URL can contain three parts: the protocol, the domain name and the web page or file name.
Take https://www.example.com/revision/physics.html as an example. The protocol is https, which tells the browser that the page must be requested using hypertext transfer protocol secure. The domain name is www.example.com, which identifies the web server that holds the site, in a form a person can read and remember. The file name is /revision/physics.html, which identifies the particular page within that site.
Not every URL shows all three parts. The protocol is sometimes left out, and the browser fills it in; the file name is sometimes left out, and the server then returns a default page for the site, which is often called index.html. The domain name is the part that always has to be there, because without it the browser has no idea which server to ask.
- The internet is the infrastructure: the global network of interconnected networks that data travels over.
- The world wide web is the collection of websites and web pages accessed using the internet.
- The web is one service that runs on the internet, alongside email, file transfer and video calls.
- You can use the internet without using the web, but you cannot use the web without the internet.
| Part of the URL | In the example | What it does |
|---|---|---|
| Protocol | https | Says how the page should be requested, in this case using HTTP secure |
| Domain name | www.example.com | Identifies the web server that holds the website, in a readable form |
| Web page or file name | /revision/physics.html | Identifies the particular page or file within that website |
HTTP and HTTPS
Hypertext transfer protocol (HTTP) is the set of rules that a web browser and a web server use to communicate. It is a request-response protocol: the browser sends a request for a resource, and the server sends back a response. The request contains the address of the page being asked for, and the response contains the page itself, written in HTML, along with a status code saying whether the request succeeded.
The purpose of HTTP is to make the web work between any browser and any server. Because the rules are standard, a browser written by one company can request pages from a server run by another, and neither has to know anything about the other. Without an agreed protocol, every browser would only be able to talk to servers built by the same company.
Hypertext transfer protocol secure (HTTPS) is HTTP with encryption. The data sent between the browser and the server is scrambled, so anyone who intercepts it cannot read it, and the site proves its identity with a digital certificate. The purpose is to protect information that must not be seen by anyone else, such as passwords, card details and personal messages, and to let the user check that they are connected to the genuine site rather than an imitation of it.
The two protocols work in the same way from the user's point of view: the browser still sends a request and the server still sends a response. The difference is that with HTTPS the content of that request and response is encrypted in transit, and the browser usually shows a padlock in the address bar to tell the user that the connection is secure. Browsers now warn users about pages that use plain HTTP, especially on any page that asks for a password or payment.
| HTTP | HTTPS | |
|---|---|---|
| What it is | The set of rules for requesting and transferring web pages between a browser and a web server | The same rules with encryption added |
| Is the data encrypted? | No: data sent between the browser and the server can be read if it is intercepted | Yes: the data is encrypted, so it cannot be read if it is intercepted |
| Purpose | To transfer web pages between a browser and a server in a standard way | To transfer web pages securely, protecting passwords, card details and personal data |
| What the user sees | The browser may warn that the connection is not secure | A padlock or similar sign that the connection is secure |
The web browser: purpose and functions
The main purpose of a web browser is to render HTML and display web pages. Rendering means taking the HTML file that comes back from the web server and turning it into the page you actually see: headings, paragraphs, images and links laid out on the screen. A browser is application software, and it is the program that turns the code of a page into something a person can read and click.
The address bar is where the URL is typed or shown, and it is also where the browser reports whether the connection is secure. Navigation tools are the back, forward, refresh and home buttons, which let the user move between pages they have already visited and reload a page that has not displayed properly. Multiple tabs let the user have several pages open at once in the same window and switch between them, instead of opening a separate window for each one.
Bookmarks and favourites let the user save the address of a page so that they can return to it later without typing the URL again, usually organised into folders. History is the record of the pages the user has visited, with the time and date, which makes it possible to find a page again when the address has been forgotten. Cookies are small text files that the browser stores on behalf of a website, and the browser sends them back to that site when the user returns to it. Cookies have a block of their own below, because the syllabus examines them separately.
| Function of a browser | What it does for the user |
|---|---|
| Rendering HTML (the main purpose) | Turns the HTML returned by the web server into the web page that appears on the screen |
| Address bar | Where the URL is typed or displayed, and where the browser shows whether the connection is secure |
| Navigation tools | Back, forward, refresh and home buttons for moving between pages and reloading them |
| Multiple tabs | Keeps several pages open at once in one window so the user can switch between them |
| Bookmarks and favourites | Saves the address of a page so it can be opened again later without retyping the URL |
| History | Records the pages visited, with the time and date, so a page can be found again |
| Storing cookies | Keeps the small text files a website places on the device and sends them back to that site on the next visit |
From URL to screen: DNS, IP addresses, the web server and HTML
When a user enters a URL, the browser has the address in a form written for people, but the network needs an address in a form it can use. Every device on a network is identified by an IP address, which is what is actually used to send data to the right place. A domain name is far easier for a person to remember and type than a string of numbers, so something has to translate between the two.
That translation is done by the domain name server (DNS). The DNS is a system of servers that hold a directory matching domain names to IP addresses. The browser asks the DNS for the IP address of the domain name in the URL, and the DNS returns it. Once the browser has the IP address, it knows which machine to send the request to.
The browser then sends an HTTP or HTTPS request to that IP address. The machine at the other end is the web server, the computer that stores the files that make up the website and serves them out on request. The web server finds the page or file named in the request and sends it back to the browser. Large websites are usually held on servers in a data centre, and a site may be hosted on servers provided as part of a larger cloud platform rather than on one machine the owner runs, but the job is the same either way: store the files and serve them when asked.
What comes back is HTML, hypertext markup language, the language web pages are written in. HTML uses tags to mark up the structure of a page, saying which text is a heading, which is a paragraph, where an image goes and which words are links. The browser renders that HTML into the page on screen, and fetches any images or other files the page refers to in the same way.
The whole sequence is worth learning in order, because exam questions ask for it step by step: the user enters the URL, the browser asks the DNS for the IP address of the domain name, the DNS returns the IP address, the browser sends a request to the web server at that IP address, the web server sends back the HTML for the page, and the browser renders the HTML and displays the page.
- The URL is entered in the browser, which needs an IP address rather than a domain name.
- The browser asks the domain name server (DNS), which returns the IP address of the domain name.
- The browser sends an HTTP or HTTPS request to that IP address.
- The web server stores the site's files, finds the page requested and sends the HTML back.
- The browser renders the HTML and displays the web page on the screen.
Cookies: session and persistent
A cookie is a small text file that a website stores on the user's device, and that the browser sends back to that same website the next time the user requests a page from it. Cookies exist because HTTP itself keeps no memory of previous requests: each request arrives at the server on its own, so without a cookie the server could not tell that the second request came from the same person as the first. A cookie is data, not a program, so it cannot run code or carry a virus on its own.
Cookies are used for a number of jobs. They save personal details, so a form such as a delivery address can be filled in automatically next time. They track user preferences, such as the language, text size or layout the user chose, so the site looks the same on the next visit. They hold the items in an online shopping cart, so the basket is still there when the user moves from one page to another or returns the next day. And they can store login details, so a user who asked to be remembered does not have to type a username and password on every visit.
A session cookie exists only while the browser is open. It is created when the user arrives at the site and deleted when the browser is closed, and it is what keeps one visit coherent: it is how the shopping site remembers what is in the basket as the user moves from page to page. A persistent cookie is stored on the device with an expiry date and survives closing the browser, so it can remember the user between visits, which is what keeps them logged in and keeps their preferences in place.
| Session cookie | Persistent cookie | |
|---|---|---|
| How long it lasts | Only while the browser is open | Until the expiry date stored with it, surviving closing the browser |
| Where it is kept | In memory for the duration of the visit | Stored on the device |
| What it is used for | Keeping one visit coherent, for example holding the contents of a shopping basket as the user moves between pages | Remembering the user between visits, for example keeping them logged in or keeping their chosen preferences |
Digital currency and blockchain
A digital currency is one that only exists electronically. There are no coins and no notes: the balance is held as data in a computer system, and paying with it means transferring that data from one account to another. Nothing physical changes hands, and there is no central pile of cash anywhere.
Because the currency exists only as data, the record of who owns what has to be secure and trusted. That record is kept using a blockchain. In its basic form a blockchain is a digital ledger: a time-stamped series of records that cannot be altered. Transactions are grouped together into blocks, each block is stamped with the time it was added, and each block is linked to the block before it, so the blocks form a chain.
This is how a blockchain is used to track digital currency transactions. Every transaction is written into the ledger, and because each block is linked to the one before it, changing a record in an old block would break the chain and be visible. The ledger is shared rather than held in one place by one organisation, so no single party can quietly rewrite the history of who paid whom. The result is a record of transactions that all the users of the currency can check, and the same digital currency cannot be spent twice.
Two words to keep straight. The ledger is the record of transactions; the blockchain is the way that record is built and secured, out of time-stamped blocks that cannot be altered once they have been added.
- A digital currency exists only electronically: the balance is data, not coins or notes.
- A blockchain is a digital ledger, a time-stamped series of records that cannot be altered.
- Transactions are grouped into blocks, and each block is linked to the block before it.
- The ledger is shared, so the record of transactions is not held by one single organisation.
- Because the records cannot be altered, the same digital currency cannot be spent twice.
Cyber security: the threats
A cyber security threat is any attempt to gain unauthorised access to a system or data, to damage it or to make it unavailable. Some threats work by attacking the technology and others work by attacking the person using it, and the two need different defences.
Hacking is gaining unauthorised access to a computer system, with the aim of stealing data, altering it or disrupting the system. A brute-force attack is one way in: the attacker tries every possible combination of characters until the password is found, which is why long passwords made of different types of character are harder to break. Data interception is capturing data while it is being transmitted, for example by tapping into a network or intercepting a wireless signal, with the aim of reading or stealing it. A distributed denial of service (DDoS) attack floods a server with requests sent at the same time from a large number of compromised computers, so that the server cannot respond to genuine users: the aim is not to steal data but to make the service unavailable.
Malware is malicious software, written to damage a system or gain access to it. The named types behave differently, and exam questions expect you to know how each one spreads and what it does.
The remaining threats work on people rather than on machines. Phishing is sending a message that pretends to come from a trusted organisation and asks the user to click a link or enter personal details on a fake page, with the aim of tricking the user into giving away passwords or card details. Pharming redirects a user to a fake website without their knowledge, for example by altering the settings that turn a domain name into an IP address, so that typing the correct address still lands the user on the attacker's copy of the site. Social engineering is manipulating people into giving out confidential information or granting access by gaining their trust, such as telephoning someone and pretending to be from the IT department. None of these three needs a technical weakness in the software: they need a person who believes the story.
- Hacking: unauthorised access to a system.
- Brute-force attack: trying every possible combination of characters until the password is found.
- Data interception: capturing data while it is being transmitted.
- DDoS: flooding a server with requests from many compromised computers so genuine users cannot reach it.
- Phishing, pharming and social engineering: attacking the person rather than the software.
- Malware: virus, worm, Trojan horse, spyware, adware and ransomware.
| Type of malware | How it works | The aim |
|---|---|---|
| Virus | Attaches itself to a file or program and spreads when that file is opened or that program is run; needs a host and usually a user action | To corrupt or delete data and spread to other computers |
| Worm | A standalone program that copies itself and spreads across a network by itself, without needing a host file or any action by the user | To spread, and often to use up so much bandwidth and processing time that the network slows down |
| Trojan horse | Presents itself as a useful or legitimate program, but contains hidden malicious code that the user installs themselves | To gain access to the system, often opening a way in for the attacker |
| Spyware | Runs secretly and records what the user does, such as keystrokes or the pages they visit, then sends the information to the attacker | To collect confidential information without being noticed |
| Adware | Displays unwanted advertisements, often redirecting the browser, and may also track what the user does | To generate advertising income, and sometimes to gather data |
| Ransomware | Encrypts the user's files so that they cannot be opened, then demands payment for the key | To extort money from the victim |
Cyber security: keeping data safe
There is no single defence against every threat, so solutions are used in layers, each one covering a different way in. Some of them control who is allowed to do what, some protect the system from malicious software, and some rely on the user noticing that something is wrong.
Access levels give each user permission only for the files and settings their role needs, so an account that is compromised cannot reach everything on the system. Authentication checks that a user is who they claim to be, and it can be based on something the user knows, such as a username and password, on something the user is, such as a fingerprint or a face recognised by biometrics, or on two different pieces of evidence used together, which is two-step verification. Two-step verification means a stolen or guessed password on its own is not enough to log in.
Anti-malware software, which includes anti-virus and anti-spyware, scans a system for malicious software and removes it, and it is much more effective when software updates are automated, because updates close the known weaknesses that malware uses to get in. A firewall monitors and filters the data entering and leaving a network or a computer against a set of rules, blocking traffic that should not be there. A proxy server sits between the user and the internet, so requests are made through it: it can hide the user's IP address from the sites being visited and filter what is requested.
Privacy settings control what a user shares and who can see it, which limits how much personal data is exposed in the first place. Two further defences need no software at all. Checking the spelling and tone of communications catches messages that pretend to be from a trusted organisation but are full of errors or written in an odd tone, which is what a phishing message usually looks like. Checking the URL attached to a link before clicking it matters because the words displayed on the page can be made to read like a trusted address while the actual URL leads somewhere else entirely.
- Control who can do what: access levels, strong authentication and privacy settings.
- Protect the system: anti-malware, automated software updates, a firewall and a proxy server.
- Protect yourself: check the spelling and tone of messages, and check the URL behind a link before clicking it.
| Solution | What it does | Threat it helps against |
|---|---|---|
| Access levels | Gives each user permission only for the files and settings their role needs | Hacking, and the damage a compromised account can do |
| Authentication: username and password, biometrics, two-step verification | Proves that the user is who they claim to be; two-step verification requires two different pieces of evidence | Hacking and brute-force attacks on passwords |
| Anti-malware, including anti-virus and anti-spyware | Scans for malicious software and removes it | Virus, worm, Trojan horse, spyware, adware and ransomware |
| Automating software updates | Installs updates without the user having to remember, closing known weaknesses | Malware that exploits a weakness that has already been fixed |
| Firewall | Monitors and filters the data entering and leaving a network or computer against rules | Hacking, worms spreading across a network, DDoS traffic |
| Proxy server | Sits between the user and the internet, so requests are made through it, hiding the user's IP address and filtering requests | Data interception, and access to unsuitable or malicious sites |
| Privacy settings | Control what is shared and who can see it | Social engineering and phishing, by exposing less personal data |
| Checking the spelling and tone of communications | Spots messages that pretend to come from a trusted organisation but are full of errors or written oddly | Phishing and social engineering |
| Checking the URL attached to a link | Reveals where a link really leads, whatever words are displayed for it | Phishing and pharming |
Key terms you must be able to define
- Internet
- The infrastructure: the global network of interconnected networks, made up of cables, routers, switches and servers, over which data travels.
- World wide web
- The collection of websites and web pages accessed using the internet.
- Uniform resource locator (URL)
- A text-based address for a web page. It can contain the protocol, the domain name and the web page or file name.
- Domain name
- The part of a URL that identifies the web server holding a website in a readable form, such as www.example.com.
- Hypertext transfer protocol (HTTP)
- The set of rules a web browser and a web server use to communicate: the browser sends a request for a resource and the server sends back a response.
- Hypertext transfer protocol secure (HTTPS)
- HTTP with encryption, so that data sent between the browser and the server cannot be read if it is intercepted, and the site proves its identity with a digital certificate.
- Web browser
- Application software whose main purpose is to render HTML and display web pages. Its functions include the address bar, navigation tools, multiple tabs, bookmarks, history and storing cookies.
- HTML
- Hypertext markup language, the language web pages are written in. It uses tags to mark up the structure of the page, which the browser then renders.
- IP address
- The address that identifies a device on a network and is used to send data to the right place. A domain name has to be translated into an IP address before a request can be sent.
- Domain name server (DNS)
- The system of servers that hold a directory matching domain names to IP addresses, so that the browser can find the IP address of the web server for a URL.
- Web server
- The computer that stores the files that make up a website and serves them to browsers when they are requested.
- Cookie
- A small text file that a website stores on the user's device, which the browser sends back to that site on the next visit. Cookies are used to save personal details, track user preferences, hold items in an online shopping cart and store login details.
- Session cookie
- A cookie that exists only while the browser is open and is deleted when the browser is closed; it keeps a single visit coherent, such as holding a shopping basket.
- Persistent cookie
- A cookie stored on the device with an expiry date that survives closing the browser, so it can remember the user between visits, such as keeping them logged in.
- Digital currency
- A currency that only exists electronically: the balance is held as data and payments are transfers of that data, with no coins or notes.
- Blockchain
- In its basic form, a digital ledger: a time-stamped series of records that cannot be altered. Transactions are grouped into blocks that are linked to the block before them, and it is used to track digital currency transactions.
- Ledger
- A record of transactions. A blockchain is a digital ledger built from time-stamped blocks that cannot be altered.
- Hacking
- Gaining unauthorised access to a computer system, with the aim of stealing data, altering it or disrupting the system.
- Brute-force attack
- An attempt to gain access by trying every possible combination of characters until the password is found.
- Data interception
- Capturing data while it is being transmitted, for example by tapping into a network or intercepting a wireless signal, in order to read or steal it.
- Distributed denial of service (DDoS) attack
- Flooding a server with requests sent at the same time from a large number of compromised computers, so that it cannot respond to genuine users. The aim is to make the service unavailable.
- Malware
- Malicious software written to damage a system or gain unauthorised access to it. The named types are virus, worm, Trojan horse, spyware, adware and ransomware.
- Virus
- Malware that attaches itself to a file or program and spreads when that file is opened or the program is run, needing a host and usually an action by the user.
- Worm
- A standalone program that copies itself and spreads across a network by itself, without a host file and without any action by the user.
- Trojan horse
- A program that appears to be useful or legitimate but contains hidden malicious code, which the user installs themselves.
- Spyware
- Software that secretly records what the user does, such as keystrokes or the pages visited, and sends that information to the attacker.
- Adware
- Software that displays unwanted advertisements, often redirecting the browser, and which may also track the user.
- Ransomware
- Malware that encrypts the user's files and demands payment for the key needed to decrypt them.
- Phishing
- Sending a message that pretends to come from a trusted organisation and asks the user to click a link or enter personal details on a fake page, in order to obtain passwords or other confidential information.
- Pharming
- Redirecting a user to a fake website without their knowledge, for example by altering the settings that turn a domain name into an IP address, so that the correct address still leads to the attacker's site.
- Social engineering
- Manipulating people into giving out confidential information or granting access, by gaining their trust, for example by pretending to be a member of the IT department.
- Firewall
- Software or hardware that monitors and filters the data entering and leaving a network or a computer, blocking traffic that does not match the rules it has been given.
- Proxy server
- A server that sits between the user's computer and the internet, so that requests are made through it. It can hide the user's IP address from the sites visited and filter what is requested.
- Access levels
- The permissions given to each user, so that they can only read or change the files and settings they need for their role.
- Authentication
- Checking that a user is who they claim to be, using something such as a username and password, a biometric measure, or two-step verification.
- Two-step verification
- Authentication that requires two different pieces of evidence, such as a password plus a code sent to the user's phone, so that a stolen password alone is not enough to log in.
Applied to real systems
Cambridge sets 0478 in systems you already use - a phone, a school network, a supermarket till, a website, a bank. Use these as models for how to apply the theory to a context you have not seen before, then write your own.
The URL typed into the browser contains the protocol, the domain name and the page. The DNS turns the domain name into the IP address of the shop's web server, and because the site uses HTTPS the card details are encrypted on the way. The items in the basket stay there because of a session cookie, and the delivery address is already filled in because a persistent cookie saved it last time. That address is exactly the sort of data an attacker would want, which is why phishing messages copy the look of the shop's website and ask for the login details directly.
The school's system asks for a username and password, which is authentication by something the user knows. If it also sends a code to the student's phone, that is two-step verification, and it means a password that has been stolen or guessed is not enough on its own. Access levels decide what the account can do once the student is in: a student account can read the revision materials but cannot change other people's marks.
Thousands of infected home computers are told to request the same page at the same time. The web server is overwhelmed and genuine customers cannot reach the site, which is the whole aim of a distributed denial of service attack: nothing is stolen, but the service is unusable. A firewall and a proxy server in front of the site help, because they can filter and absorb the flood before it reaches the web server itself.
Someone rings the office, says they are from the IT department, and asks for the password for the payments system to fix a problem. There is no software weakness being attacked at all: this is social engineering, and the defence is a rule about never giving out credentials over the phone, plus checking the spelling and tone of any message or request for information.
A payment made in a digital currency moves no coins and no notes. The transfer is written into a blockchain, the digital ledger of transactions, where it is grouped into a block that is time-stamped and linked to the block before it. Because the record cannot be altered once it has been added, the same currency cannot be spent twice, and the shared ledger means no single organisation can rewrite who paid whom.
A student looking up a definition does not type the IP address of a revision site: she types a domain name, which is easier to remember. Her browser asks the DNS for the IP address, sends a request to the web server at that address, gets back the HTML of the page and renders it. She keeps the page open in one tab while she works through questions in another, and bookmarks the page so she can find it again without typing the URL.
Flashcards
Click a card to flip it. Mark honestly — the tracker uses this.
Exam-style questions
8 questions, 26 marks. Write your answer, then reveal the mark scheme and tick each point you actually made. Answering honestly here is what makes the rest of the site useful.
Mark scheme — tick each point you actually made
Mark scheme — tick each point you actually made
Mark scheme — tick each point you actually made
Mark scheme — tick each point you actually made
Mark scheme — tick each point you actually made
Mark scheme — tick each point you actually made
Mark scheme — tick each point you actually made
Mark scheme — tick each point you actually made
Exam technique for this topic
- The internet and the world wide web question is almost free marks, but only if you use the word infrastructure. Write that the internet is the infrastructure and the world wide web is the collection of websites and web pages accessed using the internet.
- For the URL to screen sequence, work through it in order and name each part: the browser asks the DNS for the IP address, the DNS returns it, the browser sends a request to the web server at that IP address, the web server returns the HTML, and the browser renders it. Students lose marks by muddling the DNS and the web server.
- A threat question asks for the process and the aim. Say how the attack works and what the attacker wants from it, because those are usually separate marks, and give the named threat the question asked about rather than a general description of bad software.
- Keep the malware types apart by how they spread. A virus needs a host file and a user to open it, a worm spreads by itself across a network, and a Trojan horse is installed by the user because it looks legitimate.
- When a question asks for solutions, link each solution to the threat it answers. A firewall filters network traffic, HTTPS protects data in transit, anti-malware detects malicious software, and two-step verification protects an account even when the password is known.