Basic Internet programming Formalities. Hands-on tools for internet programming



Similar documents
Network: several computers who can communicate. bus. Main example: Ethernet (1980 today: coaxial cable, twisted pair, 10Mb 1000Gb).

Computer Networks. Lecture 7: Application layer: FTP and HTTP. Marcin Bieńkowski. Institute of Computer Science University of Wrocław

Detailed Table of Contents

Chapter 4: Networking and the Internet

Lecture 2. Internet: who talks with whom?

Oct 15, Internet : the vast collection of interconnected networks that all use the TCP/IP protocols

Web. Services. Web Technologies. Today. Web. Technologies. Internet WWW. Protocols TCP/IP HTTP. Apache. Next Time. Lecture # Apache.

M3-R3: INTERNET AND WEB DESIGN

Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence

Connecting with Computer Science, 2e. Chapter 5 The Internet

Introduction to LAN/WAN. Application Layer (Part II)

1 Introduction: Network Applications

Basic Networking Concepts. 1. Introduction 2. Protocols 3. Protocol Layers 4. Network Interconnection/Internet

Introduction to Web Technology. Content of the course. What is the Internet? Diana Inkpen

Web Programming. Robert M. Dondero, Ph.D. Princeton University

3.1 TELECOMMUNICATIONS, NETWORKS AND THE INTERNET

Web Application Development

Overview of TCP/IP. TCP/IP and Internet

The TCP/IP Reference Model

CITS1231 Web Technologies. Client, Server, the Internet, and the Web

IP addresses. IP addresses: IPv4: 32 bits:

E-Commerce Security. The Client-Side Vulnerabilities. Securing the Data Transaction LECTURE 7 (SECURITY)

EXPLORER. TFT Filter CONFIGURATION

Data Communication I

Evolution of the WWW. Communication in the WWW. WWW, HTML, URL and HTTP. HTTP Abstract Message Format. The Client/Server model is used:

Networking Basics and Network Security

WWW. World Wide Web Aka The Internet. dr. C. P. J. Koymans. Informatics Institute Universiteit van Amsterdam. November 30, 2007

How To Design The Web And The Internet

CHAPTER 9: THE EVOLVING INTERNET

Chapter 7: Computer Networks, the Internet, and the World Wide Web. Invitation to Computer Science, C++ Version, Third Edition

CSE 3461 / 5461: Computer Networking & Internet Technologies


Unit- I Introduction and Web Development Strategies

The Internet. Chapter 10. Learning Objectives. Chapter Outline. After reading this chapter, you should be able to:

TCP/IP Protocol Suite. Marshal Miller Chris Chase

HP Education Services

Chapter 9. The Internet: Information Technology Infrastructure for the Digital Firm. Essentials of Management Information Systems

CISC 1600 Introduction to Multi-media Computing

10CS73:Web Programming

Domain Name System (DNS)

SWE 444 Internet and Web Application Development. Introduction to Web Technology. Dr. Ahmed Youssef. Internet

The OSI and TCP/IP Models. Lesson 2

Fachgebiet Technische Informatik, Joachim Zumbrägel

Internet Technologies_1. Doc. Ing. František Huňka, CSc.

Protocolo HTTP. Web and HTTP. HTTP overview. HTTP overview

Lecture 28: Internet Protocols

HTTP. Internet Engineering. Fall Bahador Bakhshi CE & IT Department, Amirkabir University of Technology

Course Overview: Learn the essential skills needed to set up, configure, support, and troubleshoot your TCP/IP-based network.

Introduction to Network Security Lab 1 - Wireshark

Ethernet. Ethernet. Network Devices

Lesson Overview. Getting Started. The Internet WWW

1. When will an IP process drop a datagram? 2. When will an IP process fragment a datagram? 3. When will a TCP process drop a segment?

Network Technologies

LabVIEW Internet Toolkit User Guide

Computer Networks 1 (Mạng Máy Tính 1) Lectured by: Dr. Phạm Trần Vũ MEng. Nguyễn CaoĐạt

1. The Web: HTTP; file transfer: FTP; remote login: Telnet; Network News: NNTP; SMTP.

Kick starting science...

lesson 19 Internet Basics

Introduction to Dreamweaver

