大菜鸡对动态网络和网络协议的naive理解

2023-12-14 18:08

本文主要是介绍大菜鸡对动态网络和网络协议的naive理解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

建议在阅读这篇之前看一下web的基本运作方式(如果不知道的话):

关于网络知识(网络运作方式)的常识(也是在下的菜鸡理解)

好了,先来具体看一下关于协议的东西。协议是计算机通过网络交流要共同遵循的套路,网络协议对交流过程中可能遇到的各种问题该咋办都做了规定。协议就像是人类交流的语言。TCP/IP协议像汉语一样用得最多。
TCP/IP协议群是用的最多,http就是其中一个。

ISO(international organization for standardization,国际标准化机构)规定了宏观的七层网络体系,TM我至今没懂七层究竟都他妈在干啥。每层都干自己的事情,层层互不干扰。某一层协议变化并不影响其它层。举个例子:电话有两层,语音和电气层,你说话不用考虑电流是啥,电话只管转化电流而不管你说啥。你从中文改成英文不会对电气层产生任何影响。

然后TCP/IP把七层弄成四层了:http就在最高的4层应用层saf

http主要规定了web的信息交换的格式方法。即规定了如何互相请求和应答,请求和应答以文本的形式传输,以及这种文本的格式等。
在这里插入图片描述
这张图很清楚地描述了各协议的配合和http负责的东西。我发现http负责的东西在开始那个链接里其实已经讲过了。
http最牛逼的是它规定了消息的格式:

请求消息的格式:

HTTP请求是客户端往服务端发送请求动作,告知服务器自己的要求。
HTTP请求由状态行、请求头、请求正文三部分组成:

状态行:包括请求方式Method、资源路径URL、协议版本Version;

请求头:包括一些访问的域名、用户代理、Cookie等信息;
中间有个空行。
请求正文:就是HTTP请求的数据(这具体是啥我也不知道,请大佬在评论多多指教)。

备注:请求方式Method一般有GET、POST、PUT、DELETE,含义分别是获取、修改、上传、删除,其中GET方式仅仅为获取服务器资源,方式较为简单,因此在请求方式为GET的HTTP请求数据中,请求正文部分可以省略,直接将想要获取的资源添加到URL中。下图所示就是GET的请求,没有请求正文。详细的说明在下边。
现在大多数协议版本为http/1.1。

二、HTTP响应

服务器收到了客户端发来的HTTP请求后,根据HTTP请求中的动作要求,服务端做出具体的动作,将结果回应给客户端,称为HTTP响应。

HTTP响应由三部分组成:状态行、响应头、响应正文;

状态行:包括协议版本Version、状态码Status Code、回应短语;

响应头:包括搭建服务器的软件,发送响应的时间,回应数据的格式等信息;

响应正文:就是响应的具体数据,一般是html代码,浏览器会显示。

常见状态码的含义

    200---OK/请求已经正常处理完毕301---/请求永久重定向302---/请求临时重定向304---/请求被重定向到客户端本地缓存400---/客户端请求存在语法错误401---/客户端请求没有经过授权403---/客户端的请求被服务器拒绝,一般为客户端没有访问权限404---/客户端请求的URL在服务端不存在500---/服务端永久错误503---/服务端发生临时错误

关于一些主要代码比如Accept或ETag等的意思,感觉知道好像没啥用?如果觉得有用就自己Google吧,反正我不会。

然后我们看一下动态网络。。。。

实现动态网络的方法大概有几种

CGI(Commen Gateway Interface,直译过来大概是通用网关接口,即基于服务器的动态程序),基于客户端(浏览器)的动态处理;
还有就是web映射。

CGI

CGI是存在于服务器的程序,可由多种高级语言编写(c++,Java。。。),这些程序可以根据浏览器的信息(比如用户的输入等),自动计算或去别的数据库查找,然后自己将获取的信息生成格式化的HTML代码,发送回客户端。而用户出入后点击提交等按钮实际上是指定了URL(网址),比如http://www.ooo.co.jp/a.cgi就是点击按钮后浏览器实际发出的请求。
CGI的工作流程如下:
1.浏览器通过URL发出请求消息
2.经过DNS等层层处理被服务器收到
3.CGI程序启动运行去计算或查数据库或干别的指定的事
4.CGI生成HTML
5.发出相应消息给客户端
6.客户端浏览器显示。

