网络基础
首先你在浏览器输入一个链接,这个链接里包含着域名,请求资源的目录,参数
假如请求的就是https://www.bilibili.com/video/BV1Ai4y147MS
http报文包括
报文首部(请求行+首部字段+其他)
//发送https://www.bilibili.com/video/BV1Ai4y147MS请求的报文
:authority: www.bilibili.com
:method: GET
:path: /video/BV1Ai4y147MS
:scheme: https
accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
accept-encoding: gzip, deflate, br
accept-language: en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7,zh-TW;q=0.6
cache-control: max-age=0
cookie: CURRENT_FNVAL=16; _uuid=75CB3AB2-324E-9A06-18FD-1FC54F97B50421709infoc; buvid3=5461C39D-DED5-46B2-B14F-B0A8B23D7D7D155812infoc; rpdid=|(J|lmR|)lum0J'ul)||kmmJk; LIVE_BUVID=AUTO4215800299352148; sid=crvzlqgp; LIVE_PLAYER_TYPE=2; DedeUserID=23774625; DedeUserID__ckMd5=1108b837b6c041d8; SESSDATA=4bcb5668%2C1600843350%2Cb09e1*31; bili_jct=9002ce28a9808c7a03dd3d9433cc5237; CURRENT_QUALITY=80; PVID=1
sec-fetch-dest: document
sec-fetch-mode: navigate
sec-fetch-site: none
sec-fetch-user: ?1
upgrade-insecure-requests: 1
user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36
空行
报文主体(发送的数据,不一定有)
服务器与客户端建立可靠的TCP连接
IP协议的作用是把TCP分割好的各种数据包传送给接收方。而要保证确实能传到接收方还需要接收方的MAC地址,也就是物理地址。IP地址和MAC地址是一一对应的关系,一个网络设备的IP地址可以更换,但是MAC地址一般是固定不变的。ARP协议可以将IP地址解析成对应的MAC地址。当通信的双方不在同一个局域网时,需要多次中转才能到达最终的目标,在中转的过程中需要通过下一个中转站的MAC地址来搜索下一个中转目标
在网络层找到对方的MAC地址后,就将数据发送到数据链路层传输。至此请求报文已发出,客户端发送请求的阶段结束
接收端服务器在链路层接收到数据后,删除该层的首部信息并向网络层传递,网络层将接收的数据向传输层传递,在传输层会将传输的数据按序号从组请求报文并传送给应用层。当数据传输到应用层才能算真正接收到由客户端发送过来的HTTP请求
响应报文和请求报文的形式差不多,不过返回了资源,response返回了网页源码
cache-control: no-cache, must-revalidate, max-age=0, no-store
content-encoding: gzip
content-type: text/html; charset=utf-8
date: Sun, 24 May 2020 05:19:17 GMT
gear: 1
idc: shjd
status: 200
vary: Origin,Accept-Encoding
vikingrmccache: 141696bv-productionvideoplay-index-av540627671-bv-productionvideoplay-page-av540627671
x-cache-webcdn: BYPASS from ks-gz-bgp-w-02
参考地址
https://www.bilibili.com/video/BV1Ai4y147MS
https://www.cnblogs.com/wxgblogs/p/5641643.html