Terminology. Internet Addressing System

Web application development landscape: technologies and models

Understanding TCP/IP. Introduction. What is an Architectural Model? APPENDIX

Introduction to Internet and WWW

Chapter 5. Data Communication And Internet Technology

Data Communication Networks and Converged Networks

Fundamentals of the Internet 2009/ Explain meaning the following networking terminologies:

Computer Networks/DV2 Lab

architecture: what the pieces are and how they fit together names and addresses: what's your name and number?

7 Why Use Perl for CGI?

The World Wide Web: History

CMSI 182 Intro to Computer Science. Week 13 Tuesday B.J. Johnson Doolan :25 10:40

Computer Networks CS321

Lecture 1. Lecture Overview. Intro to Networking. Intro to Networking. Motivation behind Networking. Computer / Data Networks

Communications and Networking

First Workshop on Open Source and Internet Technology for Scientific Environment: with case studies from Environmental Monitoring

Protocols. Packets. What's in an IP packet

CA106 Web Design. Dr. Dónal Fitzpatrick, School of Computing Room l2.48, Extension 8929,

Web Foundations Series Internet Business Associate

Computer Networks. A Top-Down Approach. Behrouz A. Forouzan. and. Firouz Mosharraf. \Connect Mc \ Learn. Hill

World Wide Web. Before WWW

CPS221 Lecture: Layered Network Architecture

Web Development. How the Web Works 3/3/2015. Clients / Server

Core Syllabus. Version 2.6 C OPERATE KNOWLEDGE AREA: OPERATION AND SUPPORT OF INFORMATION SYSTEMS. June 2006

Internet Technologies 4-http. F. Ricci 2010/2011

Overview of Computer Networks

Note! The problem set consists of two parts: Part I: The problem specifications pages Part II: The answer pages

Introduction to Computer Networks

Application layer Web 2.0

Internet Concepts. What is a Network?

IT3503 Web Development Techniques (Optional)

CTIS 256 Web Technologies II. Week # 1 Serkan GENÇ

Class and Office Hours. Course Requirements. Concepts to Learn. CMPUT 499: Introduction

Introduction to Web Technologies

UPPER LAYER SWITCHING

Basic Network Configuration

Transcription:

Welcome Basic Internet programming Formalities Hands-on tools for internet programming DD1335 (gruint10) Serafim Dahl serafim@nada.kth.se DD1335 (Lecture 1) Basic Internet Programming Spring 2010 1 / 23

Welcome What is this course about? Providing tools for hands-on internet programming There are only 9 lectures do show up, please! DD1335 (Lecture 1) Basic Internet Programming Spring 2010 2 / 23

Lectures are about Welcome Basics on the internet Protocols, addresses, hosts HTML, markup Internet connections, servers (Java) Server-Side Internet Programming CGI, Servlets (Java) Java Server Pages (JSP) and other scripting (ASP) 3-tier systems: JDBC (Java-SQL) Client-Side Internet Programming Javascript CSS Applets (Java) and maybe some other technique(s) Other Issues XML, Web Services, Semantic Web PHP and other scripting languages DD1335 (Lecture 1) Basic Internet Programming Spring 2010 3 / 23

Labs and Project Welcome Labs Principles: wide, not deep. A lot to do, but all easy, mostly with a template to start from Net and programming basics (Lab1), Net connections (Lab 2) Server side (Lab 3, Lab 4), Client side (Lab 5) Projects You define your projects. You form the project groups. Send me an email with a 5-line project idea and names of group members The project must be an interactive WWW system. Simple HTML pages are not enough Required: server-side programming (e.g. shopping baskets, booking systems, resource allocation) Required: JavaScript (e.g. client-side checking of user input, etc) Not much technical complexity, but a high editorial quality (good layout, including CSS), making the best of the Internet medium Make goups of 3 to 6 people DD1335 (Lecture 1) Basic Internet Programming Spring 2010 4 / 23

Welcome Administration Course codes: gruint10 Register on the course (for admin of course element results): Log in to some computer Start a web browser and connect to https://rapp.nada.kth.se/rapp and login Activate the course instance gruint10 To get info apart from that on the web course join gruint10 DD1335 (Lecture 1) Basic Internet Programming Spring 2010 5 / 23

