We begin our examination of the application layer with one of the most ubiquitous application protocols: the Hypertext Transport Protocol. We will tear into the protocol's formats, the sequence of message transmissions, the different connection methods and lots of use case information.
Lesson Objectives
By the end of this lesson, the student will be able to:
- describe the mission, scope, addressing mechanism and data types of the Application Layer.
- explain the HTTP protocol, including message format, interaction model and connection management.
- calculate response time for an HTTP request over nonpersistent, parallel or persistent connections, including the pipelined variant.
- describe how web proxies work to cache HTTP responses, including how they ensure consistency.
Reading
- KR Ch 2.1 - 2.2
Slides
Video
transport layer -> TCP or UDP
TCP:
UDP => directly send message
TCP => demand stability
https://searchnetworking.techtarget.com/answer/How-are-TCP-IP-and-HTTP-related
BNF => formal mechanism describe how the bit should be
CRLF => end of the line
https://*.com/questions/1552749/difference-between-cr-lf-lf-and-cr-line-break-types
SP => space
connection close => fetching data finished
.............
Nonpersistent => primitive version => inefficient
What if by parallel??
eg. require four pictures => 4 pictures loading at the sam time => feel faster but actually slower
another issue with parallel TCP request:
Better solution: keep the TCP connection open
proxy server saves cache for faster website visiting
classic caching problem: lead to consistency problem => how do you know there's no change in the remote server?
https://zhuanlan.zhihu.com/p/60450391