Introduction to web development

Abhishek Yadav

@h6165

Topics covered

  • The Internet and http
  • Building Websites:
    • static
    • web-applications
    • database backed web applications
  • CSS
  • Javascript

The internet and http

The internet and http

What happens when we type www.google.com in browser

  • A request is sent to Google's server
  • The server sends a response
  • The browser displays the response

The internet and http

What happens when we type www.google.com in browser

server

browser

request

response

client-server communication, where client = browser

The internet and http

The client and server must agree on a language for communication

That language here is http

server

browser

http request

http response

The internet and http

GET http://www.google.co.in/

HTTP request example

  • Contains some headers too
  • Open chrome inspect and check network tab 

The internet and http

HTTP response example

The internet and http

HTTP response example

The response wraps up a lot of data

It could be html, css or javascript files, or a combination

server

browser

http request

http response

(html,css, js)

The internet and http

server

browser

http request

http response

(html,css, js)

browser's job send request:
  formulate the 'GET google.com'
display response:
  render the html, css, execute javascript
server's job  - parse the request,
- find the correct files/process to handle the request 
- create the response as html+css+js, and send

send request

display response

interpret request

generate response

The internet and http

server

browser

http request

http response

(html,css, js)

send request

display response

interpret request

generate response

Ruby on Rails

we are here

Building websites

Building websites

  • Write HTML, CSS and JS
  • Write server-side code
  • Install the website on a server
  • Register a domain-name (and setup DNS)
  • ??
  • Profit 

Building websites

  • Have only Html/CSS/JS
  • Have no server side code

Static websites

Building websites

Static websites

<html>
  <head>
    <title> HI </title>
  </head>
  <body>
    <h1> Hello World </h1>
  </body>
</html>
  • Save this in a file: hello.html
  • Open the file in browser

Building websites

Static websites: add some css

<html>
  <head>
    <title> HI </title>
    <style type="text/css">
      .my-style{
        color: red;
      }
    </style>
  </head>
  <body>
    <h1 class='my-style'> Hello World </h1>
  </body>
</html>

Building websites

Static websites: add some javascript

<html>
  <head>
    <title> HI </title>
    <style type="text/css">
      .my-style{
        color: red;
      }
    </style>
  </head>
  <body>
    <h1 class='my-style'> Hello World </h1>

    <script type="text/javascript">
      alert("Hello World");
    </script>

  </body>
</html>

Building websites

Serve it locally

ruby -run -e httpd . -p 8000
  • Run the command in the same directory
  • Open localhost:8000 in browser

Building websites

Web applications

  • Web-application: A website that does some processing

 

  • Example: google.com:
    • input a search term
    • perform internet search
    • give top results

 

Building websites

Web applications

  • Web-application: A website that does some processing

 

  • Example: gmail.com
    • Store all my incoming emails
    • Display them when I login

 

  • Static sites are not enough for that

Building websites

Web applications

  • A Web-application: may have some kind of attached storage. Like a database

 

  • Rails helps us build such web applications

Thanks

ceg0316-web-dev-intro

By Abhishek Yadav

ceg0316-web-dev-intro

  • 972