Networked Programs. Getting Material from the Web! Building a Web Browser! (OK, a Very Primitive One )

Size: px
Start display at page:

Download "Networked Programs. Getting Material from the Web! Building a Web Browser! (OK, a Very Primitive One )"

Transcription

1 Networked Programs Getting Material from the Web! Building a Web Browser! (OK, a Very Primitive One ) 43

2 So far we ve dealt with files. We ve read data from them, but it s possible to write data to them too. Servers across the internet are similar to files, except that in addition to getting data from them you also send them requests which may result in data. You do this with sockets. If you write something to a socket, it is sent to the application at the other end of the socket. If you read from the socket, you are given the data that the other application has sent. 44

3 The programs on both ends of this socket need to communicate in a way both understand, so one program isn t waiting in vain for the other to send something. The protocol that the web uses for this is called HTTP: Hyper-Text Transport Protocol. There are many elements to this protocol. We ll be interested in only a few. 45

4 Client Server Internet 46

5 Internet HTML AJAX JavaScript CSS HTTP Request Response GET socket POST Python Templates Data Store memcache 47

6 Network Architecture... 48

7 Transport Control Protocol (TCP) Built on top of IP (Internet Protocol) Assumes IP might lose some data - stores and retransmits data if it seems to be lost Handles flow control using a transmit window Provides a nice reliable pipe Source: org/wiki/internet_protocol_suite 49

8 TCP Connections / Sockets In computer networking, an Internet socket or network socket is an endpoint of a bidirectional inter-process communication flow across an Internet Protocol-based computer network, such as the Internet. Process Internet Socket Process 50

9 TCP Port Numbers A port is an application-specific or process-specific software communications endpoint It allows multiple networked applications to coexist on the same server. There is a list of well-known TCP port numbers 51

10 Incoming 25 Login Web Server blah blah blah blah Personal Mail Box Clipart: Please connect me to the web server (port 80) on 52

11 Common TCP Ports 53

12 Sometimes we see the port number in the URL if the web server is running on a non-standard port. 54

