• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/77

Click to flip

Use LEFT and RIGHT arrow keys to navigate between flashcards;

Use UP and DOWN arrow keys to flip the card;

H to show hint;

A reads text to speech;

77 Cards in this Set

  • Front
  • Back
  • 3rd side (hint)

Local Area Network [LAN]

Provides access to the network in a small geographical area.

Wide Area Network [WAN]

Provides access to the network in a wide geographical area.

Wireless Local Area Network [WLAN]

Wirelessly provides access to the network in a small geographical area.

Data Confidentiality

Only the intended and authorized recipients can access and read data.

Data Integrity

Having the assurance that the information has not been altered in transmission, from origin to destination.

Data Availability

Having the assurance of timely and reliable access to data services for authorized users.

Wireless Internet Service Provider [WISP]

Connect subscribers to a designated access point or hot spot. Commonly used in rural areas.

Wireless Broadband Service

Uses the same cellular technology used to access the Internet with a smart phone or tablet. Using an antenna that provides wireless connection in a home.

Denial of service attacks

Attacks designed to slow or crash applications and processes on a network device.

Identity theft

Steal the login credentials of a user in order to access private data.

Firewall filtering

This is used to block unauthorized access to the network.

Access control lists [ACL]

These are used to further filter access and traffic forwarding.

Virtual private networks [VPN]

These are used to provide secure access to remote workers.

Console

Physical management port that provides out-of-band access to a Cisco device.

Secure Shell [SSH]

Method for remotely establishing a secure Command Line Interface [CLI] connection through a virtual interface, over a network.

Telnet

Insecure method of remotely establishing a Command Line Interface [CLI] session through a virtual interface, over a network. User authentication, passwords, and commands are sent over the network in plaintext.

Flow Control

In network communication, source and destination hosts use it to negotiate correct timing for successful communication.

Response Timeout

Rules that hosts have in the networks to specify how long to wait for responses and what action to take if a response timeout occurs.

TLS will drop packet if timeout or repeated ack #

HTTP
hyptertext transfer protocol that is application level generic and stateless
Stateless
unlike fb with real time status updates, its stateless. Request response close.Web Application state is not HTTP Application protocol state
Generic
The protocol is the same, independent if the content is ---->(1) Static web pages or images served from disk(2) Dynamic content built on the fly during the request(3) Non-browser based (for example, HTTP endpoints for christmas lights).
TEXT-BASED PROTOCOL
*Requests and responses use a simple text format

*Requests and responses can have binary payloads, but the protocol is text

REQUEST RESPONSE PAIRS
▸ Request

HEAD http://www.google.com/ HTTP/1.1

HTTP
hyptertext transfer protocol that is application level generic and stateless
▸ Response:

HTTP/1.1 200 OK

REQUEST STRUCTURE
*Request line followed by headers followed by CRLF *Method SP Request-URI SP HTTP-Version CRLF

*GET /foo/bar.baz HTTP/1.1 field-name ":" [ field-value ]


*Host: www.mydomain.com

FUN WITH STANDARDS
A client MUST include a Host header field in all HTTP/1.1 request messages.



All Internet-based HTTP/1.1 servers MUST respond with a 400 (Bad Request) status code to any HTTP/1.1 request message which lacks a Host header field.




HW2 Demonstrated that this isn't strongly enforced

REQUEST METHODS
OPTIONS: Request communication options for the URI GET: Get an entity
REQUEST METHODS

HEAD: Same as GET with no payload

REQUEST METHODS

POST: Annotate or append data to an entity

REQUEST METHODS

PUT: Modify existing entity

REQUEST METHODS

DELETE: Delete entity

REQUEST METHODS

TRACE: loopback requested method - (Are you behind 7 proxies? )

REQUEST METHODS

CONNECT: Tell proxy to establish tunnel extension-method: Here be dragons - (But see WebDAV RFC 4918 for an example)

Stateless
unlike fb with real time status updates, its stateless. Request response close.Web Application state is not HTTP Application protocol state
?

Despite the simplicity, your browser only uses GET, POST Web frameworks claiming to use PUT actually use POST




Typically append _method: PUT to POST data

