总结计算机网络

网络七层模型:

应用层、表示层、会话层、传输层、网络层、数据链路层、物理层
原则:各层分工明确,互不干扰,形成服务与被服务关系

TCP/IP协议模型

应用层:处理特定的应用程序细节,如HTTP、DNS
传输层:提供应用端口之间的数据交换,如TCP、UDP
网络层:定义抽象的数据包和提供路由。如:IP、IPv6、ICMP
数据链路层:地址映射

HTTP常用状态码及使用场景

101:切换请求协议,从HTTP切换到WebSocket
200:请求成功,有响应体
301:永久重定向,会缓存
302:临时重定向,不会缓存
304:命中协商缓存
400:请求错误
403:服务器禁止访问
404:资源未找到
500:服务器错误
503:服务器繁忙

302状态码的使用场景

302表示临时重定向,暂时不能访问某个资源
使用场景:当某些资源需要用户登录才能访问时,跳转到登录界面后登陆成功,即可访问资源

HTTP常用的请求方式

GET:获取数据
HEAD:请求页面首部信息
POST:提交数据
PUT:修改数据
DELETE:删除数据
CONNECT:把请求连接转换为透明的TCP/IP通道,用于代理服务器
OPTIONS:获取当前URL支持的请求方式,常用于跨域
TRANCE:追踪请求–响应的传输路径

说说HTTP

HTTP 特点

HTTP 的特点概括如下:

  1. 灵活可扩展,主要体现在两个方面。一个是语义上的自由,只规定了基本格式,比如空格分隔单词,换行分隔字段,其他的各个部分都没有严格的语法限制。另一个是传输形式的多样性,不仅仅可以传输文本,还能传输图片、视频等任意数据,非常方便。
  2. 可靠传输。HTTP 基于 TCP/IP,因此把这一特性继承了下来。这属于 TCP 的特性,不具体介绍了
  3. 请求-应答。也就是一发一收、有来有回, 当然这个请求方和应答方不单单指客户端和服务器之间,如果某台服务器作为代理来连接后端的服务端,那么这台服务器也会扮演请求方的角色。
  4. 无状态。这里的状态是指通信过程的上下文信息,而每次 http 请求都是独立、无关的,默认不需要保留状态信息。

HTTP 缺点

无状态
所谓的优点和缺点还是要分场景来看的,对于 HTTP 而言,最具争议的地方在于它的无状态。
在需要长连接的场景中,需要保存大量的上下文信息,以免传输大量重复的信息,那么这时候无状态就是 http 的缺点了。
但与此同时,另外一些应用仅仅只是为了获取一些数据,不需要保存连接上下文信息,无状态反而减少了网络开销,成为了 http 的优点。
明文传输
即协议里的报文(主要指的是头部)不使用二进制数据,而是文本形式。
这当然对于调试提供了便利,但同时也让 HTTP 的报文信息暴露给了外界,给攻击者也提供了便利。WIFI陷阱就是利用 HTTP 明文传输的缺点,诱导你连上热点,然后疯狂抓你所有的流量,从而拿到你的敏感信息。
队头阻塞问题
当 http 开启长连接时,共用一个 TCP 连接,同一时刻只能处理一个请求,那么当前请求耗时过长的情况下,其它的请求只能处于阻塞状态,也就是著名的队头阻塞问题。接下来会有一小节讨论这个问题。
参考链接:https://juejin.cn/post/6844904100035821575

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值