TCP/IP

协议:一种规则,规定不同计算机操作系统,硬件之间怎么通信的一种规则
像这样把互联网相关联的协议集合起来总称为TCP/IP协议.

TCP/IP分层管理

按照组层次分为以下四层:

  • 应用层:决定了向用户提供应用服务时通信的活动

    • tcp/ip协议族内预存了各类通用应用服务比如FTP和DNS等
  • 传输层:对上层应用层,提供处于网络连接中两台计算机之间的数据传输.
    • 在传输层有两个性质不同的协议:TCP和UDP
  • 网络层:又名网络互联层有,用来处理网络上流动的数据包
    • 数据包使网络传输的最小数据单位.该层规定了通过怎样的路径(传输路线到达对方计算机),并把数据包传给对方.
    • 与对方计算机之间通过多台计算机或者网络设备进行传输时,网络层所起的作用就是在众多的选项内选择一条传输路线
  • 数据链路层:又称链路层,数据接口层,用来处理链接玩罗德硬件部分,包括操作系统,赢家的驱动,NIC,及光纤等物理可见部分.硬件范畴均在链路层作用范围内.

分层好处:使设计更加简单,给每个层分配不同的任务

通信传输流

客户端 <—> 应用层(HTTP客户端)① <—> 传输层(TCP)② <—> 网络层(IP)③ <—> 链路层(网络)④ <—> 链路层(网络)④ <—> 网络层(IP) <—> 传输层(TCP) <—> 应用层(HTTP服务器端) <—> 服务端

  • ①:http协议发送请求
  • ②:tcp协议对在应用层收到的数据(http请求报文)进行分割,并在各个报文上打上标记序号及端口号 发送给网络层
  • ③:增加作为通信目的地的MAC地址后转发给链路层
  • ④:接受端的服务器在链路层收到服务端发送的数据,按顺序往上发送一直到应用层,才算真正接收端由客户端发送过来的http请求

在http数据从应用层发出后,之后的每一层都会对其进行封装,在传输层进行TCP首部的封装,在网络层进行IP首部的封装,在数据链路层进行以太网首部封装,在服务端的数据链路层接收到数据后会将这些封装一一消去.

IP,TCP和DNS

IP网际协议位于网络层,作用是通过ip地址和mac地址将各种数据包传给对方,其中ip地址指明了节点被分配到的地址,mac地址是指网卡所属的固定地址,ip地址可以和mac地址进行配对,ip地址可换但是mac地址基本上不会更改.
TCP:tcp协议位于传输层,提供可靠的字节流服务(所谓字节流服务是为了方便传输,将大数据块分割成以报文段为单位的数据包进行管理,将报文段传递给对方),为了将数据准确无误的送达,TCP协议采用了三次握手策略(发送端将标有SYN的数据包发送给服务端,服务端接收到数据包后发送标有SYN/ACK的数据包给发送端,发送端接收到数据包后发送带有SYN的数据包.SYN-synchronize,ACK-acknowledgement)
DNS服务是和HTTP协议一样位于应用层,提供域名到ip地址之间的解析.使由数字组成的ip地址可以用有含义的字母单词来表示,而DNS做的就是将这些容易理解的字母单词解析为ip地址

各协议与HTTP协议之间关系

以访问https:www.plumli.xyz/为例:
客户端通过DNS解析获得https:www.plumli.xyz/所对应的IP地址—>HTTP协议生成针对目标web服务器的HTTP请求报文—>TCP为了方便通信将报文分割成报文段,把每个报文段可靠的传输给对方—>根据ip地址在路由器中进行中转—>客户端接收到报文段,根据TCP协议对报文段进行重组,并对请求内容进行处理—>最后将处理过的内容通过TCP/IP协议向用户进行回转.

URI和URL

URI:统一资源标识符,用字符串标识某一互联网资源
URI格式:http://user:pass@www.example.com:80/dir/index.html?uid=1#ch1

  • http:协议方案名
  • user:pass登录信息认证(可选)
  • www.example.com:服务器地址
  • 80:服务器端口
  • dir/index.html:文件路径
  • uid=1查询字符串
  • ch1片段标识符
    URL:统一资源定位符,表示资源在互联网上所处的位置

了解更多,去我博客 Plumli看看叭

