CS 338 FINAL EXAM SET

file permissions

know what the three numbers after chmod represent

MIME

multipurpose internet mail extension; a standard for formatting files of different types, such as text, graphics, or audio, so they can be sent over the Internet and seen or played by a web browser or email application.

Web Safe color

The 216 colors that display consistently from computer to computer giving Web designers some control over their pages' appearance.

CSS Reset

A CSS Reset (or "Reset CSS") is a short, often compressed (minified) set of CSS rules that resets the styling of all HTML elements to a consistent baseline. In case you didn't know, every browser has its own default 'user agent' stylesheet, that it uses t

what does www stand for?

Worldwide Web

difference between internet and intranet

the Internet is an open, public space, while an intranet is designed to be a private space. An intranet may be accessible from the Internet, but it is protected by a password and accessible only to authorized users.

Client Server Architecture

a computing model in which the server hosts, delivers and manages most of the resources and services to be consumed by the client. This type of architecture has one or more client computers connected to a central server over a network or internet connecti

LAMP stack

Linux, Apache, MySQL, PHP

Tim Berners-Lee

Invented the World Wide Web

how the web works

Clients (web browsers) send requests to web servers for web elements such as web pages and images. After the request is serviced by a server, the connection between client and server across the Internet is disconnected.

Client-side scripting

A program downloaded as part of a web page executed by the browser on the user's computer. (ex: js)

server side scripting

Also called back-end scripting; scripts are executed on the server before the web page is downloaded by a client. (e.g. if you log-in to an account, your input is sent to the server to be checked before downloading your account). These are the parts of th

cache server

A proxy server or application-level firewall that stores the most recently accessed information in its internal caches, minimizing the demand on internal servers.

proxy server

a server within an organization with a list of allowed and not allowed websites; filters requests from going to the internet

https

Hypertext Transfer Protocol Secure. Encrypts HTTP traffic with SSL or TLS using port 443.

TCP (Transmission Control Protocol)

provides reliable, ordered, and error-checked delivery of a stream of packets on the internet. TCP is tightly linked with IP and usually seen as TCP/IP in writing.

private IP and public IP

A public IP address is an IP address that can be accessed over the Internet. Like postal address used to deliver a postal mail to your home, a public IP address is the globally unique IP address assigned to a computing device. Private IP is used to assign

ARPANET

A defense-related computer network that was the precursor to the internet.

DARPA

Defense Advanced Research Projects Agency: An agency of the United States Department of Defense responsible for the development of new technology for use by the military.

router

A device that transfers data from one network to another in an intelligent way

DNS

the phonebook of the Internet. DNS translates domain names to IP addresses so browsers can load Internet resources.

DHCP

a network management protocol used on UDP/IP networks whereby a DHCP server dynamically assigns an IP address and other network configuration parameters to each device on a network so they can communicate with other IP networks

NIC

Network Interface Card; a computer hardware component that allows a computer to connect to a network. NICs may be used for both wired and wireless connections.

MAC adress

Media Access Control Address; a hardware identification number that uniquely identifies each device on a network.

UDP

User Datagram Protocol. Used instead of TCP when guaranteed delivery of each packet is not necessary. UDP uses a best-effort delivery mechanism.

TCP

Transmission Control Protocol - provides reliable, ordered, and error-checked delivery of a stream of packets on the internet. TCP is tightly linked with IP and usually seen as TCP/IP in writing.

What is a meta-search engine?

AKA an aggregator; a search tool that uses another search engine's data to produce its own results from the Internet. Metasearch engines take input from a user and simultaneously send out queries to third party search engines for results.

2-tier client/server architecture

...

3 tier client server architecture

...

Multi-Tier Client-Server Architecture

...

PKI

A public key infrastructure (PKI) is a set of roles, policies, and procedures needed to create, manage, distribute, use, store & revoke digital certificates and manage public-key encryption. The purpose of a PKI is to facilitate the secure electronic tran

certification authority (CA)

an entity that issues digital certificates. A digital certificate certifies the ownership of a public key by the named subject of the certificate. This allows others (relying parties) to rely upon signatures or on assertions made about the private key tha

vulnerable points of an ecommerce website

three points of vulnerability
1. the client
2. the communication line
3. the server

what should be used to give the same style to elements scattered here and there?

class selector

DES

data encryption standard; a form of symmetric key encryption still used today