13 Sockets in Python Python has built-in support for TCP Sockets import socket mysock = socket.socket(socket.af_inet, socket.sock_stream) mysock.connect( (' 80) ) Host Port 55

14 Application Protocol Since TCP (and Python) gives us a reliable socket, what do we want to do with the socket? What problem do we want to solve? Application Protocols Mail World Wide Web Source: org/wiki/internet_protocol_suite 57

15 HTTP - Hypertext Transport Protocol The dominant Application Layer Protocol on the Internet Invented for the Web - to Retrieve HTML, Images, Documents, etc Extended to be data in addition to documents - RSS, Web Services, etc.. Basic Concept - Make a Connection - Request a document - Retrieve the Document - Close the Connection 58

16 HTTP The HyperText Transport Protocol is the set of rules to allow browsers to retrieve web documents from servers over the Internet 59

17 What is a Protocol? A set of rules that all parties follow so we can predict each other s behavior And not bump into each other On two-way roads in USA, drive on the right-hand side of the road On two-way roads in the UK, drive on the left-hand side of the road 60

18 protocol host document 1:17-2:19 Robert Cailliau CERN 61

19 Getting Data From The Server Each time the user clicks on an anchor tag with an href= value to switch to a new page, the browser makes a connection to the web server and issues a GET request - to GET the content of the page at the specified URL The server returns the HTML document to the browser, which formats and displays the document to the user For example, let s take a look at the source of ai.isi.edu 62

20 Making an HTTP request Connect to the server like a hand shake Request a document (or the default document) GET GET GET 63

21 64

22 Browser 65

23 Web Server 80 Browser 66

24 Web Server 80 GET Browser 67

25 GET Web Server 80 <h1>the Second Page</h1> <p>if you like, you can switch back to the <a href="page1. htm">first Page</a>.</p> Browser 68

26 GET Web Server 80 <h1>the Second Page</h1> <p>if you like, you can switch back to the <a href="page1. htm">first Page</a>.</p> Browser 69

27 Internet Standards The standards for all of the Internet protocols (inner workings) are developed by an organization Internet Engineering Task Force (IETF) Standards are called RFCs - Request for Comments Source: 70

28 71

29 72

30 Hacking HTTP Web Server HTTP Request $ telnet 80 Trying Connected to Escape character is '^]'. GET HTTP/1.0 Browser <h1>the First Page</h1> <p>if you like, you can switch to the <a href=" Page</a>. </p> % telnet 80 HTTP Response Port 80 is the non-encrypted HTTP port GET 73 HTTP/1.0

31 $ telnet 80 Trying Connected to character is '^]'. GET HTTP/1.0 <h1>the First Page</h1> <p>if you like, you can switch to the <a href=" Page</a>.</p> Connection closed by foreign host. 74

32 More Elaborate Page % telnet 80 GET 75

33 76

34 A browser debugger reveals detail... Most browsers have a developer mode so you can watch it in action It can help explore the HTTP request-response cycle Some simple-looking pages involve lots of requests: HTML page(s) Image files CSS Style Sheets JavaScript files 77

35 Let s Write a Web Browser! A very, very simple one 78

36 An HTTP Request in Python import socket mysock = socket.socket(socket.af_inet, socket.sock_stream) mysock.connect((' 80)) mysock.send('get HTTP/1.0\n\n') while True: data = mysock.recv(512) if ( len(data) < 1 ) : break print data mysock.close() Let s try this out 79

37 HTTP/ OK Date: Sun, 14 Mar :52:41 GMT Server: Apache Last-Modified: Tue, 29 Dec :31:22 GMT ETag: "143c1b33-a7-4b395bea" Accept-Ranges: bytes Content-Length: 167 Connection: close Content-Type: text/plain But soft what light through yonder window breaks It is the east and Juliet is the sun Arise fair sun and kill the envious moon Who is already sick and pale with grief HTTP Header while True: data = mysock.recv(512) if ( len(data) < 1 ) : break print data HTTP Body 80

38 Making HTTP Easier With urllib 81

39 Using urllib in Python Since HTTP is so common, we have a library that does all the socket work for us and makes web pages look like a file import urllib fhand = urllib.urlopen(' for line in fhand: print line.strip() urllib1.py Let s try *that* out! 82

40 import urllib fhand = urllib.urlopen(' for line in fhand: print line.strip() But soft what light through yonder window breaks It is the east and Juliet is the sun Arise fair sun and kill the envious moon Who is already sick and pale with grief urllib1.py 83

41 Like a file... import urllib fhand = urllib.urlopen(' counts = dict() for line in fhand: words = line.split() for word in words: counts[word] = counts.get(word,0) + 1 print counts Run this code 84 urlwords.py

42 Reading Web Pages import urllib fhand = urllib.urlopen(' for line in fhand: print line.strip() <h1>the First Page</h1> <p> If you like, you can switch to the <a href=" Page</a>. </p> urllib2.py 85

43 Going from one page to another... import urllib fhand = urllib.urlopen(' for line in fhand: print line.strip() <h1>the First Page</h1> <p> If you like, you can switch to the <a href=" page2.htm">second Page</a>. </p> 86

44 Parsing HTML (a.k.a. Web Scraping) 87

45 What is Web Scraping? When a program or script pretends to be a browser and retrieves web pages, looks at those web pages, extracts information, and then looks at more web pages. Search engines scrape web pages - we call this spidering the web or web crawling

46 Google import urllib fhand = urllib.urlopen(' for line in fhand: print line.strip() 89

47 Why Scrape? Pull data - particularly social data - who links to who? Get your own data back out of some system that has no export capability Monitor a site for new information Spider the web to make a database for a search engine 90

48 Scraping Web Pages There is some controversy about web page scraping and some sites are a bit snippy about it. Google: facebook scraping block Republishing copyrighted information is not allowed Violating terms of service is not allowed 91

49 92

50 The Easy Way - Beautiful Soup You could do string searches the hard way Or use the free software called BeautifulSoup from www. crummy.com Place the BeautifulSoup.py file in the same folder as your Python code

51 import urllib from BeautifulSoup import * url = raw_input('enter - ') html = urllib.urlopen(url).read() soup = BeautifulSoup(html) # Retrieve a list of the anchor tags # Each tag is like a dictionary of HTML attributes tags = soup('a') for tag in tags: print tag.get('href', None) urllinks.py 94

52 html = urllib.urlopen(url).read() soup = BeautifulSoup(html) tags = soup('a') for tag in tags: print tag.get('href', None) <h1>the First Page</h1> <p>if you like, you can switch to the<a href=" >Second Page</a>.</p> python urllinks.py Enter

53 Summary The TCP/IP gives us pipes / sockets between applications We designed application protocols to make use of these pipes HyperText Transport Protocol (HTTP) is a simple yet powerful protocol Python has good support for sockets, HTTP, and HTML parsing 96

Networked Programs. Chapter 12. Python for Informatics: Exploring Information

Networked Programs. Chapter 12. Python for Informatics: Exploring Information Networked Programs Chapter 12 Python for Informatics: Exploring Information www.py4inf.com Unless otherwise noted, the content of this course material is licensed under a Creative Commons Attribution 3.0

More information

Python for Informatics

Python for Informatics Python for Informatics Exploring Information Version 0.0.6 Charles Severance Chapter 12 Networked programs While many of the examples in this book have focused on reading files and looking for data in

More information

Network Programming in Python. What is Web Scraping? Server GET HTML

Network Programming in Python. What is Web Scraping? Server GET HTML Network Programming in Python Charles Severance www.dr-chuck.com Unless otherwise noted, the content of this course material is licensed under a Creative Commons Attribution 3.0 License. http://creativecommons.org/licenses/by/3.0/.

More information

Chapter 4 Sending Data to Your Application

Chapter 4 Sending Data to Your Application Chapter 4 Sending Data to Your Application Charles Severance and Jim Eng csev@umich.edu jimeng@umich.edu Textbook: Using Google App Engine, Charles Severance Unless otherwise noted, the content of this

More information

Python for Everybody. Exploring Data Using Python 3. Charles R. Severance

Python for Everybody. Exploring Data Using Python 3. Charles R. Severance Python for Everybody Exploring Data Using Python 3 Charles R. Severance 8.14. DEBUGGING 103 In this example you could also use the built-in function sorted, which returns a new, sorted list and leaves

More information

Uniform Resource Locators (URL)

Uniform Resource Locators (URL) The World Wide Web Web Web site consists of simply of pages of text and images A web pages are render by a web browser Retrieving a webpage online: Client open a web browser on the local machine The web

More information

Web Technology. COMP476 Networked Computer Systems. Hypertext and Hypermedia. Document Representation. Client-Server Paradigm.

Web Technology. COMP476 Networked Computer Systems. Hypertext and Hypermedia. Document Representation. Client-Server Paradigm. Web Technology COMP476 Networked Computer Systems - Paradigm The method of interaction used when two application programs communicate over a network. A server application waits at a known address and a

More information

Using Development Tools to Examine Webpages

Using Development Tools to Examine Webpages Chapter 9 Using Development Tools to Examine Webpages Skills you will learn: For this tutorial, we will use the developer tools in Firefox. However, these are quite similar to the developer tools found

More information

INTERNET ENGINEERING. HTTP Protocol. Sadegh Aliakbary

INTERNET ENGINEERING. HTTP Protocol. Sadegh Aliakbary INTERNET ENGINEERING HTTP Protocol Sadegh Aliakbary Agenda HTTP Protocol HTTP Methods HTTP Request and Response State in HTTP Internet Engineering 2 HTTP HTTP Hyper-Text Transfer Protocol (HTTP) The fundamental

More information

Using AJAX to Easily Integrate Rich Media Elements

Using AJAX to Easily Integrate Rich Media Elements 505 Using AJAX to Easily Integrate Rich Media Elements James Monroe Course Developer, WWW.eLearningGuild.com The Problem: How to string together several rich media elements (images, Flash movies, video,

More information

Hypertext Markup Language HTML Chapter 2. Supporting Material for Using Google App Engine - O Reilly and Associates

Hypertext Markup Language HTML Chapter 2. Supporting Material for Using Google App Engine - O Reilly and Associates Hypertext Markup Language HTML Chapter 2 Supporting Material for Using Google App Engine - O Reilly and Associates www.appenginelearn.com Unless otherwise noted, the content of this course material is

More information

Web Client And Server

Web Client And Server Web Client And Server Project Part A Overview In this part of the project, you and your partner will build a simple web client and a succession of servers to which it can connect. The goal is to slowly

More information

Web Engineering (CC 552)

Web Engineering (CC 552) Web Engineering (CC 552) Introduction Dr. Mohamed Magdy mohamedmagdy@gmail.com Room 405 (CCIT) Course Goals n A general understanding of the fundamentals of the Internet programming n Knowledge and experience

More information

1.1 A Brief Intro to the Internet

1.1 A Brief Intro to the Internet 1.1 A Brief Intro to the Internet - Origins - ARPAnet - late 1960s and early 1970s - Network reliability - For ARPA-funded research organizations - BITnet, CSnet - late 1970s & early 1980s - email and

More information

1.1 A Brief Intro to the Internet

1.1 A Brief Intro to the Internet 1.1 A Brief Intro to the Internet - Origins - ARPAnet - late 1960s and early 1970s - Network reliability - For ARPA-funded research organizations - BITnet, CSnet - late 1970s & early 1980s - email and

More information

1.1 A Brief Intro to the Internet

1.1 A Brief Intro to the Internet 1.1 A Brief Intro to the Internet - Origins - ARPAnet - late 1960s and early 1970s - Network reliability - For ARPA-funded research organizations - BITnet, CSnet - late 1970s & early 1980s - email and

More information

The World Wide Web. Internet

The World Wide Web. Internet The World Wide Web Relies on the Internet: LAN (Local Area Network) connected via e.g., Ethernet (physical address: 00-B0-D0-3E-51-BC) IP (Internet Protocol) for bridging separate physical networks (IP

More information

CS 43: Computer Networks. Layering & HTTP September 7, 2018

CS 43: Computer Networks. Layering & HTTP September 7, 2018 CS 43: Computer Networks Layering & HTTP September 7, 2018 Last Class: Five-layer Internet Model Application: the application (e.g., the Web, Email) Transport: end-to-end connections, reliability Network:

More information

Project 1: Web Client and Server

Project 1: Web Client and Server Project 1: Web Client and Server Overview In this part of the project, your group will build a simple web client and a succession of servers to which it can connect. In addition you, will learn how to

More information

Pemrograman Jaringan Web Client Access PTIIK

Pemrograman Jaringan Web Client Access PTIIK Pemrograman Jaringan Web Client Access PTIIK - 2012 In This Chapter You'll learn how to : Download web pages Authenticate to a remote HTTP server Submit form data Handle errors Communicate with protocols

More information

Notes beforehand... For more details: See the (online) presentation program.

Notes beforehand... For more details: See the (online) presentation program. Notes beforehand... Notes beforehand... For more details: See the (online) presentation program. Topical overview: main arcs fundamental subjects advanced subject WTRs Lecture: 2 3 4 5 6 7 8 Today: the

More information

= a hypertext system which is accessible via internet

= a hypertext system which is accessible via internet 10. The World Wide Web (WWW) = a hypertext system which is accessible via internet (WWW is only one sort of using the internet others are e-mail, ftp, telnet, internet telephone... ) Hypertext: Pages of

More information

An Introduction to Web Scraping with Python and DataCamp

An Introduction to Web Scraping with Python and DataCamp An Introduction to Web Scraping with Python and DataCamp Olga Scrivner, Research Scientist, CNS, CEWIT WIM, February 23, 2018 0 Objectives Materials: DataCamp.com Review: Importing files Accessing Web

More information

C22: Browser & Web Server Communication

C22: Browser & Web Server Communication CISC 3120 C22: Browser & Web Server Communication Hui Chen Department of Computer & Information Science CUNY Brooklyn College 11/01/2017 CUNY Brooklyn College 1 Web Application Architecture Client apps

More information

COSC 2206 Internet Tools. The HTTP Protocol

COSC 2206 Internet Tools. The HTTP Protocol COSC 2206 Internet Tools The HTTP Protocol http://www.w3.org/protocols/ What is TCP/IP? TCP: Transmission Control Protocol IP: Internet Protocol These network protocols provide a standard method for sending

More information

Unit 4 The Web. Computer Concepts Unit Contents. 4 Web Overview. 4 Section A: Web Basics. 4 Evolution

Unit 4 The Web. Computer Concepts Unit Contents. 4 Web Overview. 4 Section A: Web Basics. 4 Evolution Unit 4 The Web Computer Concepts 2016 ENHANCED EDITION 4 Unit Contents Section A: Web Basics Section B: Browsers Section C: HTML Section D: HTTP Section E: Search Engines 2 4 Section A: Web Basics 4 Web

More information

How the Web Works. Chapter 1. Modified by Marissa Schmidt Pearson

How the Web Works. Chapter 1. Modified by Marissa Schmidt Pearson How the Web Works Chapter 1 Modified by Marissa Schmidt 2015 Pearson Fundamentals ofhttp://www.funwebdev.com Web Development Objectives 1 Definitions and History 2 Internet Protocols 3 Client-Server Model

More information

Produced by. Mobile Application Development. Higher Diploma in Science in Computer Science. Eamonn de Leastar

Produced by. Mobile Application Development. Higher Diploma in Science in Computer Science. Eamonn de Leastar Mobile Application Development Higher Diploma in Science in Computer Science Produced by Eamonn de Leastar (edeleastar@wit.ie) Department of Computing, Maths & Physics Waterford Institute of Technology

More information

Figure 1 Properties panel, HTML mode

Figure 1 Properties panel, HTML mode How to add text Adding text to a document To add text to a Dreamweaver document, you can type text directly in the Document window, or you can cut and paste text. You modify text by using the Properties

More information

CSSE 460 Computer Networks Group Projects: Implement a Simple HTTP Web Proxy

CSSE 460 Computer Networks Group Projects: Implement a Simple HTTP Web Proxy CSSE 460 Computer Networks Group Projects: Implement a Simple HTTP Web Proxy Project Overview In this project, you will implement a simple web proxy that passes requests and data between a web client and

More information

OU Mashup V2. Display Page

OU Mashup V2. Display Page OU Mashup V2 OU Mashup v2 is the new iteration of OU Mashup. All instances of OU Mashup implemented in 2018 and onwards are v2. Its main advantages include: The ability to add multiple accounts per social

More information

3. WWW and HTTP. Fig.3.1 Architecture of WWW

3. WWW and HTTP. Fig.3.1 Architecture of WWW 3. WWW and HTTP The World Wide Web (WWW) is a repository of information linked together from points all over the world. The WWW has a unique combination of flexibility, portability, and user-friendly features

More information

DATABASE SYSTEMS. Database programming in a web environment. Database System Course,

DATABASE SYSTEMS. Database programming in a web environment. Database System Course, DATABASE SYSTEMS Database programming in a web environment Database System Course, 2016-2017 AGENDA FOR TODAY The final project Advanced Mysql Database programming Recap: DB servers in the web Web programming

More information

M3-R3: INTERNET AND WEB DESIGN

M3-R3: INTERNET AND WEB DESIGN M3-R3: INTERNET AND WEB DESIGN NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions. 2. PART ONE is to be answered in the TEAR-OFF ANSWER

More information

CIS192 Python Programming

CIS192 Python Programming CIS192 Python Programming HTTP Requests and HTML Parsing Raymond Yin University of Pennsylvania October 12, 2016 Raymond Yin (University of Pennsylvania) CIS 192 October 12, 2016 1 / 22 Outline 1 HTTP

More information

CSCI-1680 WWW Rodrigo Fonseca

CSCI-1680 WWW Rodrigo Fonseca CSCI-1680 WWW Rodrigo Fonseca Based partly on lecture notes by Sco2 Shenker and John Janno6 Administrivia HW3 out today Will cover HTTP, DNS, TCP TCP Milestone II coming up on Monday Make sure you sign

More information

The Internet. Tim Capes. November 7, 2011

The Internet. Tim Capes. November 7, 2011 The Internet Tim Capes November 7, 2011 What is the Internet? The internet is a global system consisting of millions if interconnected networks. These individual networks are anything from local (a Home

More information

CSCI-1680 WWW Rodrigo Fonseca

CSCI-1680 WWW Rodrigo Fonseca CSCI-1680 WWW Rodrigo Fonseca Based partly on lecture notes by Scott Shenker and John Jannotti Precursors 1945, Vannevar Bush, Memex: a device in which an individual stores all his books, records, and

More information

Lecture 4: Data Collection and Munging

Lecture 4: Data Collection and Munging Lecture 4: Data Collection and Munging Instructor: Outline 1 Data Collection and Scraping 2 Web Scraping basics In-Class Quizzes URL: http://m.socrative.com/ Room Name: 4f2bb99e Data Collection What you

More information

Build Site Create your site

Build Site Create your site Tutorial Activities Code o o Editor: Expression Web Focus : Base Layout, css drop down menu, jssor implementation o Facebook and twitter feeds, SEO o Submitting to a search engine Build Site Create your

More information

Computer Systems and Networks

Computer Systems and Networks University of the Pacific LECTURE 12: PYTHON BYTES, TCP/IP (LAB 08) Computer Systems and Networks Dr. Pallipuram (vpallipuramkrishnamani@pacific.edu) Today s Agenda Python exercises to simulate network

More information

Application Layer Introduction; HTTP; FTP

Application Layer Introduction; HTTP; FTP Application Layer Introduction; HTTP; FTP Tom Kelliher, CS 325 Feb. 4, 2011 1 Administrivia Announcements Assignment Read 2.4 2.6. From Last Time Packet-switched network characteristics; protocol layers

More information

Data Communication & Computer Networks MCQ S

Data Communication & Computer Networks MCQ S Data Communication & Computer Networks MCQ S 1. The translates internet domain and host names to IP address. a) domain name system b) routing information protocol c) network time protocol d) internet relay

More information

powered by Series of Tubes Senator Ted Stevens talking about the Net Neutrality Bill Jul 17, powered by

powered by Series of Tubes Senator Ted Stevens talking about the Net Neutrality Bill Jul 17, powered by Page 1 Lecture Notes 1: The Internet and World Wide Web CSE 190 M (Web Programming), Spring 2007 University of Washington Reading: Sebesta Ch. 1 sections 1.1-1.5.2, 1.7-1.8.5, 1.8.8, 1.9 What is the Internet?

More information

Caching. Caching Overview

Caching. Caching Overview Overview Responses to specific URLs cached in intermediate stores: Motivation: improve performance by reducing response time and network bandwidth. Ideally, subsequent request for the same URL should be

More information

CIS192 Python Programming

CIS192 Python Programming CIS192 Python Programming HTTP & HTML & JSON Harry Smith University of Pennsylvania November 1, 2017 Harry Smith (University of Pennsylvania) CIS 192 Lecture 10 November 1, 2017 1 / 22 Outline 1 HTTP Requests

More information

ECE697AA Lecture 2. Today s lecture

ECE697AA Lecture 2. Today s lecture ECE697AA Lecture 2 Application Layer: HTTP Tilman Wolf Department of Electrical and Computer Engineering 09/04/08 Protocol stack Application layer Client-server architecture Example protocol: HTTP Demo

More information

Applications & Application-Layer Protocols: The Web & HTTP

Applications & Application-Layer Protocols: The Web & HTTP CPSC 360 Network Programming Applications & Application-Layer Protocols: The Web & HTTP Michele Weigle Department of Computer Science Clemson University mweigle@cs.clemson.edu http://www.cs.clemson.edu/~mweigle/courses/cpsc360

More information

CS144 Notes: Web Standards

CS144 Notes: Web Standards CS144 Notes: Web Standards Basic interaction Example: http://www.youtube.com - Q: what is going on behind the scene? * Q: What entities are involved in this interaction? * Q: What is the role of each entity?

More information

How A Website Works. - Shobha

How A Website Works. - Shobha How A Website Works - Shobha Synopsis 1. 2. 3. 4. 5. 6. 7. 8. 9. What is World Wide Web? What makes web work? HTTP and Internet Protocols. URL s Client-Server model. Domain Name System. Web Browser, Web

More information

CIS192 Python Programming

CIS192 Python Programming CIS192 Python Programming HTTP Requests and HTML Parsing Robert Rand University of Pennsylvania March 30, 2016 Robert Rand (University of Pennsylvania) CIS 192 March 30, 2016 1 / 19 Outline 1 HTTP Requests

More information

Web. Computer Organization 4/16/2015. CSC252 - Spring Web and HTTP. URLs. Kai Shen

Web. Computer Organization 4/16/2015. CSC252 - Spring Web and HTTP. URLs. Kai Shen Web and HTTP Web Kai Shen Web: the Internet application for distributed publishing and viewing of content Client/server model server: hosts published content and sends the content upon request client:

More information

Ethical Hacking as a Professional Penetration Testing Technique ISSA Southern Tier & Rochester Chapters

Ethical Hacking as a Professional Penetration Testing Technique ISSA Southern Tier & Rochester Chapters Ethical Hacking as a Professional Penetration Testing Technique ISSA Southern Tier & Rochester Chapters - Durkee Consulting, Inc. Background Founder of Durkee Consulting since 1996 Founder of Rochester

More information

Internet Content Distribution

Internet Content Distribution Internet Content Distribution Chapter 1: Introduction Jussi Kangasharju Chapter Outline Introduction into content distribution Basic concepts TCP DNS HTTP Outline of the rest of the course Kangasharju:

More information

Web Systems & Technologies: An Introduction

Web Systems & Technologies: An Introduction Web Systems & Technologies: An Introduction Prof. Ing. Andrea Omicini Ingegneria Due, Università di Bologna a Cesena andrea.omicini@unibo.it 2006-2007 Web Systems Architecture Basic architecture information

More information

CS50 Quiz Review. November 13, 2017

CS50 Quiz Review. November 13, 2017 CS50 Quiz Review November 13, 2017 Info http://docs.cs50.net/2017/fall/quiz/about.html 48-hour window in which to take the quiz. You should require much less than that; expect an appropriately-scaled down

More information

CS WEB TECHNOLOGY

CS WEB TECHNOLOGY CS1019 - WEB TECHNOLOGY UNIT 1 INTRODUCTION 9 Internet Principles Basic Web Concepts Client/Server model retrieving data from Internet HTM and Scripting Languages Standard Generalized Mark up languages

More information

Announcements. 1. Class webpage: Have you been reading the announcements? Lecture slides and coding examples will be posted

Announcements. 1. Class webpage: Have you been reading the announcements? Lecture slides and coding examples will be posted Announcements 1. Class webpage: Have you been reading the announcements? Lecture slides and coding examples will be posted 2. Install Komodo Edit on your computer right away. 3. Bring laptops to next class

More information

Executive Summary. Performance Report for: The web should be fast. Top 4 Priority Issues

Executive Summary. Performance Report for:   The web should be fast. Top 4 Priority Issues The web should be fast. Executive Summary Performance Report for: https://www.wpspeedupoptimisation.com/ Report generated: Test Server Region: Using: Tue,, 2018, 12:04 PM -0800 London, UK Chrome (Desktop)

More information

CSE 333 Lecture HTTP

CSE 333 Lecture HTTP CSE 333 Lecture 19 -- HTTP Hal Perkins Paul G. Allen School of Computer Science & Engineering University of Washington Administrivia HW4 due a week from Thursday - How s it look? Today: http; finish networking/web

More information

Browser behavior can be quite complex, using more HTTP features than the basic exchange, this trace will show us how much gets transferred.

Browser behavior can be quite complex, using more HTTP features than the basic exchange, this trace will show us how much gets transferred. Lab Exercise HTTP Objective HTTP (HyperText Transfer Protocol) is the main protocol underlying the Web. HTTP functions as a request response protocol in the client server computing model. A web browser,

More information

LECTURE 10. Networking

LECTURE 10. Networking LECTURE 10 Networking NETWORKING IN PYTHON Many Python applications include networking the ability to communicate between multiple machines. We are going to turn our attention now to the many methods of

More information

Remote Exploit. compass-security.com 1

Remote Exploit. compass-security.com 1 Remote Exploit compass-security.com 1 Content Intel Architecture Memory Layout C Arrays Buffer Overflow BoF Exploit Assembler Shellcode Function Calls Debugging Remote Exploit Exploit Mitigations Defeat

More information

HyperText Transfer Protocol

HyperText Transfer Protocol Outline Introduce Socket Programming Domain Name Service (DNS) Standard Application-level Protocols email (SMTP) HTTP HyperText Transfer Protocol Defintitions A web page consists of a base HTML-file which

More information

Scraping I: Introduction to BeautifulSoup

Scraping I: Introduction to BeautifulSoup 5 Web Scraping I: Introduction to BeautifulSoup Lab Objective: Web Scraping is the process of gathering data from websites on the internet. Since almost everything rendered by an internet browser as a

More information

CS631 - Advanced Programming in the UNIX Environment

CS631 - Advanced Programming in the UNIX Environment CS631 - Advanced Programming in the UNIX Environment Slide 1 CS631 - Advanced Programming in the UNIX Environment HTTP; Code Reading Department of Computer Science Stevens Institute of Technology Jan Schaumann

More information

COMPUTER NETWORK. Homework #1. Due Date: March 29, 2017 in class

COMPUTER NETWORK. Homework #1. Due Date: March 29, 2017 in class Computer Network Homework#1 COMPUTER NETWORK Homework #1 Due Date: March 29, 2017 in class Question 1 What is the role of HTTP in a network application? What other components are needed to complete a Web

More information

Scraping Sites that Don t Want to be Scraped/ Scraping Sites that Use Search Forms

Scraping Sites that Don t Want to be Scraped/ Scraping Sites that Use Search Forms Chapter 9 Scraping Sites that Don t Want to be Scraped/ Scraping Sites that Use Search Forms Skills you will learn: Basic setup of the Selenium library, which allows you to control a web browser from a

More information

DATA STRUCTURE AND ALGORITHM USING PYTHON

DATA STRUCTURE AND ALGORITHM USING PYTHON DATA STRUCTURE AND ALGORITHM USING PYTHON Common Use Python Module II Peter Lo Pandas Data Structures and Data Analysis tools 2 What is Pandas? Pandas is an open-source Python library providing highperformance,

More information

2. Introduction to Internet Applications

2. Introduction to Internet Applications 2. Introduction to Internet Applications 1. Representation and Transfer 2. Web Protocols 3. Some Other Application Layer Protocols 4. Uniform Resource Identifiers (URIs) 5. Uniform Resource Locators (URLs)

More information

Networked Applications: Sockets. End System: Computer on the Net

Networked Applications: Sockets. End System: Computer on the Net Networked Applications: Sockets Topics Programmer s view of the Internet Sockets interface End System: Computer on the Net Internet Also known as a host 2 Page 1 Clients and Servers Client program Running

More information

WWW. HTTP, Ajax, APIs, REST

WWW. HTTP, Ajax, APIs, REST WWW HTTP, Ajax, APIs, REST HTTP Hypertext Transfer Protocol Request Web Client HTTP Server WSGI Response Connectionless Media Independent Stateless Python Web Application WSGI : Web Server Gateway Interface

More information

Application Layer: The Web and HTTP Sec 2.2 Prof Lina Battestilli Fall 2017

Application Layer: The Web and HTTP Sec 2.2 Prof Lina Battestilli Fall 2017 CSC 401 Data and Computer Communications Networks Application Layer: The Web and HTTP Sec 2.2 Prof Lina Battestilli Fall 2017 Outline Application Layer (ch 2) 2.1 principles of network applications 2.2

More information

SOAP Integration - 1

SOAP Integration - 1 SOAP Integration - 1 SOAP (Simple Object Access Protocol) can be used to import data (actual values) from Web Services that have been published by companies or organizations that want to provide useful

More information

Executive Summary. Performance Report for: https://edwardtbabinski.us/blogger/social/index. The web should be fast. How does this affect me?

Executive Summary. Performance Report for: https://edwardtbabinski.us/blogger/social/index. The web should be fast. How does this affect me? The web should be fast. Executive Summary Performance Report for: https://edwardtbabinski.us/blogger/social/index Report generated: Test Server Region: Using: Analysis options: Tue,, 2017, 4:21 AM -0400

More information

Applications & Application-Layer Protocols: The Web & HTTP

Applications & Application-Layer Protocols: The Web & HTTP CS 312 Internet Concepts Applications & Application-Layer Protocols: The Web & HTTP Dr. Michele Weigle Department of Computer Science Old Dominion University mweigle@cs.odu.edu http://www.cs.odu.edu/~mweigle/cs312-f11/

More information

Drexel Chatbot Requirements Specification

Drexel Chatbot Requirements Specification Drexel Chatbot Requirements Specification Hoa Vu Tom Amon Daniel Fitzick Aaron Campbell Nanxi Zhang Shishir

More information

CNIT 129S: Securing Web Applications. Ch 3: Web Application Technologies

CNIT 129S: Securing Web Applications. Ch 3: Web Application Technologies CNIT 129S: Securing Web Applications Ch 3: Web Application Technologies HTTP Hypertext Transfer Protocol (HTTP) Connectionless protocol Client sends an HTTP request to a Web server Gets an HTTP response

More information

Chapter 27 WWW and HTTP Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Chapter 27 WWW and HTTP Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 27 WWW and HTTP 27.1 Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 27-1 ARCHITECTURE The WWW today is a distributed client/server service, in which

More information

Chapter 7 BMIS335 Web Design & Development

Chapter 7 BMIS335 Web Design & Development Chapter 7 BMIS335 Web Design & Development Site Organization Use relative links to navigate between folders within your own site o Sometimes dividing your site into folders makes maintenance and updating

More information

Introduction, Notepad++, File Structure, 9 Tags, Hyperlinks 1

Introduction, Notepad++, File Structure, 9 Tags, Hyperlinks 1 Introduction, Notepad++, File Structure, 9 Tags, Hyperlinks 1 Introduction to HTML HTML, which stands for Hypertext Markup Language, is the standard markup language used to create web pages. HTML consists

More information

Web Mechanisms. Draft: 2/23/13 6:54 PM 2013 Christopher Vickery

Web Mechanisms. Draft: 2/23/13 6:54 PM 2013 Christopher Vickery Web Mechanisms Draft: 2/23/13 6:54 PM 2013 Christopher Vickery Introduction While it is perfectly possible to create web sites that work without knowing any of their underlying mechanisms, web developers

More information

Introduction to Web Scraping with Python

Introduction to Web Scraping with Python Introduction to Web Scraping with Python NaLette Brodnax The Institute for Quantitative Social Science Harvard University January 26, 2018 workshop structure 1 2 3 4 intro get the review scrape tools Python

More information

Web Information System Design. Tatsuya Hagino

Web Information System Design. Tatsuya Hagino Web Information System Design Tatsuya Hagino (hagino@sfc.keio.ac.jp) 1 Course Summary Understanding the current Web architecture Web components Web as document space Structure of Web documents Web principles

More information

DOWNLOADING WEB PAGES

DOWNLOADING WEB PAGES 3 DOWNLOADING WEB PAGES The most important thing a webbot does is move web pages from the Internet to your computer. Once the web page is on your computer, your webbot can parse and manipulate it. This

More information

Lab Assignment 3 for ECE374

Lab Assignment 3 for ECE374 Lab Assignment 3 for ECE374 Posted: 02/25/18 Due: 03/08/18 In this lab, we ll take a quick look at the UDP and TCP transport protocol. Whenever possible you should hand in a Wireshark screenshot that you

More information

Pemrograman Jaringan Network Client

Pemrograman Jaringan Network Client Pemrograman Jaringan Network Client PTIIK - 2012 In This Chapter How to implement an application protocol on the client side. Course Contents 1 Understanding Socket 2 Creating Socket 3 Communicationg With

More information

Announcements. 1. Class webpage: Have you been reading the announcements? Lecture slides and coding examples will be posted

Announcements. 1. Class webpage: Have you been reading the announcements? Lecture slides and coding examples will be posted Announcements 1. Class webpage: Have you been reading the announcements? Lecture slides and coding examples will be posted 2. Campus is closed on Monday. 3. Install Komodo Edit on your computer this weekend.

More information

M2-R4: INTERNET TECHNOLOGY AND WEB DESIGN

M2-R4: INTERNET TECHNOLOGY AND WEB DESIGN M2-R4: INTERNET TECHNOLOGY AND WEB DESIGN NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions. 2. PART ONE is to be answered in the

More information

HTTP Protocol and Server-Side Basics

HTTP Protocol and Server-Side Basics HTTP Protocol and Server-Side Basics Web Programming Uta Priss ZELL, Ostfalia University 2013 Web Programming HTTP Protocol and Server-Side Basics Slide 1/26 Outline The HTTP protocol Environment Variables

More information

DATABASE SYSTEMS. Database programming in a web environment. Database System Course, 2016

DATABASE SYSTEMS. Database programming in a web environment. Database System Course, 2016 DATABASE SYSTEMS Database programming in a web environment Database System Course, 2016 AGENDA FOR TODAY Advanced Mysql More than just SELECT Creating tables MySQL optimizations: Storage engines, indexing.

More information

Outline. evolution of the web IP addresses and URLs client/server and HTTP. HTML, XML, MathML MathML generated by Maple. the weather forecast

Outline. evolution of the web IP addresses and URLs client/server and HTTP. HTML, XML, MathML MathML generated by Maple. the weather forecast Outline 1 Internet Basics evolution of the web IP addresses and URLs client/server and HTTP 2 Markup Languages HTML, XML, MathML MathML generated by Maple 3 Retrieving Data the weather forecast 4 CGI Programming

More information

Full Stack Web Developer Nanodegree Syllabus

Full Stack Web Developer Nanodegree Syllabus Full Stack Web Developer Nanodegree Syllabus Build Complex Web Applications Before You Start Thank you for your interest in the Full Stack Web Developer Nanodegree! In order to succeed in this program,

More information

Black Box DCX3000 / DCX1000 Using the API

Black Box DCX3000 / DCX1000 Using the API Black Box DCX3000 / DCX1000 Using the API updated 2/22/2017 This document will give you a brief overview of how to access the DCX3000 / DCX1000 API and how you can interact with it using an online tool.

More information

Analysis of Hypertext Isolation Techniques for Cross-site Scripting Prevention. Mike Ter Louw Prithvi Bisht V.N. Venkatakrishnan

Analysis of Hypertext Isolation Techniques for Cross-site Scripting Prevention. Mike Ter Louw Prithvi Bisht V.N. Venkatakrishnan Analysis of Hypertext Isolation Techniques for Cross-site Scripting Prevention Mike Ter Louw Prithvi Bisht V.N. Venkatakrishnan Outline Motivation Hypertext isolation Design challenges Conclusion Quote

More information

DATA COMMUNICATOIN NETWORKING

DATA COMMUNICATOIN NETWORKING DATA COMMUNICATOIN NETWORKING Instructor: Ouldooz Baghban Karimi Course Book: Computer Networking, A Top-Down Approach By: Kurose, Ross Introduction Course Overview Basics of Computer Networks Internet

More information

UDP and TCP. Introduction. So far we have studied some data link layer protocols such as PPP which are responsible for getting data

UDP and TCP. Introduction. So far we have studied some data link layer protocols such as PPP which are responsible for getting data ELEX 4550 : Wide Area Networks 2015 Winter Session UDP and TCP is lecture describes the two most common transport-layer protocols used by IP networks: the User Datagram Protocol (UDP) and the Transmission

More information

Web scraping and social media scraping crawling

Web scraping and social media scraping crawling Web scraping and social media scraping crawling Jacek Lewkowicz, Dorota Celińska University of Warsaw March 21, 2018 What will we be working on today? We should already known how to gather data from a

More information

Web Systems & Technologies: An Introduction

Web Systems & Technologies: An Introduction Web Systems & Technologies: An Introduction Prof. Ing. Andrea Omicini Ingegneria Due, Università di Bologna a Cesena andrea.omicini@unibo.it 2005-2006 Web Systems Architecture Basic architecture information

More information

Distributed Systems 1

Distributed Systems 1 95-702 Distributed Systems 1 Joe Intro Syllabus highlights 95-702 Distributed Systems 2 Understand the HTTP application protocol Request and response messages Methods / safety / idempotence Understand

More information