23-InternetApplications2

23-InternetApplications2 - Data and Computer Communications...

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Data and Computer Communications Communications Chapter 23 – Internet Applications Internet Directory Service and the World Wide Web Eighth Edition by William Stallings Lecture slides by Lawrie Brown Internet Applications Internet Applications Internet Directory Service and the World Wide Web Life in the modern world is coming to depend more and Life 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. organization. —On Human Communication, Colin Cherry DNS DNS The Internet Directory Service the Domain Name Service (DNS) provides the mapping between host name & IP address mapping defined in RFCs 1034 / 1035 key elements domain name space DNS database name servers name resolvers Domain Names Domain DNS Database DNS hierarchical database hierarchical containing resource records (RRs) features variable-depth hierarchy for names distributed database distribution controlled by database provides name-to-address directory provides service for network applications service Resource Records (RRs) Resource DNS Operation DNS DNS Server Hierarchy DNS DNS database is distributed hierarchically may extend as deep as needed any organization owning a domain can run any name servers name each server manages authoritative name each data for a zone data 13 root name servers at top of hierarchy 13 root share responsibility for top level zones share Name Resolution Name 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 send DNS query to local server which may send return answer, or query other servers return recursive technique - server queries other recursive servers for resolver servers iterative technique - resolver queries iterative servers in turn as needed servers DNS Messages DNS Hypertext Transfer Protocol Hypertext HTTP base protocol for World Wide Web for any hypertext client/server application is a protocol for efficiently transmitting is information to make hypertext jumps information can transfer plain text, hypertext, audio, can images, and Internet accessible information images, versions 0.9, 1.0, & now 1.1 (RFC2616) HTTP Overview HTTP transaction oriented client/server protocol between Web browser (client) and Web server uses TCP connections stateless each transaction treated independently each new TCP connection for each transaction terminate connection when transaction complete client may specify supported formats flexible format handling Key Terms Key cache client connection entity gateway message origin server proxy resource server tunnel user agent Examples of HTTP Operation Examples HTTP Operation - Caches HTTP often have a web cache stores previous requests/ responses may return stored response to subsequent may requests requests may be a client, server or intermediary may system system not all requests can be cached Intermediate HTTP Systems Intermediate HTTP Messages HTTP HTTP Messages BNF Format HTTP HTTP-Message = Simple-Request | Simple-Response | HTTP-Message Full-Request | Full-Response Full-Request Full-Request = Request-Line Full-Request *( General-Header | Request-Header | Entity-Header ) *( CRLF [ Entity-Body ] Full-Response = Status-Line 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 HTTP Cache-Control Connection Data Forwarded Keep-Alive Mime-Version Pragma Upgrade Request Methods Request request-line has method Request URL HTTP version Request-Line = Method Request-URL HTTP-Version Request-Line CRLF CRLF HTTP/1.1 methods: OPTIONS, GET, HEAD, POST, PUT, PATCH, OPTIONS, COPY, MOVE, DELETE, LINK, UNLINK, TRACE, WRAPPED, Extension-method TRACE, Request Header Fields Request Accept, Accept-Charset, Accept-Encoding, Accept, Accept-Language, Authorization, From, Host, If-Modified-Since, ProxyHost, Authentication, Range, Referrer, Unless, Authentication, User-Agent User-Agent Response Messages Response status line plus one or more general, status response, entity headers, then optional entity body entity status line contains HTTP version status code status reason phrase Status-Line = HTTP-Version SP Status-Code SP Status-Line Reason-Phrase CRLF Reason-Phrase Status Codes Status 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 Response Location Proxy-Authentication Public Retry-After Server WWW-Authenticate Entity Header Fields Entity 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 entity body is an arbitrary sequence of octets HTTP can transfer any type of data including: text, binary data, audio, images, video data is content of resource identified by URL iinterpretation data determined by header fields: nterpretation Content-Type - defines data interpretation Content-Encoding - applied to data Transfer-Encoding - used to form entity body Summary Summary domain name service (DNS) names, database, name resolution, messages names, overview request and response messages HyperText Transfer Protocol (HTTP ) ...
View Full Document

This note was uploaded on 04/06/2011 for the course EE 5363 taught by Professor Kang during the Spring '09 term at NYU Poly.

Ask a homework question - tutors are online