A SIMPLE, REAL POST
POST /html/demo_form_exercise.php HTTP/1.1 Host: www.w3schools.com
RESPONSE STRUCTURE
Status-Line followed by headers followed by CRLF HTTP-Version SP Status-Code SP Reason-Phrase CRLF HTTP/1.1 200 OK HTTP/1.1 404 Not Found
RESPONSE TYPES WE CARE ABOUT
Success with no body (the worst!)

Success with body


Error

COMMON STATUS CODES
200 OK

404 Not Found 500 Internal Server Error 502 Bad GatewayProposed: 451 Unavailable For Legal Reasons

REST
REST = Representational state transfer,Rest is an architecture, not a framework The PhD of R. Fielding, the name at the top of RFC 2616
REST GUIDELINES
PUT and DELETE should be IDEMPOTENT-Multiple calls beyond the first don't change anything-So don't make DELETE /things/0 HTTP/1.1 mean the first thing! GET should be NULLIPOTENT (side effect free) - GET /users/1 HTTP/1.1 shouldn't edit the user POST has a creation side effect
REST(WIKI)
* focus is on component roles and a specific set of interactions between data elements rather than implementation details.

*purpose is to induce performance, scalability, simplicity, modifiability, visibility, portability, and reliability.REST is the software architectural style of the World Wide Web.

Generic
The protocol is the same, independent if the content is ---->(1) Static web pages or images served from disk (2) Dynamic content built on the fly during the request(3) Non-browser based (for example, HTTP endpoints for christmas lights).
TEXT-BASED PROTOCOL
*Requests and responses use a simple text format *Requests and responses can have binary payloads, but the protocol is text
REQUEST RESPONSE PAIRS
▸ Request HEAD http://www.google.com/ HTTP/1.1 ▸ Response: HTTP/1.1 200 OK Date: Thu, 19 May 2016 15:06:53 GMT Expires: -1 Cache-Control: private, max-age=0Content-Type: text/html; charset=ISO-8859-1 P3P: CP="This is not a P3P policy! See https://www.google.com/support/accounts/answer/151657?hl=en for more info." Server: gws
RESTful systems

RESTful systems typically, but not always, communicate over Hypertext Transfer Protocol (HTTP) with the same HTTP verbs (GET, POST, PUT, DELETE, etc.) that web browsers use to retrieve web pages and to send data to remote servers.

REST

systems interface with external systems as web resources identified by Uniform Resource Identifiers (URIs), for example /people/tom, which can be operated upon using standard verbs such as GET /people/tom.

REQUEST STRUCTURE

*Request line followed by headers followed by CRLF *Method SP Request-URI SP HTTP-Version CRLF*GET /foo/bar.baz HTTP/1.1 field-name ":" [ field-value ]*Host: www.mydomain.com

REST

The name "Representational State" is intended to evoke an image of how a well-designed Web application behaves: a network of web pages (a virtual state-machine), where the user progresses through the application by selecting links (state transitions), resulting in the next page (representing the next state of the application) being transferred to the user and rendered for their use.

FRAMEWORKS SUPPORT REST
*rails, django, node.js, etc. all support RESTful applications

*Less code for you to write


*Client code becomes easier as well due to consistency

WHAT IS A WEB APP?
Application that consumes HTTP Requests and produces HTTP Responses

Can it consume other stuff? Sure! Can it produce other stuff? Sure!

WEB APPLICATION ARCHITECTURE
Typically runs in an application container

Has some code to map request URL to function


Frameworks provide a LOT more Frequently MVC architecture

MVC ARCHITECTURE
1)Models

*Map "things" in the database to "things" in code


*You should be able to write a simulation in your system with just models


*Many people push too much logic into Controllers

FUN WITH STANDARDS
A client MUST include a Host header field in all HTTP/1.1 request messages.
MVC ARCHITECTURE

2)Controllers


*Mediate function calls between views and models


*If a Car model has a "drive" method, that goes on the Car, but if it has a "click" handler, that goes in the controller


*In a web app, often HTML templates that get their data from controllers

MVC ARCHITECTURE

3)Views


All Internet-based HTTP/1.1 servers MUST respond with a 400 (Bad Request) status code to any HTTP/1.1 request message which lacks a Host header field. HW2 Demonstrated that this isn't strongly enforcedYou didn't include it and google didn't require it

