- 浏览: 66323 次
文章分类
最新评论
-
小灯笼:
ZooKeeper分布式专题与Dubbo微服务入门网盘地址:h ...
dubbo+zookeeper构建高可用分布式集群 -
qingfengxiu1985:
有没有全部工程代码?发一个呗,邮箱:qingfengxiu19 ...
mongodb+spring +morphia完整版框架搭建
TCP/IP是个协议组:
主要可以分为4层,分别是应用层 ,传输层,网络层,数据链路层。分层的好处在于如果要改变某一个协议时候,不会去影响到其他协议。如同Java中的封装,隔离。
1. 应用层 :负责处理特定的应用程序,在TCP/IP协议组中预存了各类同用的应用服务,比如FTP,DNS,HTTP等等
2. 传输层:对上层应用层提供处于网络连接中的两台计算机之间的数据传输,有两个不同的协议:TCP/UDP、
3. 网络层:处理网络上流动的数据包。(网络上传输的最小数据单元) 该层主要协议有 IP(网际协议) ICMP(internet控制报文协议 用于IP主机 ,路由器之间传递控制消息) IGMP(Internet组管理协议)。这一层规定了通过怎样的路径到达对方的计算机,把数据包传送给对方。
4. 数据链路层,也叫做网络接口层,主要处理网络连接硬件部分,比如操作系统,硬件设备驱动,网卡,光纤等等。
tcp/ip协议组:
http客户端传输到TCP进行分割表上序号和端口号,转发给网络层,网络层回在数据包上增加作为通讯地的mac地址,然后转发给链路层。接受端接受到数据会一直向上传输数据,一直到应用层。
FTP主要用于传输文件和访问,DNS域名系统协议,有圆点和一串英文字母组成,属于分布式系统。
http协议简介:
http协议(Hyper Text Transfer Protocol)属于超文本传输通讯协议,它允许超文本标记语言(HTML) 文档从web服务器传送到客户端浏览器 ,是属于应用层的一种协议,承载与tcp之上,有请求和响应构成,是一个标准的客户端服务器模型。客户端发起请求request(post,get) 服务器接受到请求,然后对数据报文响应(response)回送给浏览器。
http协议:两种方式。1.0 和1.1,
HTTP 1.0规定浏览器与服务器只保持短暂的连接,浏览器的每次请求都需要与服务器建立一个TCP连接,服务器完成请求处理后立即断开TCP连接,服务器不跟踪每个客户也不记录过去的请求。
HTTP1.1 HTTP 1.1支持持久连接,在一个TCP连接上可以传送多个HTTP请求和响应,减少了建立和关闭连接的消耗和延迟。 HTTP 1.1还允许客户端不用等待上一次请求结果返回,就可以发出下一次请求,但服务器端必须按照接收到客户端请求的先后顺序依次回送响应结果,以保证客户端能够区分出每次请求的响应内容,这样也显著地减少了整个下载过程所需要的时间 HTTP 1.1中增加Host请求头字段后,WEB浏览器可以使用主机头名来明确表示要访问服务器上的哪个WEB站点,这才实现了在一台WEB服务器上可以在同一个IP地址和端口号上使用不同的主机名来创建多个虚拟WEB站点。
HTTP 1.1还提供了与身份认证、状态管理和Cache缓存等机制相关的请求头和响应头。
http协议应用场景:webService= http+xml,Reset =http+json, API的实现:HTTP+XML/JSON
TCP协议 :tcp协议是一个面向连接的、可靠的协议 TCP(transmission control protocol) 是专门设计用于在不可靠的因特网上提供可靠的、端到端的字节流通信的协议。它是一种面向连接的协议。TCP连接是字节流而非报文流。字节流服务
使用TCP协议传输数据,当数据从A端传到B端后,B端会发送一个确认包(ACK包)给A端,告知A端数据我已收到!UDP协议就没有这种确认机制!这就是为什么说TCP协议可靠,UDP协议不可靠.
UDP协议:udp是一个不可靠的、无连接协议 UDP(user datagram protocol ) UDP向应用程序提供了一种发送封装的原始IP数据报的方法、并且发送时无需建立连接。是一种不可靠的连接
UDP 协议是无连接的数据传输协议并且无重传机制,会发生丢包、收到重复包、乱序等情况。而对于数据精确性要求不高的状态数据以及视频数据,丢包的影响不大。因为会不断收到新的包,丢失的个别包会有新的包来覆盖,所以只需在远程控制系统的通信部分自行处理乱序及重复包的问题,而对于丢包的问题一般不作处理。 但对于命令包这种需要精确收发的数据, 可在程序的开发中加入丢包重发和超时丢弃的处理。 当然,如果开发的是对于实时性要求不高的事件型控制命令的传输,不希望发生指令的丢失也可以直接采用TCP协议。TCP的重传机制正好适合这种情况。 QQ普通会员就是使用的UDP协议进行传输数据!
udp 服务器:
网络层:IP 名为Internet Protocol,翻译层网际协议,位于网络层。 ip的作用,主要将各种数据包传给对方,要确保传送到对放那里,就需要满足各种条件,最重要的就是两个一个是ip地址,一个mac地址。ip地址节点本分配到的地址,mac地址指网卡地址,基本不会改变。所属固定地址。可以使用ARP协议凭借MAC地址进行通信。ARP是一种用以解析地址的协议,根据通信方的IP地址就可以反查出对于的MAC地址。在网络上通信的双方经过多台计算机,或者网络,中转连接到对方,利用中转时,就是利用一个中转地址MAC地址连接对方。
ip tcp DNS 和HTTP协议的关系。
我们访问一个网站 比如www.baidu.com.首先将域名发送给DNS去解析,DNS解析后将百度的IP地址返回给客户端,然后发起http请求,生层整队目标web服务器的请求报文,然后请求报文传输给传输层,tcp 会去将http请求按序号分给层字节流报文段,然后到网络层 IP地址会去搜索地方ip地址,一边中转,一边传输。然后到了服务器tcp会成客户端接受到的报文按照序号重组报文段,服务器http会对请求内容进行处理响应,然后服务器也会tcp/Ip通信协议,回传响应,然后输出到客户端,展示给页面。
URI和URL关系
URI :统一资源标识符,是一个用于标识某一互联网资源名称的字符串。唯一的,用于标识某一互联网资源。
URL:统一资源定位符,它描述一台服务器某特定资源的特定位置,能过通过明确的一个地址找到资源。(资源所处的位置)
URI和URL关系:URL是URI的子集。
URI格式:http://user:pass@www.example.com: 80/home/index.html?age=11#mask主要有方案+主机+路径+查询 +片段
http:协议方案名
user:pass:登录信息(认证)
www.example.com:服务器地址
80:端口号
/home/index.html:文件路径
age=11:查询字符串
mask:片段标识符
协议方案名:http:https:、ftp:等,在获取资源时要指定协议类型,方案名不分大小写。解析url按照那种方案开始。
登录信息(认证):
指定用户名和密码作为服务器端获取资源时必要的登录信息,此项是可选的。用户名和密码用:分割,然后@符号分割后面的地址。
服务器地址:
使用绝对URI必须指定待访问的服务器地址。
服务器端口号:
指定服务器连接的网络端口,此项是可选的。
路径组件:
指定服务器的文件路径来定位资源的特定资源,格式为:/home/index.html
参数:
为应用程序提供访问资源所需的附加信息.列如:ftp://127.24.24.24/pud/pic;type=d
查询字符串:
针对已指定的文件路径的资源,可以使用查询字符串传入任意参数,此项是可选的。很多查询数据库,通过参数去搜素范围变小
片段标识符:
通常可标记出以获取资源中的子资源(文档内的某一个位置),此项是可以选择的。是用#和ur其他部分l分开。客户端是不能将片段传送给服务器的,服务器只处理这个url对象,不处理某个片段。根据片段显示那块片段内容。
主要可以分为4层,分别是应用层 ,传输层,网络层,数据链路层。分层的好处在于如果要改变某一个协议时候,不会去影响到其他协议。如同Java中的封装,隔离。
1. 应用层 :负责处理特定的应用程序,在TCP/IP协议组中预存了各类同用的应用服务,比如FTP,DNS,HTTP等等
2. 传输层:对上层应用层提供处于网络连接中的两台计算机之间的数据传输,有两个不同的协议:TCP/UDP、
3. 网络层:处理网络上流动的数据包。(网络上传输的最小数据单元) 该层主要协议有 IP(网际协议) ICMP(internet控制报文协议 用于IP主机 ,路由器之间传递控制消息) IGMP(Internet组管理协议)。这一层规定了通过怎样的路径到达对方的计算机,把数据包传送给对方。
4. 数据链路层,也叫做网络接口层,主要处理网络连接硬件部分,比如操作系统,硬件设备驱动,网卡,光纤等等。
tcp/ip协议组:
http客户端传输到TCP进行分割表上序号和端口号,转发给网络层,网络层回在数据包上增加作为通讯地的mac地址,然后转发给链路层。接受端接受到数据会一直向上传输数据,一直到应用层。
FTP主要用于传输文件和访问,DNS域名系统协议,有圆点和一串英文字母组成,属于分布式系统。
http协议简介:
http协议(Hyper Text Transfer Protocol)属于超文本传输通讯协议,它允许超文本标记语言(HTML) 文档从web服务器传送到客户端浏览器 ,是属于应用层的一种协议,承载与tcp之上,有请求和响应构成,是一个标准的客户端服务器模型。客户端发起请求request(post,get) 服务器接受到请求,然后对数据报文响应(response)回送给浏览器。
http协议:两种方式。1.0 和1.1,
HTTP 1.0规定浏览器与服务器只保持短暂的连接,浏览器的每次请求都需要与服务器建立一个TCP连接,服务器完成请求处理后立即断开TCP连接,服务器不跟踪每个客户也不记录过去的请求。
HTTP1.1 HTTP 1.1支持持久连接,在一个TCP连接上可以传送多个HTTP请求和响应,减少了建立和关闭连接的消耗和延迟。 HTTP 1.1还允许客户端不用等待上一次请求结果返回,就可以发出下一次请求,但服务器端必须按照接收到客户端请求的先后顺序依次回送响应结果,以保证客户端能够区分出每次请求的响应内容,这样也显著地减少了整个下载过程所需要的时间 HTTP 1.1中增加Host请求头字段后,WEB浏览器可以使用主机头名来明确表示要访问服务器上的哪个WEB站点,这才实现了在一台WEB服务器上可以在同一个IP地址和端口号上使用不同的主机名来创建多个虚拟WEB站点。
HTTP 1.1还提供了与身份认证、状态管理和Cache缓存等机制相关的请求头和响应头。
http协议应用场景:webService= http+xml,Reset =http+json, API的实现:HTTP+XML/JSON
TCP协议 :tcp协议是一个面向连接的、可靠的协议 TCP(transmission control protocol) 是专门设计用于在不可靠的因特网上提供可靠的、端到端的字节流通信的协议。它是一种面向连接的协议。TCP连接是字节流而非报文流。字节流服务
如下所示:服务端: //建立服务端 ServerSocket server= new ServerSocket(8888); //等待客户端的响应 Socket s= server.accept(); // 获取客户端胡输入流 和 输出流 OutputStream os= s.getOutputStream(); InputStream is= s.getInputStream(); BufferedReader br= new BufferedReader( new InputStreamReader(is)); PrintStream bw= new PrintStream( os); //专门用来打印的(写) 客户端: //建立客户端 Socket socket= new Socket( "localhost",8888); //Localized获取本机的IP地 // 获取客户端的输入流 和 输出流 OutputStream os= socket.getOutputStream(); InputStream is= socket.getInputStream(); BufferedReader br= new BufferedReader( new InputStreamReader(is)); PrintStream bw= new PrintStream( os); //专门用来打印的(写)
使用TCP协议传输数据,当数据从A端传到B端后,B端会发送一个确认包(ACK包)给A端,告知A端数据我已收到!UDP协议就没有这种确认机制!这就是为什么说TCP协议可靠,UDP协议不可靠.
UDP协议:udp是一个不可靠的、无连接协议 UDP(user datagram protocol ) UDP向应用程序提供了一种发送封装的原始IP数据报的方法、并且发送时无需建立连接。是一种不可靠的连接
UDP 协议是无连接的数据传输协议并且无重传机制,会发生丢包、收到重复包、乱序等情况。而对于数据精确性要求不高的状态数据以及视频数据,丢包的影响不大。因为会不断收到新的包,丢失的个别包会有新的包来覆盖,所以只需在远程控制系统的通信部分自行处理乱序及重复包的问题,而对于丢包的问题一般不作处理。 但对于命令包这种需要精确收发的数据, 可在程序的开发中加入丢包重发和超时丢弃的处理。 当然,如果开发的是对于实时性要求不高的事件型控制命令的传输,不希望发生指令的丢失也可以直接采用TCP协议。TCP的重传机制正好适合这种情况。 QQ普通会员就是使用的UDP协议进行传输数据!
udp 服务器:
public class UdpServer { public static void main(String[] args) { DatagramSocket ds = null; try{ ds = new DatagramSocket(5000);//创建udp连接 byte[] buf = new byte[1024]; DatagramPacket dp =new DatagramPacket(buf, buf.length);//将数据包拆分buf ds.receive(dp);//接受数据包 String mes = new String(buf); System.out.println(mes); }catch(Exception e){ e.printStackTrace(); }finally{ if(ds !=null){ ds.close(); } } } } udp 客户端 public class UdpClient { public static void main(String[] args) { DatagramSocket ds = null; String mes = "hello, 你好"; try{ ds = new DatagramSocket();//创建UDP连接 byte[] buf = mes.getBytes(); DatagramPacket dp = new DatagramPacket(buf, buf.length, new InetSocketAddress("127.0.0.1", 5000));//将数据包打好,并指定到数据包 ds.send(dp);//发送数据包 }catch(Exception e){ e.printStackTrace(); }finally{ ds.close(); } } }
网络层:IP 名为Internet Protocol,翻译层网际协议,位于网络层。 ip的作用,主要将各种数据包传给对方,要确保传送到对放那里,就需要满足各种条件,最重要的就是两个一个是ip地址,一个mac地址。ip地址节点本分配到的地址,mac地址指网卡地址,基本不会改变。所属固定地址。可以使用ARP协议凭借MAC地址进行通信。ARP是一种用以解析地址的协议,根据通信方的IP地址就可以反查出对于的MAC地址。在网络上通信的双方经过多台计算机,或者网络,中转连接到对方,利用中转时,就是利用一个中转地址MAC地址连接对方。
ip tcp DNS 和HTTP协议的关系。
我们访问一个网站 比如www.baidu.com.首先将域名发送给DNS去解析,DNS解析后将百度的IP地址返回给客户端,然后发起http请求,生层整队目标web服务器的请求报文,然后请求报文传输给传输层,tcp 会去将http请求按序号分给层字节流报文段,然后到网络层 IP地址会去搜索地方ip地址,一边中转,一边传输。然后到了服务器tcp会成客户端接受到的报文按照序号重组报文段,服务器http会对请求内容进行处理响应,然后服务器也会tcp/Ip通信协议,回传响应,然后输出到客户端,展示给页面。
URI和URL关系
URI :统一资源标识符,是一个用于标识某一互联网资源名称的字符串。唯一的,用于标识某一互联网资源。
URL:统一资源定位符,它描述一台服务器某特定资源的特定位置,能过通过明确的一个地址找到资源。(资源所处的位置)
URI和URL关系:URL是URI的子集。
URI格式:http://user:pass@www.example.com: 80/home/index.html?age=11#mask主要有方案+主机+路径+查询 +片段
http:协议方案名
user:pass:登录信息(认证)
www.example.com:服务器地址
80:端口号
/home/index.html:文件路径
age=11:查询字符串
mask:片段标识符
协议方案名:http:https:、ftp:等,在获取资源时要指定协议类型,方案名不分大小写。解析url按照那种方案开始。
登录信息(认证):
指定用户名和密码作为服务器端获取资源时必要的登录信息,此项是可选的。用户名和密码用:分割,然后@符号分割后面的地址。
服务器地址:
使用绝对URI必须指定待访问的服务器地址。
服务器端口号:
指定服务器连接的网络端口,此项是可选的。
路径组件:
指定服务器的文件路径来定位资源的特定资源,格式为:/home/index.html
参数:
为应用程序提供访问资源所需的附加信息.列如:ftp://127.24.24.24/pud/pic;type=d
查询字符串:
针对已指定的文件路径的资源,可以使用查询字符串传入任意参数,此项是可选的。很多查询数据库,通过参数去搜素范围变小
片段标识符:
通常可标记出以获取资源中的子资源(文档内的某一个位置),此项是可以选择的。是用#和ur其他部分l分开。客户端是不能将片段传送给服务器的,服务器只处理这个url对象,不处理某个片段。根据片段显示那块片段内容。
发表评论
-
Java 设计模式源码
2020-08-17 20:17 141经过一段时间学习和实践,整理了绝大多数设计模式源码demo 。 ... -
mac ngrok 使用
2018-12-20 18:22 864ngrok 是一个反向代理,通过在公共端点和本 ... -
Java元组学习
2018-12-19 15:38 604在Java 中我们平时用的接口和方法 只是单一 ... -
密码学2 密码安全注意
2018-11-30 15:11 5801.Java API支持 位于java.security包及子 ... -
base64 和 base32 源码解析
2018-11-30 14:19 1479package com.zd.demo; import ... -
maven 常用命令
2018-01-22 14:43 363mvn compile 编译源代码 mvn test-comp ... -
上传excel 通过url下载文件
2017-07-06 16:22 1052/** * 下载图片 */ ... -
多线程实现原理并发机制
2017-03-07 20:29 814进程: 查询百度大致可以理解为一段具有独 ... -
Guava包的ListenableFuture解析
2016-10-09 13:40 1039package com.downjoy.test.guava. ... -
spring+guava事件异步分发处理
2016-10-09 09:56 4362Guava是Google开源的一个Java基础类库,它在Goo ... -
httpUtil工具和apche httpclient 工具类使用
2016-09-26 15:38 2393httpUtil请求网络请求工具: package demo ... -
mongodb+spring +morphia完整版框架搭建
2016-09-09 10:22 5713Morphia是一个开放源代 ... -
mongodb注解详解
2016-09-06 09:26 40451、@Entity 如果你想通过Morphia把你的对 ... -
自定义MD5加盐加密方式代码实现
2016-09-02 16:45 5055按照自己的理解对密码加盐加密。当用户注册时候会先生成盐值 ... -
密码学
2016-08-25 11:14 5671 密码学简介 2.1 ... -
kafka
2016-08-11 14:08 705Kafka is a distributed,partiti ... -
dubbo+zookeeper构建高可用分布式集群
2016-08-24 09:47 4950(1) 当服务越来越多时, ... -
java生产6为邀请码
2016-08-09 17:23 1946package demo.dcn.vo; import ... -
jxl
2016-08-09 14:30 490Java生成和操作Excel文件 package dem ... -
UUID
2016-08-05 17:58 319UUID含义是通用唯一识别码 (Universally Uni ...
相关推荐
1基于蓝牙的项目开发--蓝牙温度监测器.docx
AppDynamics:性能瓶颈识别与优化
xtrabackup银河麒麟v10rpm安装包
2024年全球产品经理大会(脱敏)PPT合集,共34份。 1、AI 原生产品设计的 7 个反共识 2、AI 时代的策略产品与内容社区推荐实践 3、AI时代的用户界面设计 4、AI智能陪练:大模型赋能销售成长 5、AI浪潮中的应用主义者 6、AI驱动下的B端产品的思考与创新 7、AI驱动业务增长的探索与实践 8、Al Native 生产力工具的发展、价值与商业落地 9、B端产品设计避坑指南 10、GenAl驱动的xGen电商AI平台产品实践与思考 11、Kwaipilot 在快手的落地实践 12、OPPO AI的探索新交互到新生态 13、RPA + AI打造大模型驱动的领先数字员工 14、产品AI化重塑的思考与实践 15、产品分析:通过关键指标助力团队与企业成功 16、从RPA到Al Agent,高价值、可落地的智能助手 17、从流量运营到AI驱动的机器增长 18、做穿越时代的产品 19、创造好工具,创造世界一流产品力 20、医疗健康场景的大模型产品探索 21、即时零售柔性供应链体系建设与AIGC在零售数字化的探索 22、向量数据库的出海实践与未来展望 23、大模型在B端落地思考实践
基于物联网技术的停车场智能管理系统设计用户有单独APP
Adobe XD:AdobeXD高级技巧与最佳实践.docx
ARKit(iOS的增强现实):ARKit的多人AR场景实现
1python自动化脚本.docx
河北省、市、区县及街镇可编辑SVG图
金融工程之量化交易算法:均值回归:时间序列分析与预测.docx
技术资料分享ADV7123非常好的技术资料.zip
Sawmill_cn.ppt
使用LabVIEW输入数字n,然后计算n的阶乘
1无人值守灌溉系统--stm.docx
金融工程之量化交易算法:动量交易:金融数据获取与处理.docx
基于SSM的毕业设计源码
头像图片调试使用用来调试
GITS_sawmill8.5.8.1_x64_linux-ubuntu11.tar.gz
Newspaper 是一个专为新闻、杂志和内容丰富网站设计的 WordPress 主题。它非常适合博客、在线出版和内容展示,具备多种强大功能。以下是 Newspaper 的主要特点: 响应式设计:确保网站在各种设备上(手机、平板、桌面)都能良好显示,优化用户体验。 丰富的预建模板:提供多个专业设计的预建布局和页面模板,用户可以快速导入并根据需求进行修改。 强大的页面构建器:内置的 TagDiv Composer 允许用户通过拖放功能轻松创建和自定义页面,无需编写代码。 SEO 优化:主题经过优化,有助于提升网站在搜索引擎中的排名,增加流量。 多种内容展示选项:提供多种文章格式和布局选项,如网格、列表、视频和画廊,方便展示不同类型的内容。 社交媒体集成:支持社交媒体分享功能,帮助用户轻松与观众互动并提高网站的曝光度。 实时自定义:支持实时预览功能,用户可以在更改设置时即时查看效果。 持续更新和支持:定期更新主题,确保用户获得最新功能和安全性,同时提供专业的技术支持。
国内市场:功能化脂质市场现状研究分析与发展前景预测报告(2024版).docx