Stage four

create
your
dreams

Networks

What is a Network

Measuring Networks

Latency and Bandwidth:

Bits response by the following:

This process delivers the Internet routers to figure out next destinations.

Protocol

A set of rules that people agree to that tell you how two entities can talk to each other.

HTTP is designed to allow intermediate network assets to improve or enable communications between clients and servers. High-traffic websites improve from web cache servers that transfer content on behalf of upstream servers to deliver response time. HTTP proxy servers at private network boundaries can facilitate communication for clients without a globally routable address, by relaying messages with external servers.

HTML Documents

HTML Documents

To explain the basic structure of an HTML document there are three tags that describe it and give information about it. These tags don't affect the appearance of the document, they frame and structure the HTML file.<html> and </html>: Borders the document and indicates the language in which it is written.
<head>: Specifies the preface of the rest of the file. There are few tags inside it, emphasizing the one of the title <title> It identifies the content of the page. There is one title in each document, which should be short and significant. In the head there shouldn't be any text of the document.<body>: Is the main content of the document. This is the part of the HTML document that the computer shows.

URL

Better known as : Uniform Resource Locator. It is defined by: Protocol-Host-Path
The URL contains the name of the protocol to be used to access the file resource, a domain name that identifies a specific server on the Internet, and a path name, a description that specifies the location of a file in that server.

Fragments

The fragment identifier introduced by a hash mark # is the optional last part of a URL for a document. It shows a portion of that document.

What is HTTP

HTTP (Hypertext Transfer Protocol) is the set of rules for transferring files.
Requests lines are defined by: Method-Path-Version.
Get or Post//1.0-1.1. Fragments are not included in the path.

HTTP Responses

Request

ET/foo HTTP/1.1. The Request-Line begins with a method token, followed by the Request-URL and the protocol version.

Response

----status line ----HTTP/1.1 200 ok.
Status code and reason phrase

Some Status Codes

GET vs POST

GET

Characteristics in this method are: Parameters found in URL, Used for fetching documents,Gives Maximum URL strength, Ok to cache, Shouldn't change the server. This method should never be used when dealing with sensitive data

Post

Parameters found in Body,Used for updating data,No maximum length, Not ok to cache, Ok to change the server. POST is a little safer than GET because the parameters are not stored in browser history or in web server logs.

Templates and Databases

What is an HTML Template?

A template library is a library to build complicated strings mostly in html.
HTML templates allow programmers to automatically escape any output as well as practice template inheritance which defines a base template in which child templates can override. HTML templates keep the presentation code separated from the application logic. These templates are linked to a library that allow programmers to build strings and allow abstraction, this will let the programmer to reuse code and avoid repetition. Templating makes the code more readable and secure.

Jinja2

A template built into google app engine. It is an extremely useful technique when it comes to code reuse. Templates allow you to update only areas that change, preventing duplication of static areas.

What is Google App Engine?

Google App Engine, referred to as GAE or App Engine is a platform as a service cloud computing platform for developing and hosting web applications in Google-managed data centers.

The importance of Databases and Validating Input

Is a program that stores and retrieves structured data.Databases are a group of machines working together to store and retrieve data.
Types of Databases:

The importance of Validating Input

Programs and applications could be very vulnerable if there is not any type of input validation. If this isn't done programs and apps can crash and creates an opportunity to malicious user manipulation or database corruption
Validating Input could help avoid major problems, when input fields in web applications are compromised as targets to commit inappropriate activities.
There are many other ways programs could be compromised without validation input. Design could be corrupted or even the URL could be modified as a way to block the correct information to load before it gets back to the server. Appropriate coding could protect hidden fields that often contain confidential information.

Users oftenly make errors and Input validation will help inform the user of mistakes when filling the form, alerts will help highlight the mistake and avoid user frustration.This process gives instant feedback about the information entered is valid or not. Users will not have to submit the information to find out if any mistakes occurred, with input validation users can correct errors instantly.

JavaScript

Javascript is a programming language frequently used to make websites responsive and functional. Front End Developing gathers javascript as a way to make applications or websites interactive where it reacts to events that occur in the page or web application. Not only Javascript presents itself in front end developing but as a back end language associated with the node framework to handle web page requests, data transfers, and general server tasks. For more information please visit this site:

https://www.w3.org/community/webed/wiki/What_can_you_do_with_JavaScript

For example:

Javascript will determine the behavior of web applications and pages. This simple exercise will show how to create a button to display date and time and the process would be:

js.jpg

What can Javascript do?

Usually APIs , as in Application Programming Interfaces are built for web browsers, this would mean the server doesn't need to communicate with users but instead with servers. This would allow to increase dynamic features and avoid repetition. For some javascript basics concepts please click here.

https://developer.mozilla.org/en-US/Learn/Getting_started_with_the_web/JavaScript_basics)

For this site, you will notice the date being displayed at the top of the page, that is being done using JavaScript. Also, this site uses cookies, with that, if you are a returning visitor, you will get a welcome back message

Also here are some examples of what you can do using JavaScript:

You can find out the resolution on the visitor's computer, this is particularly useful when dealing with adaptable sites.

Your resolution is:

You can also find out if Java is enabled:

Are cookies enabled on your browser?:

Also, you can use JavaScript to find out what browser is your client using, this is good for cases in which you need your page's code to change depending on the used browser:

To test the Welcome back feature, click on the following button to set the cookie back to 0, after doing that, you should refresh your browser, now the Welcome back!! message is gone:

JQuery

Javascript can also work with libraries that will help build sites and applications more quickly, this is usually known as JQuery.

http://www.tutorialspoint.com/jquery/jquery-overview.htm

With small amount of code JQuery helps to improve performance and compatibility with web browsers as well as it could be extended to apply customized behavior.
The way to include JQuery is using the mark-up language as follows:



JQuery library uses the $ variable as a shortcut. JQuery can use selectors and instance methods. The selector engine is called Sizzle, this would mean all selectors could be applied to the DOM.

Recursion in Javascript

Although this a programming concept, in Javascript recursion is when a function calls itself, and it is defined by a recursive case where it is proven to be true. This is a great way to integrate a way of problem solving.

think
inspire
build