programming for the web Flashcards

(52 cards)

1
Q

what are some applications of web programming

A
  • interactive website/web pages (client/server-side scripting to dynamically update content and respond to user actions)
  • e-commerce (online platforms that enable buying/selling of g/s online)
  • progressive web apps (web applications that function like native mobile/desktop apps - service worker to cache data)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

how is data transferred on the internet

A

information is broken down into packets, addressed with IP and routed through DNS
- data packets (small units of data transmitted independently over network ‘packet switching’)
- internet protocol addresses (IP used for relaying packets of data, IP address is unique identifier assigned to devices for network communication)
- DNS (translates human readable domain names into IP addresses - simplifies user experience)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

what is a web server

A

a system (software and hardware) that hosts websites and makes them accessible over the internet
- listens for incoming requests, processes them, responds by sending the requested resources

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

what are the structure of data packets

A
  • header contains metadata (source/destination IP address, packet number, checksum)
  • payload is actual data being sent
  • trailer/footer (contains error detection info to ensure integrity)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

what are characteristics of ipv4 and ipv6

A

IPv4:
- 32 bit, dotted decimal, 4.3 billion (192.168.1.1)
IPv6:
- 128 bit, hexadecimal, basically unlimited (2001:db8::1)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

how does data travel when you visit a website

A
  1. Enter a URL
  2. DNS resolves the domain to an IP address
  3. Computer sends HTTP requests to the server
  4. Data is broken into packets and transmitted using TCP/IP
  5. Packets travel through multiple routers to reach the destination
  6. Server processes the request and sends packets back
  7. Packets are reassembled to display the web page
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

describe the function of web protocols and their ports

A
  • web protocols are a set of rules that define how devices communicate over a network.
  • each protocol operates on a specific port number which allows computers to determine how to process incoming/outgoing data
  • sending and receiving web pages (HTTP/S)
  • transmitting files (S/FTP)
  • email communication (SMTP,POP3,IMAP)
  • secure communication (SSL/TLS)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

what is TCP/IP

A

transmission control protocol / internet protocol
- suite of communication protocols that enable network communication between devices on the internet
- TCP ensures reliable, ordered data transmission by breaking data into packets and reassembling them
- IP handles addressing and routing data packets

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

what is HTTP and HTTPS

A
  • default port is 80 (443 for encrypted)
  • primary protocol for transmission of information across the internet
  • allows web browsers to retrieve web pages from web servers, and defines how requests and responses are formatted and transmitted
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

what is dns (protocol)

A
  • port 53
  • resolves domain names into IP addresses
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

what is FTP and SFTP

A
  • port 20 (data transfer), 21 (control), 22 (encrypted)
  • used for transferring files between client/server on a network
  • SFTP uses SSH (secure shell) for encryption
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

what is SSL and TLS

A

secure sockets layer (deprecated) and transport layer security
- don’t have specific ports but used with protocols like HTTP, SMTP, IMAP
- cryptographic protocols for secure communication

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

what are the email protocols

A

SMTP (simple mail transfer protocol)
- sends emails
- 25 / 587

POP3 (post office protocol v3)
- downloads emails from a server to a local device, then removes from server
- 110 / 995

IMAP (internet message access protocol)
- keeps emails stored on the server while syncing multiple devices
- 143 / 993

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

what are the main processes for securing the web (syllabus)

A
  • SSL certificates
  • encryption algorithms
  • encryption keys
  • plain and cipher text
  • authentication and authorisation
  • hash values
  • digital signatures
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

what are SSL certificates

A

Used to encrypt data in transit between client and server, protecting it from eavesdropping and tampering.
- Issued by a trusted Certificate Authority (CA) and digitally binds the website’s identity to a cryptographic key.
- Involves an SSL/TLS handshake (uses asymmetric encryption to securely exchange a session key then switches to symmetric encryption for efficient, secure communication)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

what are encryption algorithms

A

mathematical formulas that convert plain text to cipher
- symmetric (AES advanced encryption standard)
- asymmetric (RSA rivest-shamir-adleman) commonly used for web

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

what are encryption keys

A

randomly generated sequences of numbers used in encryption/decryption
- key exchange is securely sharing between parties over unsecured network

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

what is plain and cipher text

A
  • plain text is readable data in its original form
  • cipher text has been encrypted using an encryption algorithm and is unreadable without decryption key
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

what is authentication and authorisation (in securing the web)

A
  • authentication verifies the identity of users or servers
  • authorisation determines level of access granted to authenticated users
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

what are hash values

A
  • fixed size, unique numerical representation of a piece of data
  • one way function (computationally impossible to reverse)
  • integrity, password hashing, digital signatures
  • salting
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

what are digital signatures

A

a cryptographic mechanism used to authenticate the origin and integrity of digital documents/messages
- asymmetric encryption
- uses public key cryptography
- provides non-repudiation

22
Q

what is big data

A

extremely large and complex datasets that can’t be easily managed
- volume (large amount generated)
- variety (diff data types)
- velocity (speed of generation)
- veracity (reliability/accuracy of data)

23
Q

what is web architecture

A

structure under which the information or contents of a web page are organised, ordered and classified

24
Q

what is data handling

A

the process of obtaining, processing, analysing and managing data
- collecting, manipulating, transforming
- dynamic and procedural - focuses on ‘how’

