Data and Computer Communications Eighth Edition by William Stallings Lecture slides by Lawrie Brown Chapter 23 – Internet Applications Internet Directory.

Slides:



Advertisements
Similar presentations
Hypertext Transfer PROTOCOL ----HTTP Sen Wang CSE5232 Network Programming.
Advertisements

Domain Name System. DNS is a client/server protocol which provides Name to IP Address Resolution.
1 Higher level protocols Domain Naming System, DNS HTTP.
World Wide Web Basics Original version by Carolyn Watters (Dalhousie U. Computer Science)
Web basics HTTP – – URI/L/Ns – HTML –
Hypertext Transfer Protocol Kyle Roth Mark Hoover.
Chapter 6: Distributed Applications Business Data Communications, 5e.
HTTP Hypertext Transfer Protocol. HTTP messages HTTP is the language that web clients and web servers use to talk to each other –HTTP is largely “under.
HTTP Headers. Read these slides yourselves This set of slides explains the header fields which are pre-defined in HTTP/1.1 Read these slides yourselves.
How the web works: HTTP and CGI explained
Cornell CS502 Web Basics and Protocols CS 502 – Carl Lagoze Acks to McCracken Syracuse Univ.
The abs_path in a URI If the abs_path is not present in the URL, it must be given as "/" in a Request-URI for a resource. Thus, if a user points a browser.
Data and Computer Communications Eighth Edition by William Stallings Lecture slides by Lawrie Brown Chapter 23 – Internet Applications Internet Directory.
HTTP Presented By: Holly Mortinson Amy Drout Kyle Balmer & Matt Conklin.
Computer Networks with Internet Technology William Stallings Chapter 04 Modern Applications.
Web, HTTP and Web Caching
2/9/2004 Web and HTTP February 9, /9/2004 Assignments Due – Reading and Warmup Work on Message of the Day.
The abs_path in a URI If the abs_path is not present in the URL, it must be given as "/" in a Request-URI for a resource. Thus, if a user points a browser.
Hypertext Transport Protocol CS Dick Steflik.
Client, Server, HTTP, IP Address, Domain Name. Client-Server Model Client Bob Yahoo Server yahoo.com/finance.html A text file named finance.html.
 What is it ? What is it ?  URI,URN,URL URI,URN,URL  HTTP – methods HTTP – methods  HTTP Request Packets HTTP Request Packets  HTTP Request Headers.
