计算机网络

基础知识

什么是连接

连接就是通信双方开辟所需要的资源,一个连接对应了通信双方各一个Socket,从而保证了链接的唯一性。

网络通信过程

以发送流程为例:

首先应用层将数据写入内核的send queue中,然后交由内核来完成数据传输,传输的过程中会经历多个网络分层,同时会需要多个协议来协助其传输,每个协议的加入都意味着给数据包多进行一次封装,一直到吧数据传递给链路层,在链路层数据会从路由表中一次一次的找到下一个目标节点的MAC地址,从而一步一步的发送到接收方主机,接收方接受到的数据会被存在receive queue 中,同样依靠内核来将数据返回给应用层。

URL和URI

URI是指各种能够唯一表示资源的方式,URL便是用定位的方式表示资源的一种形式

网络分层(TCP/IP体系结构)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fTvlUeEd-1631467315700)(E:/note/%25E6%2588%2591%25E7%259A%2584%25E7%25AC%2594%25E8%25AE%25B0/%25E5%258A%25A0%25E5%25BC%25BA%25E3%2580%2581%25E5%258E%259F%25E7%2590%2586/upload/TCPIP%25E4%25BD%2593%25E7%25B3%25BB%25E7%25BB%2593%25E6%259E%2584.png)]

单播、多播、广播

广播和组播常用于局域网,例如我要给局域网的其他主机发送100份1G的文件,如果使用单播,那么将需要发送端在自己的主机上进行100次的报文复制,但是如果使用多播,那么这件事将由路由器和交换机来做,从而大大降低了当前主机的负载。广播时就是向其255的广播地址发送数据

HTTP

GET和POST

  1. GET 通过地址传输数据,POST通过请求体传输数据
  2. GET在地址中传输数据会有长度限制,如果长度超过限制,会返回414错误码。而Post在请求体中传输就不会有该问题
  3. GET请求在地址中传输的数据只接收部分ASCII码,我们平时之所以能够在GET中数据汉字,是因为浏览器用URL编码对其进行了处理,而POST在请求体中传输数据时就没有数据类型的限制
  4. GET请求一般用来获取数据,所以请求可以被浏览器缓存,但是POST一般用来处理数据,所以不会缓存
  5. GET请求被刷新是无害的,而刷新POST默认是非幂等的。

响应码

2XX

200:请求成功

204:响应中不包含主体(适用于客户端给服务端发送信息,且服务端不需要向客户端反馈信息)

206:只请求资源的一部分

3XX

301:永久重定向,例如为了让人们更方便的访问网站,我们申请www.abc.com和abc.com,但是其实资源放在www.abc.com的主机下,我们就可以将来自abc.com的所有请求301到www.abc.com

302:临时重定向,即临时调用另一个请求

4XX

400:请求报问存在语法错误

401:未认证

403:无权访问

404:无资源

405:方法不允许

414 :URI太长

415:不支持附带的媒体格式

5XX

500:服务器内部错误

503:服务不可用,服务器过载

报头

<
公共头
Remote Address 请求的远程地址
Request URL
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值