#yyds干货盘点#前端到后端的访问过程

网友投稿 231 2022-10-14


#yyds干货盘点#前端到后端的访问过程

当我们在浏览器输入一个网址访问到一个网页,看似简单的过程,究竟在程序中如何运行?

操作:在浏览器输入网址(如:baidu.com)

过程:

思考的问题

过程1:

什么是DNS?--->域名解析服务器

怎么解析?(DNS解析过程)

浏览器检查自身缓存中有没有解析过这个域名

有,解析结束返回IP

没有,执行下面操作:

浏览器检查系统中有没有对应的已解析过的结果。

而操作系统也有对应解析过程:

在windows系统中的hosts文件进行设置,如果你在此指定了一个域名对应的ip地址,浏览器就会首先使用这个ip。(设置本地自己的博客方法)。

因为可以通过修改你的hosts文件里的内容把特定的域名解析到他指定的ip地址上,就造成所谓的域名劫持.所以在windows7中将hosts文件设置成了管理员权限,防止被恶意篡改。(以前的黑-客操作)

如果还没有找到,才会真正的请求本地域名服务器(LDNS)来解析域名。

这台服务器一般在你的城市的某个角落,距离你不会很远,并且这台服务器的性能都很好,一般都会缓存域名解析结果,大约80%的域名解析到这里就完成了。

如果LDNS仍然没有找到,就会找Root Server 域名服务器请求解析。

过程2:

TCP是什么?

传输控制层协议,面向字节流的通讯协议。

TCP的三次握手

客户向服务器发送请求报文(客户端同步已发送状态)服务器收到请求报文,如果同意连接,向A发送确认报文(服务器同步收到)客户端收到服务器发送确认报文后(客户端已建立连接)服务器收客户端确定报文后(服务器已建立连接)。

TCP/UDP区别

TCP                           UDP

可靠性       可靠                          不可靠

连接线       面向链接                   面向无连接

报文          面向字节流                面向无连接

效率          低                             高

传输速度   慢                             快

应用场景   效率要求低               对效率高

精准度要求高            准确度低的场景

有连接的场景            远程文件服务器

电子邮件,HTTP

TCP的黏包问题

问题的产生

TCP基于字节流,只维护送出去多少,客户端确定了多少,并没有维护信息与信息之间的边界,因而极有可能导致粘包问题。 TCP所发送的的字节流中存在一个MSS(最大报文端长度),如果所发送的消息的字节过长,那么会对所发送的消息进行分割,那么也会直接导致粘包。tcp的延迟发送问题

问题的解决

应用层要维持消息与消息的边界(因为传输层,链路层,网络层都没有)

在包的尾部加转义字符:\r\n(换行),但消息里面有就会出现问题采用包头加包体长度的方法,一般情况下包头是定长的,假如包头是4个字节,可以先接受包头的4个字节,从而计算出包体的长度,然后继续进行接受。当然,我们可以使用复杂的应用层协议。

过程3:

请求方式(8种,GET请求,POST请求)

GET使用给定的URI从给定服务器中检索信息(返回内容)

POST方法用于将数据发送到服务器以创建或更新资源,它要求服务器确认请求中包含的内容作为由URI区分的Web资源的另一个下属。(更新内容)

过程4:

响应方式(8种,与请求方式对应)

ps:状态码:200(请求成功)302(重定向访问),404(资源不存在),500(服务器报错),503(服务器暂时无法提供服务)


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:优化常见的java排序算法
下一篇:武汉一网万联正式当选 中国智慧城市工作委员会常务理事单位!
相关文章

 发表评论

暂时没有评论,来抢沙发吧~