Domain Name System ( DNS )  DNS is the system that provides name to address mapping for the internet.
Application Layer. Domain Name System Domain Name System (DNS) Problem – Want to go to but don’t know the IP addresswww.google.com Solution.
Chapter 7: Internet-Based Applications Business Data Communications, 6e.
Rensselaer Polytechnic Institute CSC-432 – Operating Systems David Goldschmidt, Ph.D.
Web Hacking 1. Overview Why web HTTP Protocol HTTP Attacks 2.
Chapter 7: Internet-Based Applications Business Data Communications, 6e.
FTP (File Transfer Protocol) & Telnet
Simple Web Services. Internet Basics The Internet is based on a communication protocol named TCP (Transmission Control Protocol) TCP allows programs running.
HyperText Transfer Protocol (HTTP).  HTTP is the protocol that supports communication between web browsers and web servers.  A “Web Server” is a HTTP.
CP476 Internet Computing Lecture 5 : HTTP, WWW and URL 1 Lecture 5. WWW, HTTP and URL Objective: to review the concepts of WWW to understand how HTTP works.
Application Layer 2 Figures from Kurose and Ross
2: Application Layer1 Internet apps: their protocols and transport protocols Application remote terminal access Web file transfer streaming multimedia.
9/15/2015© 2008 Raymond P. Jefferis IIILect Application Layer.
Copyright (c) 2010, Dr. Kuanchin Chen1 The Client-Server Architecture of the WWW Dr. Kuanchin Chen.
Sistem Jaringan dan Komunikasi Data #9. DNS The Internet Directory Service  the Domain Name Service (DNS) provides mapping between host name & IP address.
PACKET ANALYSIS WITH WIRESHARK DHCP, DNS, HTTP Chanhyun park.
WebServer A Web server is a program that, using the client/server model and the World Wide Web's Hypertext Transfer Protocol (HTTP), serves the files that.
The HyperText Transfer Protocol. History HTTP has been in use since 1990 (HTTP/0.9) HTTP/1.0 was defined in RFC 1945 (May 1996) and included metainformation.
Web HTTP Hypertext Transfer Protocol. Web Terminology ◘Message: The basic unit of HTTP communication, consisting of structured sequence of octets matching.
COMT 6251 Network Layers COMT Overview IP and general Internet Operations Address Mapping ATM LANs Other network protocols.
HTTP Hypertext Transfer Protocol
Web Client-Server Server Client Hypertext link TCP port 80.
HyperText Transfer Protocol (HTTP) RICHI GUPTA CISC 856: TCP/IP and Upper Layer Protocols Fall 2007 Thanks to Dr. Amer, UDEL for some of the slides used.
HTTP1 Hypertext Transfer Protocol (HTTP) After this lecture, you should be able to:  Know how Web Browsers and Web Servers communicate via HTTP Protocol.
Lecture 6: Sun: 8/5/1435 Distributed Applications Lecturer/ Kawther Abas CS- 492 : Distributed system & Parallel Processing.
Web Technologies Interactive Responsiveness Function Hypertext Web E-Publishing Simple Response Web Fill-in Forms Object Web « Full-Blown » Client/Server.
HTTP Protocol Design1 HTTP - timeline r Mar 1990 CERN labs document proposing Web r Jan 1992 HTTP/0.9 specification r Dec 1992 Proposal to add MIME to.
Jan.2001C.Watters1 World Wide Web Basics. Jan.2001C.Watters2 What is an internet anyway? 2 or more networks that can communicate.
Operating Systems Lesson 12. HTTP vs HTML HTML: hypertext markup language ◦ Definitions of tags that are added to Web documents to control their appearance.
CITA 310 Section 2 HTTP (Selected Topics from Textbook Chapter 6)
HTTP Here, we examine the hypertext transfer protocol (http) – originally introduced around 1990 but not standardized until 1997 (version 1.0) – protocol.
Web Services. 2 Internet Collection of physically interconnected computers. Messages decomposed into packets. Packets transmitted from source to destination.
EE 122: Lecture 21 (HyperText Transfer Protocol - HTTP) Ion Stoica Nov 20, 2001 (*)
CS 6401 The World Wide Web Outline Background Structure Protocols.
Computer Networks with Internet Technology William Stallings Chapter 04 Modern Applications.
Overview of Servlets and JSP
Computer Networks with Internet Technology William Stallings Chapter 04 Modern Applications 4.1 Web Access - HTTP.
COMP2322 Lab 2 HTTP Steven Lee Jan. 29, HTTP Hypertext Transfer Protocol Web’s application layer protocol Client/server model – Client (browser):
HyperText Transfer Protocol (HTTP) Deepti Kulkarni CISC 856: TCP/IP and Upper Layer Protocols Fall 2008 Acknowledgements Professor Amer Richi Gupta.
Data and Computer Communications Tenth Edition by William Stallings Data and Computer Communications, Tenth Edition by William Stallings, (c) Pearson Education.
Web Protocols: HTTP COMP6017 Topics on Web Services Dr Nicholas Gibbins –
Simple Web Services. Internet Basics The Internet is based on a communication protocol named TCP (Transmission Control Protocol) TCP allows programs running.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
© Janice Regan, CMPT 128, Jan 2007 CMPT 371 Data Communications and Networking HTTP 0.
HTTP Protocol Amanda Burrows. HTTP Protocol The HTTP protocol is used to send HTML documents through the Internet. The HTTP protocol sends the HTML documents.
Hypertext Transfer Protocol (HTTP) COMP6218 Web Architecture Dr Nicholas Gibbins –
Data and Computer Communications
Net 431 D: ADVANCED COMPUTER NETWORKS
William Stallings Data and Computer Communications
Presentation transcript:

Data and Computer Communications Eighth Edition by William Stallings Lecture slides by Lawrie Brown Chapter 23 – Internet Applications Internet Directory Service and the World Wide Web

Internet Applications Internet Directory Service and the World Wide Web Life in the modern world is coming to depend more and more upon technical means of communication. Without such technical aids the modern city-state could not exist, for it is only by means of them that trade and business can proceed; that goods and services can be distributed where needed; that railways can run on schedule; that law and order are maintained; that education is possible. Communication renders true social life practicable, for communication means organization. —On Human Communication, Colin Cherry

DNS The Internet Directory Service  the Domain Name Service (DNS) provides mapping between host name & IP address  defined in RFCs 1034 / 1035  key elements domain name space domain name space DNS database DNS database name servers name servers name resolvers name resolvers

Domain Names

DNS Database  hierarchical database  containing resource records (RRs)  features variable-depth hierarchy for names variable-depth hierarchy for names distributed database distributed database distribution controlled by database distribution controlled by database  provides name-to-address directory service for network applications

Resource Records (RRs) for the A type, the Rdata is a 32-bit IP address for the CNAME type, the Rdata is a domain name.

DNS Operation gethostbyname() … now replaced by getaddrinfo() getaddrinfo()

How to attack a DNS server (denial of service) … Multiple clients… multiple threads…..gethostbyname()

