最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 【基础】校招,你必须得会的知识(网络篇 )01──初识HTTP

    正文概述 掘金(一川萤火)   2021-08-04   559

    写在前面

    秋招已经开始,校招笔试面试环节经常考察《计算机网络》、《操作系统》、《数据库原理》等计算机基础知识,对于应届生而言这是必须掌握的技能。已经工作的伙伴在技术发展遇到瓶颈,不妨将基础再进行巩固,才能让自己走得更远。

    初识HTTP

    HTTP协议

    【基础】校招,你必须得会的知识(网络篇 )01──初识HTTP

    HTTP:超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言文档从web服务器传送到客户端的浏览器。HTTP协议是构建在TCP/IP协议之上的,是TCP/IP协议的一个子集。

    TCP/IP族:TCP/IP协议是一系列与互联网相关联的协议集合的总成,分层管理是TCP/IP协议的重要特征。TCP/IP族通常由应用层、传输层、网络层以及数据链路层构成的系统。

    【基础】校招,你必须得会的知识(网络篇 )01──初识HTTP

    应用层:应用层一般是编写的应用程序,决定向用户提供什么应用服务。可以通过系统调用与传输层进行通信,比如:FTP、DNS、HTTP等。

    传输层:传输层是通过系统调用向应用层提供处于网络连接中的两台计算机之间的数据传输功能。传输层具有两个不同性质的协议:TCP和UDP。TCP是面向连接的,可靠的,效率低。UDP是无连接的,可靠性低,效率高

    网络层:网络层是用于处理在网络上流动的数据包,而数据包是网络传输的最小数据单位。此层规定了通过什么路径(传输路线)到达对方对方计算机,并把数据包传输给对方。

    链路层:链路层用于处理连接网络的硬件部分,包括控制操作系统、硬件设备驱动、NIC网络适配器以及光纤等物理可见部分。硬件上的范畴均在链路层的作用范围内。

    【基础】校招,你必须得会的知识(网络篇 )01──初识HTTP

    HTTP的传输过程

    在发送端发送数据时,数据会从上层传输到下层,且每经过一层都会被打上该层的头部信息。而接收端接收数据时,数据会从下层传输到上层,传输前会把下层的头部信息删除。

    在下图中,当你想在浏览器查看某个页面时,会在应用层发起一个HTTP请求,通过传输层的TCP协议进行分割HTTP报文,并为每个报文打上标记序号、端口号等信息后发送到网络层。在网络层通过IP协议为每个报文增加作为通讯目的地的MAC地址,然后转发给链路层,接收端的服务器在链路层接收请求的HTTP数据。在服务器返回到浏览器的流程则是相反的。

    【基础】校招,你必须得会的知识(网络篇 )01──初识HTTP

    TCP的三次握手

    使用TCP协议进行通信的双方必须先建立连接,然后才能开始传输数据。为了确保连接双方的可靠性,在双方建立连接时,TCP协议会采用三次握手策略。

    第一次握手:客户端发送带有SYN标志的连接请求报文段,然后进入SYN_SEND状态,等待服务端的确认。

    第二次握手:服务端接受到客户端的SYN报文段后,需要发送ACK信息对这个SYN报文段进行确认,同时还要发送自己的SYN请求信息。服务端会将上述的信息放到一个报文段(SYN+ACK报文段)中,一并发送给客户端,此时服务端将会进入SYN_SEND状态。

    第三次握手:客户端接收到服务端的SYN+ACK报文段后,会向服务端发送ACK确认报文段,这个报文段发送完毕后,客户端和服务端都进入ESTABLISHED状态,完成TCP三次握手。

    【基础】校招,你必须得会的知识(网络篇 )01──初识HTTP

    讲到这里,通常会有疑问:为什么TCP协议要进行三次握手而不是两次呢?

    这是因为要建立可靠的通信,首先客户端和服务端都得确保对方具有完整的收发能力。第一次握手客户端发送请求报文给服务端,服务端可以确认客户端的发送能力是正常的以及服务端的接收能力是正常的;第二次握手客户端接收到服务端返回的报文信息,可以确认服务端的收发能力是正常的,同时客户端的收发能力是正常的;第三次握手客户端再次向服务端发送确认信息,此时服务端可以确认客户端的接收报文的能力和服务端的发送能力是正常。最后能够确认双方的收发能力是正常的,因此需要进行三次握手,而两次握手是不能彼此确认双方的收发能力是否正常。

    DNS域名解析

    在上面的知识点中,我们知道与HTTP有着密切联系的TCP/IP协议,而DNS服务与HTTP协议也有着密不可分的关系。

    比如说你要访问百度www.baidu.com,可以使用主机名100.100.10.10或者域名www.baidu.com进行访问,但是相比于一串纯数字的IP地址而言,使用域名更容易让人记住和访问。要知道在计算机网络中TCP/IP协议使用的就是IP地址进行访问,因此需要通过一种机制将域名转换为IP地址。而 DNS服务正是用于解决这个问题的,可以提供域名到IP地址之间的解析服务,其实就像我们打电话时查阅通讯录一样。

    【基础】校招,你必须得会的知识(网络篇 )01──初识HTTP

    如图所示,当我们在浏览器输入www.baidu.com时,具体细节如下:

    • ① TCP/IP协议会先去访问本地域名解析器,当搜索到对应的IP地址则直接返回到客户端,客户端则直接向服务端发起HTTP请求;而当没有搜索到www.baidu.com对应的IP地址时,则向上溯源,查找上一级域名解析器
    • ② TCP/IP协议访问根域名服务器搜索对应的IP地址,若同样的搜索通过则沿原路返回到客户端;若没有搜索到则继续溯源搜寻
    • ③ TCP/IP协议一直溯源搜寻直至顶级域名服务器,搜寻沿原路返回,否则则告知客户端没有此域名

    HTTP事务处理过程

    当客户端访问WEB站点时,首先会用过DNS服务查询到域名对应的IP地址,返回到客户端生成HTTP请求,通过TCP/IP协议发送给WEB服务器。WEB服务器接收到请求后,会根据请求生成相应内容,并通过TCP/IP协议返回到客户端。

    【基础】校招,你必须得会的知识(网络篇 )01──初识HTTP

    参考资料

    • 《超详细 DNS 协议解析》
    • 《图解HTTP》
    • 《计算机网络》
    • 慕课网《编程必备基础-大话HTTP协议》

    写在最后

    我是前端小菜鸡,感谢大家的阅读,我将继续和大家分享更多优秀的文章,此文参考了大量书籍和文章,如果有错误和纰漏,希望能给予指正。校招需要内推的可以私信我。

    更多最新文章敬请关注笔者掘金账号一川萤火和公众号前端万有引力


    起源地下载网 » 【基础】校招,你必须得会的知识(网络篇 )01──初识HTTP

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元