大菜鸡对动态网络和网络协议的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映射

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

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

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值