Network basics Introduction to the internet Content A little on: network concepts web concepts internet addresses sockets References: Harold: Java Network Programming Hall: Core Web Programming Deitel, et al: Internet and the World Wide Web How to Program Ince: Developing Distributed and E-Commerce Applications DD1335 (Lecture 1) Basic Internet Programming Spring 2010 6 / 23

Network basics Programming network applications Why network applications? Alongside the technical evolution, communication between application and also between parts of applications residing on different computer become more and more common Examples of asynchronously communicating applications: web browsers, e-mail, news. Some other examples: Distributed databases, sound, radio, video and internet telephony. Need for applications where the participants are aware of each others: Shared bulletin boards, whiteboards, shared word processors, control systems (eg. robots) and (not the least) games (like runescape and world of warcraft). There is support in the networks, where we will look closer on the internet. DD1335 (Lecture 1) Basic Internet Programming Spring 2010 7 / 23

Network basics Programming network applications Large amounts of internet sites Auctions, advertising, commerse, portals with collections of sites concerning business, music, film, software, info, reports of various kinds books, search engines, education,... Kinds of application programs E-mail News Web based databases Client-server, per-to-peer Telephone Video... DD1335 (Lecture 1) Basic Internet Programming Spring 2010 8 / 23

Network basics Networks A network is in this respect a collection of interconnected computers and/or other kinds of equipment Terminology: node, a machine that is connected to the network (computer, printer, bridge, vending machine,... ) host, a fully autonomous computer connected to the network address, each node has a unique address (a number of bytes) packet, modern networks are packet based, meaning that the information is broken down to and sent as small chunks, each chunk of information handled separately. protocol, rules, specifying how to perform communication DD1335 (Lecture 1) Basic Internet Programming Spring 2010 9 / 23

Network basics Internet Internet is the most know and most wide spread network. Designed to be robust (errors are unusual) First version 1969, ARPANET, designed by ARPA, a DoD unit. 1983 there were 562 computers on the ARPANET 1986 there were 5000 computers 1987 28000, 1989 100000, 1990 300000, 2009 1.67 billion (a rough estimate on June 30) DD1335 (Lecture 1) Basic Internet Programming Spring 2010 10 / 23

Layers Network basics A network is built as a set of layers Application (HTTP, FTP, Telnet) Transport (TCP, UDP,...) Network (IP,...) Logical connection Application (HTTP, FTP, Telnet) Transport (TCP, UDP,...) Network (IP,...) Physical layer (Ethernet, FDDI, LocalTalk, drivers,...) Application programmers work mainly in the upper layer Eventually in the transport layer (in distributed applications) Other layers are normally of no concern DD1335 (Lecture 1) Basic Internet Programming Spring 2010 11 / 23

Network basics IP, TCP, UDP IP, Internet Protocol the network layer protocol (the reason for the name Internet ) TCP, Transport Control Protocol a connection based protocol which insures a correct data exchange between two nodes UDP, User Datagram Protocol a protocol which allows the transmission of independant packets from one node to antoher with no guarantee concerning delivery or order of delivery DD1335 (Lecture 1) Basic Internet Programming Spring 2010 12 / 23

IP address, DNS Network basics IP address. Each machine is identified by a unique 4-byte number Many computers have a fixed number, others get a dynamically assigned number at connection time 1995 the use of the internet exploded and as there are not enough 4-byte numbers (you get a lousy 2 32 = 4294967296 addresses), IPv6 was created giving 2 128 = 340282366920938463463374607431768211456 adresses. Ought to be enough for some time... DNS, Domain Name Server IP-addresses are hard to remember and thus DNS was created to allow symbolic (textuel) names that are looked up and translated to IP-addresses Eg.: www.nada.kth.se is translated to 130.237.225.40 DD1335 (Lecture 1) Basic Internet Programming Spring 2010 13 / 23

