Web Architecture Flashcards
How can resources be represented?
text (plain, html, csv), image, audio, video, application
How can resources be identified?
With URIs (Uniform Resource Identifiers)
How can resources be interacted with?
Using network protocols like HTTP
What does the bow-tie model represent?
The shape of the web
Sections such as LSCC core, IN, OUT, and disconnected components
What is the web?
A distibuted information system that provides acess to resources
What is hypertext?
A way to link information in a non-linear interactive way - cannot be represented conveniently on paper
What are 2 disadvantages of hypertext?
Disorienting - easy to lose sense of direction
Cognitive overhead - additional effort to maintain several trails at once
What is hypermedia?
Non-textual media
What are nodes, links, anchors, and endpoints?
Node - a point in the network e.g. a webpage
Link - a connection between nodes
Anchor - the clickable element that links pages
Endpoint - the destination of a link
<a href="http://www.endpoint.com/">anchor</a>
What are embedded links?
Links that are encapsulated in a node, and form part of the document content
What are first class links?
Where links are separated from nodes allowing multiple link overlays/linkbases (links over same node), creating different connections without changing the node
Link bases can be tailored to reader
Has 2 endpoints
What are bidirectional links?
Links that can be traversed backwards as well as forwards
What are N-ary links?
Links involving more than 2 nodes, allowing relationships between multiple entities
What are generic links?
Links where, by using locspecs, all occurences of a word can be linked to the same endpoint
What are functional links?
Links that represent predefined relationships
What are typed links?
Links that define the nature or relationship of the link, such as “friend,” “parent,” or “employee”
What is REST?
Representational State Transfer
A web architecture style that uses stateless communication to manipulate resource representation
What does REST aim to do (2)?
Minimise latency and network communication
Maximise independence and scalability of components
What are the 4 components of REST?
Origin servers - the ultimate place you get a resource from
Gateways - for integrating legacy servers
Proxies - to filter & cache
User agents
User agent & origin server are end points that communicate using HTTP
If using gateway, origin server & gateway don’t communicate in HTTP
What are the 5 constraints of REST?
Client-server - separation of concerns (client: user interface, server: data storage)
Stateless - no context stored on server, session state kept on client
Caching - response data labelled as cacheable or non-cacheable
Uniform interface between components - identify what next possible actions could be
Layered - system components have no knowledge of components they don’t directly interact with
What are the 3 advantages of client-server constraint?
- Improves portability
- Improves scalability (as server simplified)
- Allows components to evolve separately
What are the 3 advantages and 1 disadvantage of stateless constraint?
Advantages:
* Improves reliability
* Improves scalability
* Improves visibililty (of requests)
Disadvantage:
* Increases per-action overhead
What are the 2 advantages and 1 disadvantage of caching constraint?
Advantages:
* Eliminates some actions
* Reduces latency
Disadvantage:
* Reduces reliability
What are the 2 advantages and 1 disadvantage of uniform interface constraint?
Advantages:
* Improves visibility (of interactions)
* Implementations decoupled from services they provide
Disadvantage:
* Reduces efficiency
What are the 2 advantages and 1 disadvantage of layered constraint?
Advantages:
* Limits system complexity
* Improves scalability
Disadvantage:
* Adds latency & overhead
What are the 3 principles of address identifiers?
Global - addresses should be unambiguous & human readable
Distinct identifiers - using same URI for different resources creates a URI collision
Avoid aliases - don’t use different URIs for same resource
How should documents be named?
Use logical names rather than physical addresses to avoid issues when documents are moved
URL vs URN
URL specifies location of resource on internet
URN uniquely identifies resource by name - not that good approach as can just use HTTP
What are IRIs (Internationalised Resource Identifiers)?
An extension to URIs, allowing Unicode characters
Why shouldn’t you change URIs?
Breaks pages linked to old URI -> 404
What are the 5 principles of representation?
- W3C representation principles - follow a format to future proof
- Separate content, presentation & interaction
- Identify links to other resources
- Links should be navigable
- Links should be web-wide
Data vs metadata
Data is the actual information/content
Metadata is data that describes other data e.g. file size, creation date
What are the 5 principles of interaction?
- Provide representations
- Safe retrieval
- References doesn’t imply dereference - just because you can retrieve a representation, doesn’t mean you must
- Reuse representation formats
- Representations should be consistent
What is a safe method?
One that doesn’t change the state of the resource
What is an impotency method?
One that doesn’t change the result even when applied multiple times
Only POST isn’t impotent
What do the HTTP responses (1xx - 5xx) represent?
1xx - informational message
2xx - success
3xx - redirection
4xx - client error
5xx - server error
What are the 2 styles of content negotiation?
Sever-driven - server makes final choice of representation
Client-driven - clinet makes final choice of representation
What are the 3 stages of server-driven content negotiation?
1) Client tells server what it is able to accept in request header
2) Server chooses appropriate representation to return to client based on “quality” (provided by client)
3) Server tells clients its choice in response header
Name three properties that can be negotiated
Media type
Language
Encoding
What are the 3 stages of client-side content negotiation?
1) Client requests resource representation
2) Server returns HTTP redirect status (“300 multiple choices”) with list of URIs
3) Client requests a representation of one of the URIs
What is “Client Hints”?
A HTTP extension that allows browsers to state their capabilities & preferences
How can you avoid the lost update problem?
When carrying out unsafe methods, check if the state of the resource has change since the GET method
What 2 ways are there for validating if resources are the same?
Strong validation - checks if representations are byte-for-byte identical
Weak validation - checks if representations contain “the same content”
What are ETags? What headers can be applied to them?
Entity tags are identifiers for resource versions
Headers:
* If-Match: <etag>, <etag>, ...
* If-None-Match: <etag>, <etag>, ...
What are cookies?
A way for web servers to persist state across HTTP requests (even though HTTP is supposed to be stateless)
What are “Secure” and “HttpOnly” cookies?
Secure - indicates that cookies should only ever be sent over HTTPS
HttpOnly - cookies should not be visible from within the Document.cookie interface
Discuss the physical limits on data transmission (3)
Sending a message at c (3e8) still takes 0.067s to go halfway round the world
Optical fibres are ~70% of c, coxial cables are >80% of c
Routers, switches, etc introducers delays
How does TCP delay HTTP?
HTTP runs of top of TCP
TCP establishes connections with a three-way handshake (>=0.2s)
What 2 methods reduce TCP delay for HTTP?
Keep-Alive - TCP connections reused for multiple HTTP requests
Pipelining - multiple requests made without waiting for responses
What 4 improvements were made to adhere to data transfer capacity limits?
Compressed headers to reduce amount of data sent
Prioritised requests - sends important content first
Multiplex requests - when client requests HTML document with multiple images, stylesheets & scripts, send a single connection for all resources
Server push - when a client requests HTML doc with image, instead of waiting for them to request image, pre-emptively push resource
What are tunnels in the context of proxies?
CONNECT method establishes tunnel between client & server
With tunnel established, proxy server no longer inspects/modifies data; just forwards
How is data secured in HTTPS?
Using the TLS (Transport Layer Security) protocol
What are the 4 cryptography principles?
Confidentiality - no unathorised reading
Integrity - no unauthorised modificaiton
Authenticaiton - proof of authorisation
Non-repudiation - data author can’t deny authorship
How are digital signatures created (3 steps)?
Combines asymmetric encryption & cryptographic hash
1) Generate cryptographic hash of image
2) Encrypt hash with private key
3) Attach encrypted hash to message
How are digital signatures verified (3 steps)?
1) Generate cryptographic hash of image
2) Decrypt hash with public key
3) Compare hashes
If hashes match, message has not been altered and signature is valid
What is the Certificate Authority?
A trusted organisation that issues digital certificates
How does the Diffie-Hellman Key Exchange work?
1) Prime number p and root module g are shared publically
2) A and B pick random large integers: a and b
3) A and B calculate g^amodp=PUa and g^bmodp=PUb respectively and send results publically
4) A calculates PUb^amodp and B calculates PUa^b*modp
Authentication vs authorisation
Authentication - verifying identity of user/system
Authorisation - granting access/permissions to resources
What are the 6 steps in granting authorisation in OAuth (the diagram)?
1) Client requests authorisation from the authorisation server via the resource owner
2) Resource owner authenticates the request
3) Authorisation server sends an authorisation code to client via the resource owner
4) Client sends the authorisation code to the authorisation server
5) Authorisation server sends access token to client
6) Client accesses resource on resource server
What is cross-site request forgery?
When a user (unintentionally) allows one origin to talk to a different origin
User clicks on a link/form while authenticated on a site allowing attacker to perform actions on site with user’s authentication
How is cross-site request forgery prevented?
Same origin policy
Restricts web pages from making requests to different domains than the one that hosted it
How is “same origin” determined?
- URIs use same protocol
- URIs have same host
- URIs have same port
What is the default port for HTTP?
80
What blocking exceptions are there to same origin policy?
Embedded resources (media, stylesheets, scripts, etc)
What is CORS (cross-origin resource sharing)?
Security feature that relaxes SOP, allowing certain origins to make requests to a domain different to the one that served the web page
Servers indicate which origin may make requests and restrict headers send & received
What criteria must simple requests satisfy for CORS?
- Only methods: GET, HEAD, POST
- Only headers: Accept:, Accept-Language:, Content-Type:, Content-Language
- Content-Type: text/plain, (application/…), (multipart/…)
What is a CORS preflight?
Used for more complex requests (other methods, custom headers)
A preliminary HTTP request to check if actual request is allowed by the server before sending actual request
What is SGML (Standard Generalised Markup Language)?
An old markup language (old version of HTML)
A language for defining markup languages
What is XML (eXtensible Markup Language)?
A general purpose markup language
A W3C-defined subset of SGML
A language for defining domain-specific markup languages
What is DTD (Document Type Definition)?
A formal definition of the grammar for an XML document
Tells document processor how to parse the document
What 2 schema language competitors does DTD have?
XML Schema
RELAX NG
Document well-formedness vs validity
Well-formedness - obeys syntax rules in XML spec
Validity - well-formed and structure is based on a defined schema (e.g. DTD)
What is SVG (Scalable Vector Graphics)?
XML-based language for describing 2D graphics
Uses CSS for styling & animation
Integrates with HTML5
What is MathML?
XML-based language for expressing mathematical expressions
Integrates with HTML5
2 sub-languages:
* Presentational MathML
* Semantic MathML
What is EPub (Electronic Publication) (4)?
- A portable & flexible e-book format
- Organises content in a standardised structure using XML/HTML, CSS, & images
- XHTML use makes content adaptable
- Manifest & spine ensure correct order of book’s components
What is Open Office XML?
File format standard for Microsoft Office documents
Organises document into separate XML files for content, styles, & media in a ZIP
What is PDF (Portable Document Format)?
A file format for rendering documents with a fixed layout
Includes interactive features (forms, annotations, links)
What is HTML?
A markup language for structured documents
The data format for web pages
What does HTML5 introduce?
Audio, video, & canvas
What are the 4 benefits of HTML5?
Better support for modern web applications
Replacing Adobe Flash
Handling invalid markup
Improved semantics
What does W3C (World Wide Web Consortium) do (3)?
- Standardises technologies (like HTML) used on the web
- Ensures websites/web apps work across different browsers/devices
- Web accessible to all users
What does WHATWG (Web Hypertext Application Technology Working Group) do?
Web standards get evolved continuously rather than having fixed versions
Name 2 early JavaScript-based web applications
XHR (XML HTTP Request)
AJAX (Asynchronous JavaScript and XML)
What 3 modes are used by layout engines in web browsers?
Quirk mode - doesn’t conform to official standards to maintain backward compatability
Almost standards mode - small no. quirks implemented
Full standards mode - behaviour describes by HTML & CSS specs
What are the 4 design principles of web technologies?
- Compatability
- Interoperability - well-defined behaviour & graceful error handling
- Utility - seperate content & presentation
- Universal Access
What is sectioning, flow, and phrasing content?
Sectioning content defines the structure (headings & sections)
Flow content fills sections with main elements (paragraphs, images, lists)
Phrasing content adds inline details (links, bold text, …)
In what 3 ways can you style the web?
HTML style attribute - <h1 style="color: red;">Hello</h1>
Provide an inline stylesheet in a style element - <style>h1 {color: red;}</style>
Link to an external stylesheet
Describe a CSS rule set
Consists of a selector e.g. h1 (to format h1)
And a declaration block (containing a series of declarations) e.g. font-size: 2em
Explain the basic selectors:
E F,
E>F,
E+F,
E~F
E F - an F element that is a descendant of an E element
E > F - an F element that is a direct child of an E element
E + F - an F element that is immediately preceded by an E
E ~ F - an F element that is preceded by an E
Explain the attribute selectors:
E[foo],
E[foo=”bar”],
E[foo^=”bar”],
E[foo$=”bar”],
E[foo*=”bar”]
E[foo] - an E element with a foo attribute
E[foo=”bar”] - an E element with a foo attribute whose value is bar
E[foo^=”bar”] - an E element with a foo attribute whose value starts with bar
E[foo$=”bar”] - an E element with a foo attribute whose value ends with bar
E[foo*=”bar”] - an E element with a foo attribute whose value contains bar
Give an example of generated content declaration
h1:before { content: "Chapter " counter(chap) ": "; counter-increment: chap; }
What is the hierarchy of the CSS box model?
Margin
Border
Padding
Content
What are collapsing margins?
Where adjoining vertical margins combine to form a single margin in a content box
Explain the positioning of: static, relative, absolute, fixed
Static - default position
Relative - positions relative to default position, without affecting other elements
Absolute - positions relative to nearest positioned ancestor
Fixed - posiitons relative to browser window
What problem does XSL (eXtensible Stylesheet Language) address?
The problem of maintaining different versions of a document for presentation on systems with varying screen sizes and document formats
XSL-FO vs XSLT vs XPath
XSL-FO - specifies layout & formatting of XML documents
XSLT - transforms XML documents into different formats
XPath - query language for navigating & selecting nodes from XML document
XSL vs CSS (pros & cons)
XSL
Pros: can modify & transform document structure
Cons: complex, cumbersome, no consideration for differing needs of users vs authors
CSS
Pros: simple, cascading
Cons: unable to modify document structure
What are the 3 Web API classes?
Document content
Browser services
Hardware access
What is DOM (Document Object Model)?
An API for accessing & manipulating XML & HTML in web browsers & elsewhere
How does DOM work?
DOM is a node interface (node types can be documents, elements, text, etc)
Each node has parents, children, and previous & next siblings
Methods allow the manipulation of children
What is Canvas?
API for drawing graphics via JavaScript
What are XMLHttpRequest, Fetch, and Web Sockets?
- APIs for fetching representations of resources
- Fetch and Web Sockets are modern replacements for XMLHttpRequest (Fetch is one-time; Web Sockets are persistent)
Cookies vs Web Storage vs IndexedDB
Web storage API is a more structured, modern alternative to Cookies
IndexedDB is a more powerful, asynchronous API for larger structured data
What are Web Workers & Service Workers
Web Workers are JavaScript threads that allow long-running tasks to be executed without blocking the main UI thread
Service Workers are a type of Web Worker that act as a proxy between web application & network, allowing offline capabilities
What are asm.js and WebAssembly?
asm.js - a subset of JavaScript that allows C code to be compiled & run in any browser
WebAssembly - a more efficient alternative that is a bytecode format for virtual machines
What is SOA (Service-Oriented Architecture)?
A design approach where software components provide services to other components over a network -> flexible, modular, interoperable
What is a monolithic design?
Where a program is “composed all in one piece” and is unable to be changed
What are SOAP, WSDL, and UDDI?
W3C Web Services
- SOAP for invoking services
- WSDL for describing services
- UDDI for publishing & locating services
Explain the 4 levels of the Richardson Maturity Model
Level 0:
* Single endpoint to handle all requests
* Minimal use of HTTP standards - relies on single HTTP method
Level 1:
* Introduces resources with unique URIs (so multiple endpoints)
* Templates and tunneling used to represent resources
* Still lacks proper use of HTTP methods - relies on single HTTP method
Level 2:
* Embraces HTTP standards
* CRUD operations mapped to HTTP verbs
Level 3:
* Add hypermedia links with HATEOS
What are the 2 pseudostates in UML statecharts?
Initial state
Final state
How are choice pseudostates represented?
[In brackets]
What is OpenAPI?
A specification for defining RESTful APIs
Formerly known as Swagger
How does OpenAPI represent API descriptions?
In JSON or YAML
What is Project Xanadu?
The first hypertext project aiming to connect documents bidirectionally
Founded in 1960 by Ted Nelson
What are tumblers (Project Xanadu)?
The addressing system used in Xanadu
Tumblers are numeric, write-once identifiers used for addressing of document fragments
In what 2 ways can links be stored in Project Xanadu?
First-class - separately from documents
Within document - in its link-train
What are transclusions (Project Xanadu)?
Special links where documents can contain parts of other documents
Address of fragment is inserted and referenced content is retrieved
How was the Project Xanadu system distributed? What protocols were introduced?
Separated front-end clients from back-end servers
Protocols:
* Front End to Back End - facilitated user interaction
* Back End to Back End - manage consistency between back end servers
What are these: HES/FRESS (1967), ZOG (1972), KMS (1983), Hyperties (1983), NoteCards (1984), Intermedia (1985), HyperCard (1987)
Hypertext systems
What are the 4 types of hypertext systems?
- Macro Literary Systems
- Problem Exploration Tools
- Structured Browsing Systems
- General Hypertext Technology
What were Halasz’s 7 issues?
1) Search and query - link navigation not always best to find things
2) Composites - augmenting the basic model
3) Virtual structures - documents defined by queries
4) Computation in hypermedia networks
5) Versioning
6) Support for collaborative work
7) Extensibility
What were Halasz’s 4 ammendments to his 7 issues?
- Ending the Tyranny of the Link
- Very Large Hypertexts
- Open Systems
- User Interfaces for Large Information Spaces
What do the following mean in graph theory:
* Diameter
* Average-case diameter
* Degree of a vertex
* Density
Diameter - longest distance between any 2 vertices
Average-case diameter - average distance between any pair of nodes
Degree of a vertex - number of edges connected to it
Density - ratio of edges to vertices
What does centrality represent in graph theory?
The importance of a node, not “near the centre”
Centrality can be measured in a variety of ways (4)
How is degree centrality found?
Simply the number of edges connected to a node
How is betweenness centrality found?
The number of shortest paths going through a node
How is closeness centrality found?
The average of the shortest distances from a node to all other nodes
i.e. find the shortest path to every other node and average the distances
What is a small world network?
A graph where most nodes are not neighbours but most nodes can be reached by a small number of connections
What is the average degree of a node?
log(n) where n is the no. nodes
What is Barabasi-Albert model?
A tool for understanding the growth and structure of networks
Nodes have preferential treatment - the probability of a new node linking to an existing node is proportional to the degree of that node
What 3 things does Google’s PageRank Algorithm account for?
No. links
Link quality
Link content
What is a Web Crawler?
An algorithm that systematically crawls to web
Starts at a webpage, follows hyperlinks from that page, and follows links on those pages, etc…
Collects & stores metadata about pages
What are the 4 policies of Web Crawlers?
Selection policy - states which pages to index (breadth-first, PageRank, …)
Re-visit policy - revist pages since they change (especially frequent changers)
Parallelisation policy - run multiple processes in parallel e.g. assign a crawler to do all hashs divisible by 5
Politeness policy - don’t make parallel calls to same server - spread requests
What are 2 ways people boost the search rankings of their pages with Search Engine Optimisation?
Legitimate SEO (white hat) - prioritises user experience, good design, valid metadata
Illegitimate SEO (black hat) - manipulates search engine
How is SEO combatted?
Regularly update algorithms
Favour legitimate SEOs and penalise illegitimate SEOs
What is IETF (Internet Engineering Task Force)?
Makes web standards / is a web standard organisation (like W3C)
Consesus-driven decision-making
What is ergodic literature?
Where, not only does the reader read the literature, they also make decisions (Minecraft type beat)
What is ludic narrative?
Storytelling approach where plot unfolds through interactive mechanics, allowing players to influence story through choices & actions
How is hyperdrama different to traditional drama?
Interactive, non-linear narratives
Can be experienced across different platforms
What is a journal’s impact factor?
An indicator of its importance within its field
Decided through a rigorous review process
When did scholarly publishing begin?
1665
What are the 2 problems with journals having subscription costs?
Impedes new discoveries by limiting key information
Low-income countries & independent scholars can’t access them
What are the 4 ideals of Open Access?
Entirely online
Available 24/7
All papers citation-linked
Full searchable, navigable, and retreivable
Green OA vs Gold OA
Gold OA - articles made freely available, with costs covered by author
Green OA - as Gold OA isn’t always possible, offers access to an earlier version of research in public repository
What are the 4 problems with OA?
50% of new papers still behind a paywall
Green OA relies on publishers policies
Gold OA relies on publishers changing their model
Scientific publications are lucrative
What 3 things differentiate open hypermedia from traditional hypermedia?
- Dynamic structure
- Decentralised
- More interactive
What is DHRM (Dexter Hypertext Reference Model) and Hyper-G?
DHRM (1988-90)
A model of an open hypertext system
Compares the functionalities of existing systems
Hyper-G (1989-90)
An implementation of an open hypertext system
Aligns with the Dexter model
What are Hyper-G’s 2 link categories?
Core links - relate documents stored on same server; changes processed by single server
Surface links - relate documents stored on different servers; changes involve multiple servers
What are the 2 types of link integrity failure?
Dangling link problem - when an endpoint refers to an invalid node
Content reference problem - when an endpoint refers to a valid node, but to an invalid location within that node
What is microcosm?
A distributed system of interconnected servers
Organises data into self-contained units called microcosms
Microcosms communicate with each other to share data & updates
What are the 2 advantages and 2 disadvantages of microcosm?
Advantages:
* Flexible, varied linking
* Integrates with 3rd party applications
Disadvantages:
* Poor scalability
* No support for link integrity
What does shim do in OHP (Open Hypermedia Protocol)?
Translates between OHP and the linkserver’s native protocol
What is a LocSpec in OHP?
Identifies the position of an anchor (by byte offset / specific string occurence / named location)
What is the advantage and disadvantage of OHP?
Advantage:
* Commonly used & accepted model
Disadvantage:
* High message overhead
How are linkbases automatically created (OH)?
1) Extract key phrases from documents based on location & frequency
2) Create generic links to those documents based on phrases
3) Use linkbase editor to delete unwanted links
What 4 places can we inject links?
During batch processing
On demand in origin server
Using proxy server
In the user agent
What are the 3 limitations of HTML linking?
- URIs can identify entire resources but not parts of them
- Unflexible tags
- Links are fixed & one-directional
What is XPointer in relation to XPath?
XPath can’t identify ranges in a document, only elements
XPointer allows XPath path expressions to be used as fragment identifiers in URIs
What is XLink?
A W3C standard for creating hyperlinks
What is the state of XLink now?
Declined use due to shift from XML to JSON
HTML & JavaScript have largely replaced its functionality
How is JSON superior to XML (4)?
Simpler, more concise, easier to read & write
Better parsing
Smaller file size
No strict schema
Contextual vs behavioural advertising
Contextual - based on content in the page
Behavioural - based on profiling of a specific user
AdWords Auctions for contextual ads (4 steps)
1) Find all ads whose keywords match search terms
2) Ignore ads in ineligible countries
3) Calculate AdRank
4) Show ads with sufficient AdRank
What is AdSense?
Contextual advertising based on keyword matching
Publishers partake in auctions for different ad positions
What are the 3 advertising cost models?
Cost per Mille - pay per 1000 impressions (displays of ad)
Cost per Click - pay when someone clicks on ad
Cost per Action - pay when someone does a specific action linked to the ad (e.g. sign up to mailing list, purchase something, …)
What is RTB (Real Time Bidding)?
Utilises computer algorithms to automatically buy & sell ads in real-time
Uses per impression content
What ecosystems is RTB (Real-Time Bidding) built on (4)?
Ad exchange - marketplace for advertising space
Supply-Side Platform - for selling advertising
Demand-Side Platform - for buying advertising
Data Management Platform - manage cookie IDs to target ads
In what order is data built on through the advertising ecosystem (4)?
- Browser
- Website adds
- Add server adds
- Advertiser adds
What is fingerprinting?
A stateless tracking technique (like cookies)
Identifier derived from information taken from device (like a hash)
Semantic Web vs Annotated Web
Semantic Web - extension of current web; enables data to be interconnected & understood by machines
Annotated Web - a web where extra data (metadata/annotations) is added to content to make it easier to understand for humans & machines
What are the 2 components of resource description framework?
Literals (object) - have value but no identity
Resources (subject) - represent objects with identity
Linked with a predicate (arrow)
What are the 4 semantic web publishing practices?
1) Using URIs to identify things
2) Making URIs accessible via HTTP
3) Providing useful information when URIs are accessed
4) Linking to other URIs for better connectivity
What are the 5 quality levels of linked data?
Lowest to highest:
* 1: available on the web
* 2: machine-readable
* 3: non-proprietary format
* 4: uses W3C standards
* 5: linked to other people’s data
Do hypertext links have to be explicit, static and textual?
No:
* May be derived from underlying relationships
* Can be computed on the fly
* May change depending on who’s viewing them
What is sculptural hypertext?
Instead of adding links between nodes, assumes all nodes are linked and remove links until desired structure achieved
What are the following hypermedias:
* Temporal
* Computational
* Conceptual
* Pervasive
* Adaptive
Temporal - content changes over time
Computational - content dynamically generated/altered using algorithms/user input
Conceptual - links based on ideas/concepts, not just direct connections
Pervasive - content linked with real world e.g. augmented reality
Adaptive - content & links personalised based on user preferences
What is net neutrality?
The principle that Internet Service Providers must treat all Internet communications equally
What are the 6 arguments for net neutrality?
Accessibility
Choice - promotes competition
Experimentation - equal access for all companies
Free Speech
Innovation
Unbiased
What are the 3 arguments against net neutrality?
Anti-competitive
Increases quality
Regulation - stop illegal content
What 3 intellectual properties are there on websites? How are they protected?
Text/design/graphics/layout/music/software - protected by copyright
Logos/branding - protected by trademark rights
Underlying database - protected by database rights
What 4 rights does a copyright owner have?
- Copy the work
- Make an adaptation of a work
- Show the work to the public
- Issue copies to the public
(For a limited time)
What are the 2 types of copyright infringement?
Primary infringement - anyone who does any of the rights of the owner
Secondary infringement - if someone facilitates other people infringing on a copyright
What is cyber squatting?
Registering a domain name with no legitimate reason other than to benefit from another’s reputation
Make money by trafficking users to unrelated material or selling domain at inflated price
How can trademark holders police the use of its mark?
Instead of being responsible for policing, can use the Creative Commons Attribution license
What do the following CCAs allow for:
* CCA
* CCA-ShareAlike
* CCA-NonCommercial
* CCA-NoDerivs
* CCA-NonCommercial-ShareAlike
* CCA-NonCommercial-NoDerivs
CCA: can distribute/remix/tweak/build on work as long as credited
CCA-ShareAlike: licence any new creations under identical terms
CCA-NonCommercial
CCA-NoDerivs: work must remain unchanged
CCA-NonCommercial-ShareAlike
CCA-NonCommercial-NoDerivs