HTTPS
HTTP OVER TLS
Request methods
OPTIONS GET HEAD POST PUT DELETE TRACE CONNECT PATCH
Header fields
[Cookie ETag Location HTTP referer DNT X-Forwarded-For]
Status codes
301 Moved Permanently

302 Found


303 See Other


403 Forbidden


404 Not Found

REQUEST METHODS
OPTIONS: Request communication options for the URI

GET: Get an entity


HEAD: Same as GET with no payload


POST: Annotate or append data to an entity


PUT: Modify existing entity


DELETE: Delete entity



RESPONSE STRUCTURE
Status-Line followed by headers followed by CRLF HTTP-Version SP Status-Code SP Reason-Phrase CRLF HTTP/1.1 200 OK HTTP/1.1 404 Not Found HTTP/1.1 400 Bad Request
RESPONSE TYPES WE CARE ABOUT
Success with no body (the worst!) Success with body

Error

EXAMPLE RESPONSE (TO THE POST)
HTTP/1.1 200 OK

Cache-Control: publicContent-Type: text/html


Date: Thu, 19 May 2016 17:12:27


GMT Server: Microsoft-IIS/7.5 X-Powered-By: PHP/5.4.2 X-Powered-By: ASP.NET


Content-Length: 667

COMMON STATUS CODES
200 OK 404 Not Found 500 Internal Server Error 502 Bad Gateway Proposed: 451 Unavailable For Legal Reasons
REST
REST = Representational state transfer,Rest is an architecture, not a framework The PhD of R. Fielding, the name at the top of RFC 2616
REST GUIDELINES

PUT and DELETE should be IDEMPOTENT


-Multiple calls beyond the first don't change anything


-So don't make DELETE /things/0 HTTP/1.1 mean the first thing!


GET should be NULLIPOTENT (side effect free)


-GET /users/1 HTTP/1.1 shouldn't edit the user


POST has a creation side effect

REST(WIKI)


* focus is on component roles and a specific set of interactions between data elements rather than implementation details.*purpose is to induce performance, scalability, simplicity, modifiability, visibility, portability, and reliability.REST is the software architectural style of the World Wide Web. To the extent that systems conform to the constraints of REST they can be called RESTful. RESTful systems typically, but not always, communicate over Hypertext Transfer Protocol (HTTP) with the same HTTP verbs (GET, POST, PUT, DELETE, etc.) that web browsers use to retrieve web pages and to send data to remote servers. REST systems interface with external systems as web resources identified by Uniform Resource Identifiers (URIs), for example /people/tom, which can be operated upon using standard verbs such as GET /people/tom. The name "Representational State" is intended to evoke an image of how a well-designed Web application behaves: a network of web pages (a virtual state-machine), where the user progresses through the application by selecting links (state transitions), resulting in the next page (representing the next state of the application) being transferred to the user and rendered for their use.

FRAMEWORKS SUPPORT REST
*rails, django, node.js, etc. all support RESTful applications*Less code for you to write*Client code becomes easier as well due to consistency
WHAT IS A WEB APP?
Application that consumes HTTP Requests and produces HTTP ResponsesCan it consume other stuff? Sure! Can it produce other stuff? Sure!
WEB APPLICATION ARCHITECTURE
Typically runs in an application container Has some code to map request URL to function Frameworks provide a LOT more Frequently MVC architecture
MVC ARCHITECTURE
1)Models *Map "things" in the database to "things" in code *You should be able to write a simulation in your system with just models *Many people push too much logic into Controllers 2)Controllers *Mediate function calls between views and models *If a Car model has a "drive" method, that goes on the Car, but if it has a "click" handler, that goes in the controller 3)Views*In a web app, often HTML templates that get their data from controllers
HTTPS
HTTP OVER TLS
Request methods
OPTIONS GET HEAD POST PUT DELETE TRACE CONNECT PATCH
Header fields
[Cookie ETag Location HTTP referer DNT X-Forwarded-For]
Status codes
301 Moved Permanently 302 Found 303 See Other 403 Forbidden 404 Not Found 451 Unavailable For Legal Reasons