Ports Network basics Every computer with an IP-address has 65536 logical ports for communication over the internet. Some are reserved ports number 0-1023 are reserved (for what and by whome may be seen in the file /etc/services (on UNIX/Linux) eg. the following: port 7 for echo port 20-21 for ftp port 23 for telnet port 25 for smtp (send e-mail) port 80 for http (web server) port 110 for POP3 (read e-mail) DD1335 (Lecture 1) Basic Internet Programming Spring 2010 14 / 23

Intranet Network basics There are other networks with the same structure. Local networks are usually called intranet. They may link to the internet with special bridges. Sometimes the bridge uses filtering devices to restrict the data traffic between the networks. internet 212.223.44.65 192.168.0.1 intranet 192.168.0.199 51 52 53 54 bridge switch 192.168.0.2 wireless connection point DD1335 (Lecture 1) Basic Internet Programming Spring 2010 15 / 23

The client-server model Network basics Today, the client-server model is the prevailing when constructing distributed, cooperating application programs. a client asks a server for a service (as eg. information about the time) a server accomplishes the corresponding task and delivers the service (like sending time info, sending a file from its local file system, eg. a web page) both following a protocol that enables asking for and providing services over the network DD1335 (Lecture 1) Basic Internet Programming Spring 2010 16 / 23

Network basics The client-server model... Not all kinds of application programs fit into the client-server model. Some act simultaneously as both client and server and, if both ends of a communication do, that communication is called peer-to-peer. Eg: a shared editor a game (runescape, world of warcraft,... ) a telephone connection DD1335 (Lecture 1) Basic Internet Programming Spring 2010 17 / 23

Network basics RFC (Request for comments) Some internet standards have been developed publicly already from the prototype stage Their protcols are publicly accessible on the internet These protocols fit into the following categories: Mandatory each host must implement them, eg. IP Recommended that ought to be implemented, eg. TCP, SMTP, UDP, TelNet,... Optional, like MIME Restricted, that are neccessary only in special cases Not recommended, that should not be implemented Historical (obsolete, deprecated) Informative, that may have been constructed outside the RFC but still are useful without delivering an established protocol DD1335 (Lecture 1) Basic Internet Programming Spring 2010 18 / 23

Network basics HTTP, HTML, XHTML, MIME HTTP, HyperText Transfer Protocol, a standard protocol for the communication between a web server and a web client (web browser) HTML, HyperText Markup Language the first generation standard language for the contruction of web pages, a subset to SGML with extra error tolerance XHTML, extensible HTML, second generation language for the contruction of web pages, HTML as a strict subset to XML MIME, Multipurpose Internet Mail Extension an open standard that determines how multimedia objects are to be transmitted by e-mail DD1335 (Lecture 1) Basic Internet Programming Spring 2010 19 / 23

URL, URI, URN Network basics URI, Uniform Resource Identifier define how to uniquely identify a resource on the internet is divided into the subgroups URL and URN URL, Uniform Resource Locator a reference for an address on the internet looks like: protocol://host[:port]/path/file[#section] eg: http://www.csc.kth.se:8080/dd1335/gruint09/labs/#lab2 URN, Universal Resource Name a pointer to a resource without specifying its exact position, eg. the search for a certain kind of documents may deliver the set of URLs (the positions of all the documents) DD1335 (Lecture 1) Basic Internet Programming Spring 2010 20 / 23

SGML & HTML Network basics SGML, Standard Generalized Markup Language Was created in the 1970s Describes the sematics of a text rather than its presentation HTML, HyperText Markup Language Was created from SGML early in the 1990s Describes how to present a text rather than its semantics Is lingua franca for presentation of hypertext on the web DD1335 (Lecture 1) Basic Internet Programming Spring 2010 21 / 23

HTTP Network basics HTTP, HyperText Transport Protocol a standard describing how a web client and a web server should exchange data uses MIME to decode data uses TCP/IP for the transmission of data The client sends a message once the communication has been established eg. GET /index.html HTTP/1.1 the web server responds by sending the file index.html to the client DD1335 (Lecture 1) Basic Internet Programming Spring 2010 22 / 23

MIME Network basics MIME, Multipurpose Internet Mail Extension an open standard for how to send multimedia objects by e-mail denotes the type of data that is transmitted, eg. text/plain, text/html news application/postscript, application/pdf zip image/gif, image/jpeg, image/tiff, image/x-bitmap audio/basic, audio/mpeg video/mpeg, video/quicktime, video/x-msvideo DD1335 (Lecture 1) Basic Internet Programming Spring 2010 23 / 23