基于客户端(浏览器)的动态处理

可以在HTML中指定小程序,浏览器发现有陷入小程序的要求时,再向服务器申请下载小程序,下完后又浏览器解码执行。所以执行者是浏览器而不是服务器,跟上面那个不同。

web映射

因为服务器的数据会经常更新,所以浏览器访问服务器时服务器会给元数据(即版本信息,更新信息等,和外卖的票挺像的)。浏览器就会根据这来自动定期访问服务器。若没有用户申请,两者都用元数据交流,不用文件本身交流,提高了效率。

希望大佬能发现我理解错或不足之处,评论指出

下面放上我老婆,希望她能带给我好运,希望她能让更多大佬在评论指教。
在这里插入图片描述

这篇关于大菜鸡对动态网络和网络协议的naive理解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/493505

相关文章

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解

《如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解》:本文主要介绍如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别的相关资料,描述了如何使用海康威视设备网络SD... 目录前言开发流程问题和解决方案dll库加载不到的问题老旧版本sdk不兼容的问题关键实现流程总结前言作为

Java使用POI-TL和JFreeChart动态生成Word报告

《Java使用POI-TL和JFreeChart动态生成Word报告》本文介绍了使用POI-TL和JFreeChart生成包含动态数据和图表的Word报告的方法,并分享了实际开发中的踩坑经验,通过代码... 目录前言一、需求背景二、方案分析三、 POI-TL + JFreeChart 实现3.1 Maven

Java导出Excel动态表头的示例详解

《Java导出Excel动态表头的示例详解》这篇文章主要为大家详细介绍了Java导出Excel动态表头的相关知识,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录前言一、效果展示二、代码实现1.固定头实体类2.动态头实现3.导出动态头前言本文只记录大致思路以及做法,代码不进

深入理解Apache Airflow 调度器(最新推荐)

《深入理解ApacheAirflow调度器(最新推荐)》ApacheAirflow调度器是数据管道管理系统的关键组件,负责编排dag中任务的执行,通过理解调度器的角色和工作方式,正确配置调度器,并... 目录什么是Airflow 调度器?Airflow 调度器工作机制配置Airflow调度器调优及优化建议最

vue基于ElementUI动态设置表格高度的3种方法

《vue基于ElementUI动态设置表格高度的3种方法》ElementUI+vue动态设置表格高度的几种方法,抛砖引玉,还有其它方法动态设置表格高度,大家可以开动脑筋... 方法一、css + js的形式这个方法需要在表格外层设置一个div,原理是将表格的高度设置成外层div的高度,所以外层的div需要

SpringBoot实现动态插拔的AOP的完整案例

《SpringBoot实现动态插拔的AOP的完整案例》在现代软件开发中,面向切面编程(AOP)是一种非常重要的技术,能够有效实现日志记录、安全控制、性能监控等横切关注点的分离,在传统的AOP实现中,切... 目录引言一、AOP 概述1.1 什么是 AOP1.2 AOP 的典型应用场景1.3 为什么需要动态插

一文带你理解Python中import机制与importlib的妙用

《一文带你理解Python中import机制与importlib的妙用》在Python编程的世界里,import语句是开发者最常用的工具之一,它就像一把钥匙,打开了通往各种功能和库的大门,下面就跟随小... 目录一、python import机制概述1.1 import语句的基本用法1.2 模块缓存机制1.

深入理解C语言的void*

《深入理解C语言的void*》本文主要介绍了C语言的void*,包括它的任意性、编译器对void*的类型检查以及需要显式类型转换的规则,具有一定的参考价值,感兴趣的可以了解一下... 目录一、void* 的类型任意性二、编译器对 void* 的类型检查三、需要显式类型转换占用的字节四、总结一、void* 的

深入理解Redis大key的危害及解决方案

《深入理解Redis大key的危害及解决方案》本文主要介绍了深入理解Redis大key的危害及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 目录一、背景二、什么是大key三、大key评价标准四、大key 产生的原因与场景五、大key影响与危