初识7层模型和5层模型
今天突然想知道在访问一个网站的时候那些请求头是在何时被加上去的。例如访问百度的时候,host
和refer
或者其他的字段是在七层模型的哪一层被加入的。
Wireahark抓包
在这里尝试了下百度的抓包,但是百度的是是HTTPS的连接,导致一直找不到那个HTTP连接,所以还是放弃了,但是随后又找了一个非HTTPS的网站,进行抓包,然后测试了下,发现可以
解析抓包
这是用wireshark抓取的结果:
却发现这里多了一个Hypertext Transfer Protocol
,在这里的话因为是GET请求,所以准备用POST请求再次尝试:
发现其实内容都差不多,那也就证明了这些请求头都是在应用层被添加进去的。
那么在这些抓包中可以看到他的层次是5层,而并非是7层模型。在这里的的五层模型分别是物理层
,数据连续层
,网络层
,传输层
,应用层
。相较于7层的OSI模型少了会话层
和表示层
。
应用层
其实与代码打交道的那一层是应用层。可以发现在Java代码中可以通过Response.setXXX来设置请求头或者回复头等。这也就从旁边来证明了我们所编写的程序其实都是在应用层。