25
how does big data affect web architecture
- data mining (analysing large datasets to find patterns, helps businesses make decisions) - metadata (provides context, meaning, structure, makes easier to store/retrieve information) - streaming service management (deliver large amounts of continuous data in real time, uses CDN, relies on caching, buffering)
26
what is the W3C and what is it's role
world wide web consortium - develops and maintains the W3C standards to ensure web remains open, accessible and interoperable across devices and platforms - web accessibility initiative WAI (ensures people with disabilities can access, navigate, interact with web applications) - internationalisation i18n (designing to support multiple languages, cultural norms) - web security (defines standards for secure web communication and authentication) - privacy (how personal data is collected, used, stored, shared) - machine-readable data (structured for computers to process eg JSON, XML)
27
what are the elements that form a web development system
- client side (handles user interaction) - server side (processes requests, applies logic, interacts with database) - database (Stores and retrieves data efficiently)
28
describe the role of client side web programming
- code that runs in browser - doesn't need constant communication with server - can store temporary data (cookies, local storage, session storage)
29
describe the role of server side web programming
- code runs on server - responds to requests from client side, and generate dynamic content - handles business logic, database interactions, processing user requests
30
describe the types and role of databases
databases store and manage data, content and application settings relational databases (SQL) - organise data into structured tables and establish relationships based on keys - when relationships are complex (strict schemas) noSQL databases - store and retrieve data in flexible formats (key-value pairs or documents) - horizontally scalable - large volume of unstructured data
31
explain the influence of a web browser and the use of developer tools on development
- browsers have their own rendering and JS engine (differences) - devtools help debug, analyse and optimise web applications: elements (html/css in real time), console (debug js, test scripts), network (analyse requests), performance (measure rendering speed), application (local storage), security (SSL certificate)
32
how to test a website for cross platform compatibility
- online tools built for testing compatibility - manual testing on different devices - dev tools - w3c markup validation service (web standards)
33
what is the impact of css on the design of a web application (syllabus)
- consistency of appearance (global/external stylesheet, frameworks) - flexibility with browsers or display devices (responsiveness, flexible units) - css maintenance tools (css pre-processors allow for variables, nesting and mix-ins to simplify)
34
what is version control and what are reasons for using it in developing a web application
version control is a system that records changes to a file/set over time, so that specific versions can be recalled later - collaboration - audit trail of changes (accountability) - backups - CI/CD pipelines automating testing and deployment
35
what are the types and significance of code libraries for front end development (syllabus)
- frameworks that control complex web applications (prestructured library of reusable components to speed up development) - template engines (system that dynamically generates HTML based on data - uses template syntax) - predesigned CSS classes (ready-to-use styles provided by frameworks that add to HTML elements)
36
Explain the use and development of open-source software in relation to web development
OSS is licensed in a way that allows developers to freely inspect, use, modify and distribute it - transparency, collaboration, cost efficient, customisability, security, community support - developers fork the project and submit pull requests with improvements (detailed documentation)
37
what methods help to manage the load times of web pages and applications?
- optimising front end (asynchronous loading, CDNs, browser and client side caching, lazy loading) - optimising back end (efficient database queries, load balancing by distributing network traffic, server side caching, asynchronous processing) - reducing payload size (compress image/video files, efficient API responses)
38
what is a CDN
content delivery network - a network of servers strategically placed around the world that caches static files - users receive content from the closest server
39
evaluate the prevalence and use of content management systems
a CMS is a software platform that allows users to create, manage and modify digital content without needing specialised technical skills - user friendly interface, template based design, plugins/extensions, structured content storage/retrieval - over 70% of websites use CMS for content management - easy to use, cost effective (ideal for non technical users)
40
assess the contribution of back end web development to the success of a web application
- database management - processes business logic - async performance optimisation - scalability - provides APIs for front end communication
41
describe the back end processes used to manage a web request (syllabus)
- role of webserver software (manages incoming requests, serves static files and routes dynamic requests to back end logic) - web framework (collection of tools/libraries to simplify by providing prebuilt modules for common tasks - routing, templating, middleware) - objects (represent real world entities, stores data and defines behaviour) - libraries (prewritten code packages that simplify complex tasks) - databases (store and manages data, allowing backend systems to retrieve, update and delete data as needed)
42
provide an overview of the process of a web request
1. browser sends HTTP/S request to server 2. web server determines how to handle it (forwards to relevant endpoint) 3. if using framework, the request is directed to correct function 4. backend retrieves or updates information in database 5. compiles necessary data and prepares response 6. response is sent back to browser for rendering
43
SQL - how to select fields
SELECT username, email FROM users;
44
SQL - how to incorporate 'group by'
SELECT role, COUNT(*) FROM users GROUP BY role;
45
common SQL queries (insert, update, delete)
INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com'); UPDATE users SET email='new@example.com' WHERE name='Alice'; DELETE FROM users WHERE name='Alice';
46
SQL - 'where'
SELECT * FROM users WHERE age > 18;
47
SQL - table joins
SELECT users.name, orders.product FROM users JOIN orders ON users.id = orders.user_id;
48
compare ORM to SQL
ORM allows developers to interact with a database using objects, instead of raw SQL queries - abstracts database operations - SQL requires more detailed queries
49
Describe how collaborative work practices between front-end and back-end developers improve the development of a web solution
- shared understanding, cross training, front/backend, troubleshooting, continuous communication, consistency, iterative development, quality assurance - API documentation defines how front communicates with back - version control tracks changes across multiple teams
50
describe considerations in developing a pwa
- the application of design, UI, and UX - principles of font, colour, audio, video and navigation - a UI that considers accessibility and inclusivity
51
how can the load time of a page be improved with pwas
- precaching important resources allows files like image-gallery.js and video-gallery.js to be loaded into memory or cache while the rest of the page loads - service workers cache resources for faster loading times on repeat visits and offline functionality - background synchronisation and fetching updates content in the background (users see latest information without slowing down initial load)
52
what are front end frameworks and why are they useful?
a pre-built collection of tools, libraries, components and design patterns that help developers build UI more efficiently - eg React, Vue.js, Angular - benefits: code reusability, consistency, rapid development, maintenance and scalability, and integration with backend