Application Protocol HTTP
Application Protocol HTTP
What Is protocol?
• URL
• Uniform Resource Locator
• Refers to an existing protocol
• http:, wais:, ftp:, mailto:, gopher:, news:
• Points to a document on a specific server
• URN
• Uniform Resource Name
• Globally unique, persistent identifier
• Independent of location
• URI
• Uniform Resource Identifier
• Collection of URL’s and URN’s
Uniform Resources
Uniform Resources
• html
• ASCII text
• Preformatted
• postscript
• Images
• GIF
• JPEG
• Video
• MPEG
• VRML
• Java
Communication
• HTTP/1.0 - 1995
• Meta-information between client and server
• Media types
• MIME type/subtype
• Status codes
• This information influenced the development of web search engines
• Caching
• Authorization
• Problems
• Scalability
• High number of clients visit server for short time
• Flash crowd
• Bandwidth
Evolution of HTTP
• HTTP/1.1
• Byte ranges
• Request of a document subset
• Adobe's Portable Document Format
• Streaming multimedia
• Eliminates unnecessary client/server communication
• An interrupted transfer which is restarted can be more efficient
• Content negotiation with quality factors
• Quality factors
• Real numbers between 0 and 1
• Default is 1
• Accept-Language: fr, en-gb; q=0.8, en; q=0.7
HTTP is an application layer protocol
HTTP is an application layer protocol
Advantages:
• Identification
• Specialization
• Addressing
• Flexibility
• Ease of programming
Disadvantages:
• Information sent via HTTP is not encrypted and can pose a
threat to your privacy.
• Packet headers are larger than other protocols as they are
needed for security and quality assurance of the information
being transferred.
Limitations of HTTP
• HTTP-Next Generation
• Many channels
• One TCP connection carries multiple channels for parallel
communication
• Different protocols on each channel
• Traditional way
• Multiple TCP connections between same client and server
• Pages contain images, video, audio, and html
• Extensibility
• PEP
• Protocol Extension Protocol
The Future
• Performance
• Parsing MIME headers wastes resources
• Sticky headers
• Persistent state between multiple http requests
• Not all headers have to be included in every http message
• Distributed authoring
• Event notification