DNS Server Hierarchy  DNS database is distributed hierarchically may extend as deep as needed may extend as deep as needed  any organization owning a domain can run name servers  each server manages authoritative name data for a zone  13 root name servers at top of hierarchy share responsibility for top level zones 13 root name servers 13 root name servers The use of ”anycast” addressing permits the actual number of root server instances to be much larger (504 in 2014) 

DNS Operation - getaddrinfo() - Foreign name server -> iterative search is used between DNS servers l_DNS_recursion.svg Map of root servers

Name Resolution  query begins with name resolver on host  knows name/address of local DNS server  given a name request, the resolver can: return name from cache if already known return name from cache if already known send DNS query to local server which may return answer, or query other servers send DNS query to local server which may return answer, or query other servers  recursive technique - server queries other servers for resolver  iterative technique - resolver queries servers in turn as needed

DNS Messages

Hypertext Transfer Protocol HTTP  base protocol for World Wide Web  for any hypertext client/server application  is a protocol for efficiently transmitting information to make hypertext jumps can transfer plain text, hypertext, audio, images, and Internet accessible information can transfer plain text, hypertext, audio, images, and Internet accessible information  versions 0.9, 1.0, 1.1 & now 2.0 …

HTTP Overview  transaction oriented client/server protocol  between Web browser (client) and Web server  uses TCP connections  stateless each transaction treated independently each transaction treated independently each new TCP connection for each transaction each new TCP connection for each transaction terminate connection when transaction complete terminate connection when transaction complete  flexible format handling client may specify supported formats client may specify supported formats

Key Terms  cache  client  connection  entity  gateway  message  origin server  proxy  resource  server  tunnel  user agent

Examples of HTTP Operation

HTTP Operation - Caches  often have a web cache  stores previous requests/ responses  may return stored response to subsequent requests  may be a client, server or intermediary system  not all requests can be cached

Intermediate HTTP Systems

HTTP Messages

Example session xample_session xample_session

(HTTP Messages BNF Format) (BNF : Backus Naur Format) HTTP-Message = Simple-Request | Simple-Response | Full-Request | Full-Response Full-Request = Request-Line *( General-Header | Request-Header | Entity-Header ) CRLF [ Entity-Body ] Full-Response =Status-Line *( General-Header | Response-Header | Entity-Header ) CRLF [ Entity-Body ] Simple-Request = "GET" SP Request-URL CRLF Simple-Response = [ Entity-Body ]

(HTTP General Header Fields)  Cache-Control  Connection  Data  Forwarded  Keep-Alive  Mime-Version  Pragma  Upgrade

(Request Methods)  request-line has method method Request URL Request URL HTTP version HTTP version Request-Line = Method Request-URL HTTP-Version CRLF Request-Line = Method Request-URL HTTP-Version CRLF  HTTP/1.1 methods: OPTIONS, GET, HEAD, POST, PUT, PATCH, COPY, MOVE, DELETE, LINK, UNLINK, TRACE, WRAPPED, Extension-method OPTIONS, GET, HEAD, POST, PUT, PATCH, COPY, MOVE, DELETE, LINK, UNLINK, TRACE, WRAPPED, Extension-method

(Request Header Fields)  Accept, Accept-Charset, Accept-Encoding, Accept-Language, Authorization, From, Host, If-Modified-Since, Proxy- Authentication, Range, Referrer, Unless, User-Agent

(Response Messages)  status line plus one or more general, response, entity headers, then optional entity body  status line contains HTTP version HTTP version status code status code reason phrase reason phrase Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF

(Status Codes)  informational - headers only  successful - headers & body if relevant  redirection - further action needed  client error - has syntax or other error  server error - failed to satisfy valid request

(Response Header Fields)  Location  Proxy-Authentication  Public  Retry-After  Server  WWW-Authenticate

(Entity Header Fields)  Allow  Content-Encoding  Content-Language  Content-Length  Content-MD5  Content-Range  Content-Type  Content-Version  Derived-From  Expires  Last-Modified  Link  Title  Transfer-Encoding  URL-Header  Extension-Header

(Entity Body)  entity body is an arbitrary sequence of octets  HTTP can transfer any type of data including: text, binary data, audio, images, video text, binary data, audio, images, video  data is content of resource identified by URL  interpretation data determined by header fields: Content-Type - defines data interpretation Content-Type - defines data interpretation Content-Encoding - applied to data Content-Encoding - applied to data Transfer-Encoding - used to form entity body Transfer-Encoding - used to form entity body

Summary  domain name service (DNS) names, database, name resolution, messages names, database, name resolution, messages  HyperText Transfer Protocol (HTTP ) overview overview request and response messages request and response messages