RSA

an algorithm used by modern computers to encrypt and decrypt messages. It is an asymmetric cryptographic algorithm.

digital certificate

a data file that identifies individuals or organizations online and is comparable to a digital signature

VPN (Virtual Private Network)

a network that uses a public telecommunication infrastructure, such as the Internet, to provide remote offices or individual users with secure access to their organization's network

firewall

Hardware and software used to help prevent unauthorized users from accessing a person's data

two main ways that a firewall works

1. closing ports
2. packet inspection (can be deep packet inspection or header inspection)

how does anti virus software work?

the software keeps records of the digital signatures of viruses in order to identify malware

What is DoubleClick?

bought out by Google; sells ad serving services for displaying ads; gives a company information on the consumer to customize ads

how does Google work?

uses pagerank algorithm
1. sends webcrawler every day to examine metadata of webpages
2. indexes websitesbased on metadata
3.

what determines whether a script is client side or server side

the location where the program runs

characteristics of client side scripting

fast (because you don't have to wait for the data to come from the server)
can use client time and date
security risks

characteristics of server side scripting

heavier computations
more secure than client side scripting because programs do not run on client
dynamic/on demand

CentOS

CentOS and others like it (such as Scientific Linux) are largely compatible with RHEL and integrate some newer software, but do not offer the paid support that Red Hat does.

does PHP have a type char?

no. single characters are strings

what is VARCHAR?

a string that is not of fixed length

advantages of client side scripting

usability (faster UI)
efficiency (small changes can be made without server communication)
event-driven (can respond to user action)
error checking in forms

advantages of server side scripting

security (client cannot view source code)
compatibility (not subject to browser compatibility issues)
power (power requirement is moved to the server which saves client battery life)

is javascript interpreted or compiled?

interpreted

DOM

document object model; defines the logical structure of documents and the way a document is accessed and manipulated

different types of popup boxes in js

alert (displays alert)
confirm (returns T/F)
prompt (returns user input)

difference between null and undefined

null -> variable is declared but no value is assigned
undefined -> the variable has not been declared and doesn't exist

LAMP stack

Linux, Apache, MySQL, PHP

Web server

a web-server is software which listens for web page requests and serves web pages and media to clients upon request

web browser

fetches/displays documents from web servers

Client Server Architecture

clients make requests to the server and the server returns things

Open Source Software

Available to edit for free; no money could be made off changes

source code

A program in a high-level language before being compiled.

WWW vs the Internet

WWW -> a collection of web pages and media which can be viewed by a browser
Internet -> a network of networks; a collection of hardware and software which communicate with each other; encompasses the web and dark web

intranet

an enclosed network (self contained) which may or may not be connected to the internet

NAT

Network Address Translation. A service that translates public IP addresses to private and private IP addresses to public. It hides addresses on an internal network.

Client Side Programming

the program executes on the client's computer (ex: javascript)

server side programming

the program executes on the server's computer (ex: PHP)

javascript

small programs; used to make the client/ user interface look pretty and interact with the user

PHP

dynamically creates pages on the webs server; high level of computing; computations involving other servers

TCP

Transmission Control Protocol - provides reliable, ordered, and error-checked delivery of a stream of packets on the internet. TCP is tightly linked with IP and usually seen as TCP/IP in writing.

TCP/IP stack

Application
Transport
Network
Data Link
Physical

TCP/IP Stack - Application Layer

user side; ex: http, ssh, POP, ftp, SMTP

TCP/IP Stack - Transport Layer

End to end; ex: UDP, TCP

TCP/IP Stack - Network Layer

routing; ex: IP

TCP/IP Stack - Data Link Layer

ex: MAC, NIC

TCP/IP Stack - Physical Layer

bits on the wire

why have a stack?

because you can edit one layer, and the others will not be affected

protocol

a mutually agreed upon set of rules

ARPANET (Advanced Research Projects Agency Network)

A defense-related computer network that was the precursor to the internet.

Tim Berners-Lee

Inventor of the World Wide Web in 1980-ish and http in 1989

Key aspects of the internet

sub networks can stand on their own
computers can dynamically join (DHCP)
built on open standards
lack of centralized control
everyone can use (commonly available software)

DHCP

(Dynamic Host Configuration Protocol) to assign/lease dynamically IP addresses from a pool of IP aaddresses

IPv4 vs IPv6

IPv4: 32-bit number: 4 billion addresses; four sets of numbers marked off by periods
IPv6: 128-bit addresses, able to handle up to 1 quadrillion addresses; almost unlimited # of addresses

socket

IP + port

port 80

HTTP

port 443

HTTPS

port 25

email

port 22

SSH

HTTP Basic commands

GET
POST
PUT

HTTP command - GET

download

HTTP command - POST

send a web form response

HTTP command - PUT

upload

Web 1.0 vs Web 2.0

Web 1 -> one way communication
Web 2 -> two way (interactive)`

meta search engine

Sends request for information to several search engines simultaneously and compiles the results; does not manage databases as a regular search engine does

Cybersquatting

registering domain names in the hope of selling them later at a higher price

steps to making a website

1. get a domain name
2. find a web hosting service (this is where you site will reside)
3. Design (composed of analyse, organize, develop, implement, and maintain)

TLD server

Top Level Domain Server; a list of domain names with assigned IP addresses

Web hosting Service

a company with servers where you can store your web pages and media so that it can be accessible to everyone on the web

index.html

the universally accepted name for a web site's home page

Meta Tags

They are part of a web page's head section and describe a page's content; used by search engines for indexing

why should you resize images?

to maintain image quality; to ensure faster loading

why use relative path?

relative path allows the source files of a web site to be moved together to a different location, without reference paths breaking

Digitally enabled transactions

include all transactions mediated by digital technology

commercial transactions

involve the exchange of value across organizational or individual boundaries in return for products and services

e-commerce vs e-business

e-business is conducted within an organisation or firm

types of commerce

by nature of market relationship:
Business to Consumer (B2C)
Business to Business (B2B)
Consumer to Consumer (C2C)
by nature of technology used:
Peer to Peer (P2P; example: Bittorrent)
Mobile Commerce (M-commerce)

Systems Development Life Cycle (SDLC)

a methodology for understanding the business objectives of any system and designing an appropriate solution

Systems Development Life Cycle stages

planning (done on paper)
design (done on paper)
building (coding; about 50% of overall work)
testing (four main types)
implementation (+ maintenance; includes benchmarking)

Logical Design

The layout for the product and how it will work
(Part of the design phase of the SDLC in which all functional features of the system chosen for development in analysis are described independently of any computer platform)`

Physical Design

How the logical design is implemented
(The part of the design phase of the SDLC in which the logical specifications of the system from logical design are transformed into technology-specific details from which all programming and system construction can b

types of testing

unit
integration
system
acceptance

Unit testing

test individual units or pieces of code for a system

Integration Testing

After unit testing, integration testing is done to see that the modules communicate the necessary data between and among themselves and that all modules work together smoothly.

system testing

Testing the entire system as one entity to ensure that it is working properly

acceptance testing

provides the final certification that the system is ready to be used in a production setting

benchmarking

a process by which a company compares its performance with that of high-performing organizations

page generation

server response time
device based accelerators
efficient resource allocation
resource utilization thresholds
monitoring site performance

Page Delivery

content delivery networks
edge caching
bandwidth

page content

optimize html & images
site architecture
efficient page style

factors of website optimization

Page delivery, Page Generation, Page Content

Edge Caching

distributing content (e.g. videos and other bandwidth-hogging data) from a local web server to caching servers that are closer to the end user ( and nearer to the "edge")

How does HTTPS encrypt?

end to end encryption takes place in the browser;
HTTPS encrypts the entire comm channel using TLS.

what is httpd?

the d stands for Daemon which is a software program that runs in the background of a web server and waits (listens) for incoming server requests

hardware platform

in the context of e-commerce, this refers to all the underlying computing equipment that the system uses to achieve e-commerce functionality

what is the most important factor affecting the speed of a site?

customer demand

factors involved in demand include...

Number of simultaneous users in peak periods
Nature of customer requests (user profile)
Type of content (dynamic versus static Web pages)
Required security
Number of items in inventory
Number of page requests
Speed of legacy applications

Legacy

past/old hardware or software that is still in use

Scalability

Refers to how well a system can adapt to increased demands

what are the three aspects of scalability?

maintaining...
low latency
high throughput
high reliability

techniques to improve scalability of e-commerce web sites

Minimal size messages
Minimal number of messages
Minimal amount of computation
Local computation - move the computation to the data, instead of the data to the computation
Replication - Make copies of your computation and data, replicate databases and web

two ways to scale hardware

vertically and horizontally

vertical scalability

increasing the processing power of individual components

horizontal scalability

Employ multiple computers to share workload

8 most important factors in successful e-commerce designs

functionality
informational
ease of use
redundant navigation
ease of purchase
multi-browser functionality
simple graphics
legible text

http is stateless. What does this mean?

not remembering transaction history

cookies

small text files on the client's computer which can be set by the client or server

pros and cons of stateless servers

Chief benefit: Potential for replication
Improved performance: A sysadmin can fire up N copies of a website (on N machines) and any machine can serve each request.
Improved reliability: If a machine crashes, then another can be started up in its place, an

how do secure cookies work?

When user sends a valid username & password in request X, the server replies with a cookie containing a secret that the client couldn't possibly have guessed.
When user subsequently makes request Y, the browser sends along the cookie.
Since the client cou

session

state stored across requests

pros and cons of sessions

pros:
Stores information between requests
Much more secure than the simple cookie-based approach
A bad person would need to steal the random number (cookie) within 10 minutes of its creation
cons:
Requires your web server to have write-access to some sort

when to use cookies and when to use sessions

Use cookies when
You need to save a small amount of data between requests, and it doesn't need to be kept secret
Use sessions when
You need to save a larger amount of data between requests, or when the data needs to be secret

Dimensions of E-Commerce Security

integrity
nonrepudiation
authenticity
confidentiality
privacy
availability

Integrity

ability to ensure that information being displayed on a Web site or transmitted/received over the Internet has not been altered in any way by an unauthorized party

Nonrepudiation

ability to ensure that e-commerce participants do not deny (repudiate) online actions

Authenticity

ability to identify the identity of a person or entity with whom you are dealing on the Internet

Confidentiality

ability to ensure that messages and data are available only to those authorized to view them

Privacy

ability to control use of information a customer provides about himself or herself to merchant

Availability

ability to ensure that an e-commerce site continues to function as intended

DHCP

(Dynamic Host Configuration Protocol) A set of rules that allow network client computers to connect dynamically to a network. DHCP assigns IP addresses to computers

TCP

Transmission Control Protocol; Breaks files down into packets; provides reliable, ordered, and error-checked delivery of a stream of packets on the internet. TCP is tightly linked with IP and usually seen as TCP/IP in writing.

What is HTML used for?

creating the structure and content of a web page

What is CSS used for?

The presentation and layout of a web page (to add font/size/pictures/etc.)

Why use html with a separate CSS file linked?

using only html would mean a long file and slow speeds
external CSS means one file can be used for many html pages

different forms of CSS

external style sheet
internal style sheet
in line CSS

HTML id attribute

...

HTML class attribute

...

<div> tag

<div> is an HTML tag used as the foundation of a CSS page layout to organize content on a web page by defining areas or sections

format of CSS

selector1 selector2{
properties
}
[here selector1 will only apply if selector2 is true]

CSS box model

a box that wraps around every HTML element, consists of (from the inside out) margins, borders, padding, and content.

float in CSS

sets the location of an element, for example you can use float to set an image to always be on the left of the page:
float: left;

position property in CSS

can be absolute or fixed

some div id tags that could be used on an html page

<header>
<nav>
<article>
<sidebar>
<footer>

Which are higher, download or upload rates?

download rates are always higher because more people download than upload

https://anselm.edu/academics.html

https = the protocol
anselm.edu = the host computer
academics.html = the web page

What is html?

Hypertext Markup Language; html describes the content and structure of information in a web page. html tags are interpreted by the web browser

what is CSS?

Cascading Style Sheets; CSS dictates the appearance of the content of a web page

2 tier CS architecture: Tier 1

client platform hosting a web browser

2 tier C-S architecture: Tier 2

server platform hosting all server components

advantage of 2 tier C-S architecture

inexpensive

disadvantages of 2 tier C-S architecture

inter-dependency of components
no redundancy
limited scalability

typical application of 2 tier C-S architecture

10 - 100 users
small company or organization

3-Tier C-S Architecture

separates server into application and data servers

advantages of 3 tier C-S architecture

improved performance from specialized hardware
decreased coupling of software components
improved scalability

disadvantage of 3 tier C-S architecture

no redundancy

typical application of 3 tier C-S architecture

100 - 1000 users
small business or regional organization

Multi-Tier Client-Server Architecture

has n number of tiers
is an expansion of the 3 tier architecture

advantages of multi-tier C-S architecture

decoupling of software components
flexibility to add or remove platforms in response to load
scalability

disadvantage of multi-tier C-S architecture

higher cost

application of multi-tier C-S architecture

1000+ users
large businesses or organizations

html for block quotes

<blockquote><p>text here</p></blockquote>

html for in line quote

<q>text here</q>

html for >

&gt

html for copyright symbol

&copy

metadata

gives information about the site

html for a table

<table>
<caption>title of table</caption>
<tr>
<td>first row first column</td>
<td>first row second column</td>
</tr>
<tr>
<td>second row first column</td>
<td>second row second column</td>
</tr>
</table>

what should you always do to make sure your code does not have errors?

upload it to a validator

what does CSS stand for?

Cascading Style Sheets

what are the benefits of using css?

one css file can dictate the style of multiple pages
faster browsing
uniformity between pages

css can be used in 3 ways:

<head>
inline
separate file

syntax for linking a css file to your html file

<head>
<link href="filename.css" type="text/css" rel="stylesheet"/>
</head>

what does pt mean in css?

One point is equal to 1/72 of an inch. Points are much like pixels, in that they are fixed-size units and cannot scale in size.

what does px mean in css?

One pixel is equal to one dot on the computer screen (the smallest division of your screen's resolution).

what does em mean in css?

An em is equal to the current font-size, for instance, if the font-size of the document is 12pt, 1em is equal to 12pt. Ems are scalable in nature, so 2em would equal 24pt, .5em would equal 6pt, etc.

when did the internet become open to commercial interests?

in the 1980's

what is the Internet Engineering Task Force (IETF)?

an open standards organization, which develops and promotes voluntary Internet standards, in particular the standards that comprise the Internet protocol suite

what is the Internet Corperation for Assigned Names and Numbers (ICANN)?

a nonprofit organization responsible for coordinating the maintenance and procedures of several databases related to the namespaces and numerical spaces of the Internet, ensuring the network's stable and secure operation

What is the World Wide Web Consortium?

The main international standards organization for the World Wide Web (abbreviated WWW or W3).
Founded and currently led by Tim Berners-Lee at MIT,[2] the consortium is made up of member organizations which maintain full-time staff for the purpose of worki

multiplexing

when multiple programs use the same IP address

what is a domain name server (DNS)?

a set of servers that map written names to IP addresses

what is a host file

a local cache of domain names and IP addresses

what is a Uniform Resource Locator (URL)?

an identifier for the location of a document on a website

what is Hypertext Transfer Protocol (http)?

the set of commands understood by a web server and sent from a browser

HTTP error code 200

OK

HTTP error code 301-303

page has moved

HTTP error code 403

you are forbidden to access this page

HTTP error code 404

page not found

HTTP error code 500

internal service error

what is SQL used for?

Used to store and retrieve data in relational databases.

<title>

placed within the head of the page
displayed in the web browser's title bar and when bookmarking the page

block vs inline html elements

block elements contain a margin of white space to separate them
inline elements are nested inside block elements and many can appear on the same line

which web technologies are used on the client side?

xhtml
css
javascript

which web technologies are used on the server side?

PHP
SQL

what is an ISP?

an internet service provider; a business or organization that provides you with an internet connection (comcast, verizon, Bellsouth)

what is DSL?

Digital Subscriber Line: A connection through a telephone company.

what are the basic tools for web development?

text editor (file creation)
browser (display)
file transfer program ( for uploading files to server)

what is MIME?

Multipurpose Internet Mail Extensions; a file's MIME type can often be inferred from the file extension

five step process for website design

analyse (why create this website?)
Organize (structure, content, layout)
Develop
Implement
Maintain

what kind of directory structure should be used for a website?

home page -> index.html
sub directories:
images
css
scripts

what are the main areas in which you will need to make decisions when building a website?

Human resources - Technical capabilities
Hardware
Software
Internet Service
Site design

32-bit IP address

four numbers with a dot between each. each in the range of 0-255

what is SSH?

SSH
is an encrypted and secure authentication protocol and uses Port 22.

What is FTP used for?

Access, edit and move files between devices on a network

...

...