导读网络协议
七层协议和四层协议 HTTP
HTTP交互式请求-telnet.exeHTTP交互式请求-tcp在线测试HTTP请求/响应0x06-http缓存详解 DNS参考资料 导读
网络协议 七层协议和四层协议继《[前端之旅] - 01 开端 (持续更新各种资料)》之后,趁着春节,看了网络知识的相关视频内容。
下面记录下个人总结。
计算机网络形成初期,一群大佬为网络指定协议,花了很长时间,定了一套协议,也就是注明的OSI七层协议模型。
该模型分为:应用层(Application)、表示层(Presentation)、会话层(Session)、传输层(Transport)、网络层(Network)、数据链路层(Data link)、物理层(Physical)。
可是当时协议指定耗时太长,有一伙人,没等协议落地,自己搞了一套,就是下面图中的TCP/IP四层模型,而且也是现在互联网的主要实现方式。
HTTP下面是TCP/IP四层模型的数据流示意图,从图中可以总结两点:
应用层(我们最关心的HTTP)是通过TCP封装后传输的。四层结构,下层都会在上层协议的基础上,增加首部信息(且不修改上层协议内容)
HTTP交互式请求-telnet.exe技术胖推荐的《HTTP协议详解 https://www.bilibili.com/video/BV1js411g7Fw?p=1》,的确干货十足,但是不少是讲PHP的,所以,个人觉得对于初学者,视频中关于PHP的内容可以直接跳过,不必对有些知识太过于较劲了。
视频中使用telnet.exe进行HTTP交互式请求,这里以www.l0l.fun进行分析。
连接HTTP服务器telnet l0l.fun 80
连接HTTP服务器后,拷贝下面命令到CMD界面中(包含空行!!!)。
GET / HTTP/1.1HOST: www.l0l.fun
下面是telnet返回的结果:
这里给两个网址,测试了,显示结果不太友好,但是也是可以看到返回的部分请求内容的。也可以看出,HTTP其实就是基于TCP的一种超文本协议。
在线tcp测试 https://xxf.cool/tools/tcpTool在线tcp测试 http://tool.6zkx.com/Tools/Tcpip/ClientTest
HTTP请求/响应
视频的评论中,有人将 HTTP 基础的部分,做了一个思维导图,共享一下:https://www.processon.com/view/link/5c97952de4b0ab74ece439cd
DNS其实就是对于某些请求(如图片),服务器会在响应头中添加一些标记(ETag和Last-Modified等),再次执行该请求的时候,浏览器会将这些标记添加到请求头中,服务器根据这些信息,判断资源未过期,直接返回304,不再返回资源。下面是视频中的笔记:
请求总共如下图中的6个步骤。具体可以看视频内容《超直观的DNS科普https://www.bilibili.com/video/BV1F54y1R7BC?p=2》
gitee地址: https://gitee.com/jishupang/web_atlasHTTP协议详解 https://www.bilibili.com/video/BV1js411g7Fw?p=1Telnet协议是什么? http://c.biancheng.net/view/6461.html在线tcp测试 https://xxf.cool/tools/tcpTool在线tcp测试 http://tool.6zkx.com/Tools/Tcpip/ClientTestqq群:夜猫逐梦技术交流裙/953949723