了解web网络基础的更多相关文章

  1. 从用户访问网站流程开始,细说web网络基础

    1.用户访问网站流程框架 2.dns解析原理 3.tcp/ip三次握手过程原理,11种连接状态 4.tcp/ip四次挥手过程原理,11种连接状态 5.http协议原理(www服务的请求过程)请求细节, ...

  2. http(一)web和网络基础

    深入学习http不为别的,只为补充底层知识,打好根基,深入了解其他技术,擒贼先擒王,学好九阳神功以后,乾坤大挪移,太极剑就容易了,急于求成,就只能变周芷若.走着...... 来源于:图解HTTP 1. ...

  3. 了解web及网络基础

    了解web及网络基础 以下内容简单的说明了一下TCP/IP协议族中HTTP协议.DNS服务.IP协议的一些概念和关系.笔者只是对知识点进行了总结,仅供参考: ) 转载请注明出处:了解web及网络基础 ...

  4. 20155324《网络对抗技术》web安全基础实践

    20155324<网络对抗技术>web安全基础实践 实验内容 使用webgoat进行XSS攻击.CSRF攻击.SQL注入 实验问答 SQL注入攻击原理,如何防御 ①SQL注入攻击是攻击者在 ...

  5. 2017-2018-2 20155228 《网络对抗技术》 实验九:Web安全基础

    2017-2018-2 20155228 <网络对抗技术> 实验九:Web安全基础 1. 实践内容 1.1 标理解常用网络攻击技术的基本原理 1.2 在Webgoat实验环境下实践相关实验 ...

  6. 20155208徐子涵《网络对抗》Exp9 Web安全基础

    20155208徐子涵<网络对抗>Exp9 Web安全基础 实验要求 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 实验过程 最后一次了,没有选择尝试免考项目 ...

  7. 20155326《网络对抗》Web安全基础实践

    20155326<网络对抗>Web安全基础实践 实验后回答的问题 SQL注入攻击原理,如何防御? 原理:SQL注入攻击指的是在Web应用对后台数据库查询语句处理存在的安全漏洞,通过构建特殊 ...

  8. 2017-2018-2 20155314《网络对抗技术》Exp9 Web安全基础

    2017-2018-2 20155314<网络对抗技术>Exp9 Web安全基础 目录 实验目标 实验内容 实验环境 基础问题回答 预备知识 实验步骤--WebGoat实践 0x10 We ...

  9. 20145203盖泽双 《网络对抗技术》实践九:Web安全基础实践

    20145203盖泽双 <网络对抗技术>实践九:Web安全基础实践 1.实践目标 1.理解常用网络攻击技术的基本原理. 2.Webgoat下进行相关实验:SQL注入攻击.XSS攻击.CSR ...

  10. 20145236《网络对抗》Exp9 web安全基础实践

    20145236<网络对抗>Exp9 web安全基础实践 一.基础问题回答: SQL注入攻击原理,如何防御 SQL Injection:就是通过把SQL命令插入到Web表单递交或输入域名或 ...

随机推荐

  1. 在void 中使用return的意思

    在定义的void函数里如果想要提前终止函数 格式为 return; 如果 在有返回值的函数中 格式为: return+值(0 -1 ......) 但如果在void 函数中写return 0 ; 则会 ...

  2. Maven的大概了解及总结setting和pom

    前言:项目中经常要用到Maven,从来也没有配置过,直到当人问到Maven是干什么的,是怎么管理项目的?一头雾水,所以写了这篇博客,首先附上百度百科的词条: Maven项目对象模型(POM),可以通过 ...

  3. nginx启动报错80端口号已占用

    开启或重启Nginx时报如下错误: Nginx [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use) 原因是端口号80被其 ...

  4. Appweb-6.1.1 移植到ARM

    Appweb-6.1.1 移植到ARM 编译环境:ubuntu-12.04 x64 开发平台:Hi3535 arm版 编译版本:appweb-6.1.1.zip ESP下载地址=> ESP we ...

  5. C#自行实现安装卸载程序(不使用官方组件)

    正规软件建议还是使用官方的标准安装程序组件,因为官方的标准安装/卸载组件能更好的与操作系统衔接,安装和卸载流程更加规范. 今天提供一种野路子,全用代码实现安装卸载器. 需要写一个程序,包含安装器.卸载 ...

  6. PaddlePaddle 飞桨复现 ResNet34

    import paddle.nn as nn class ResidualBlock(nn.Layer): def __init__(self, in_channels, out_channels, ...

  7. 2022-12-19:大的国家。如果一个国家满足下述两个条件之一,则认为该国是 大国 : 面积至少为 300 万平方公里(即,3000000 km2),或者 人口至少为 2500 万(即 250000

    2022-12-19:大的国家.如果一个国家满足下述两个条件之一,则认为该国是 大国 : 面积至少为 300 万平方公里(即,3000000 km2),或者 人口至少为 2500 万(即 250000 ...

  8. OData WebAPI实践-兼容OData集合响应

    本文属于 OData 系列文章 引言 OData 是一个开放标准,已经在 oasis 组织标准化,因此我们可以在标准的官网查询到 OData 的标准请求与返回形式:OData JSON Format ...

  9. ET框架6.0分析三、网络通信

    概述 ET框架的消息机制贯彻始终,包含Entity消息(Awake,Update ...),自定义(Customer)消息,网络消息等.而ET系统的进程包含了客户端.Gate等各种类型的服务器,进程包 ...

  10. Charles抓包补充解释

    配置 大佬的博客真的很详细很详细,我就不重复造轮子了,第一次直接看大佬的博客就好,这里Python爬取微信小程序(Charles) 补充解释 在这一步疑问很多,大佬说的不是很详细,就由我来补充下吧~ ...