TCP/IP协议
展开全部
TCP/IP协议是一个协议集合,HTTP协议,IP协议,TCP协议,DNS协议等都属于TCP/IP协议。
TCP/IP协议是为了保证全球亿万台计算机能准确、无误的通信。
TCP/IP中分层是很重要的概念,每层完成不同的功能。分为应用层,传输层,网络层,数据链路层。分层的目的是为了层级之间的功能相对队里,互不影响。
TCP/IP通信数据流
HTTP是基于TCP/IP协议的应用层协议,它不涉及数据包的传输,主要规定了客户端和服务器端的通信协议,默认端口是80
IP协议的作用是将各种数据包准确无误的传递给对方,其中重要的条件是IP地址和MAC地址。由于IP地址是稀有资源,不可能每个人都有一个IP地址,所以我们通常的IP地址都是路由器给我们生成的IP地址,路由器里面会记录我们的MAC地址,而MAC地址是唯一的。
IP实现的两个基本功能:寻址和分段
寻址功能就是原地址和目标地址之间建立连接,需要使用ARP协议(Address Resolution Protocol),IP协议就是找到一条连接两台电脑的路径,从而完成数据的交互。
地址解析协议,ARP协议,是根据IP地址获取物理地址的一个TCP/IP协议。IP间的通信依赖MAC地址。在进行中转时,会利用下一站中转设备的MAC地址来搜索下一个中转目标,这时就会采用ARP协议,根据通讯放的IP地址就可以反查出对应的MAC地址,从而进行精确的定位,完成寻址的功能。
分段功能是为了适应不同网络对包的要求,对数据进行重新组装。
TCP协议就是将数据包安全的给对方,IP协议是找到对方的详细地址,分工不同,互不冲突。
TCP属于传输层,提供可靠的字节流服务。字节流类似于数据切割,为了方便传输,将大块数据分割成以报文段(segment)为单位的数据包进行管理。可靠的传输服务是指,能够把数据准确可靠的传给对方。TCP协议为了更容易的传输大数据才将数据进行分割,而且TCP协议能够确认数据最终是否送达对方。
为了确保信息准确无误的送达,TCP采用了三次握手策略(three-way-handshaking)。TCP建立连接时需要三次握手,在关闭连接时还需要四次握手。 这部分占用了http请求过程的中大量时间,在高并发时,可以考虑优化这部分。
和HTTP协议一样是处于应用层的服务,提供域名到IP地址之间的解析服务。
1、可缓存:get请求能缓存,post请求不能;响应报文的状态码是可缓存的,包括:200, 203, 204, 206, 300, 301, 404, 405, 410, 414, and 501。
2、get是获取资源,post用于传输实体主体。
3、参数:get请求的参数在url里面,会被浏览器保存历史记录,post的请求数据在数据包里面,同时因为url只支持ASCII码,因此get的参数如果存在汉字就要先进性编码,post请求支持更多的编码类型且不对数据类型限制;post传输的数据比get的多;url的长度有限制,会影响get请求;
4、安全的HTTP方法不会改变服务器状态,也就说是只读的。所以get是安全的,post不是安全的。
5、幂等性:get是幂等的,post不是幂等的。
6、XMLHttpRequest: 在使用XMLHttpRequest时,post请求发送时,浏览器会先发送header再发送Data;get请求header和data一起发送。
XMLHttpRequest 是一个 API,它为客户端提供了在客户端和服务器之间传输数据的功能。它提供了一个通过 URL 来获取数据的简单方式,并且不会使整个页面刷新。这使得网页只更新一部分页面而不会打扰到用户。XMLHttpRequest 在 AJAX 中被大量使用。
200 OK,表示从客户端发来的请求在服务器端被正确处理。
204 No content,表示请求成功,但是想要报文不包含实体的主体部分。
206 Partial Content ,进行范围请求。
301 moved permanently 永久性重定向,表示自愿一杯分配了新的URL。
302 found 临时性重定向,表示自愿临时被分配了新的URL。
303 see other 表示资源存在着另一个URL,应使用GET方法获取资源。和 302 有着相同的功能,但是 303 明确要求客户端应该采用 GET 方法获取资源。
注:虽然 HTTP 协议规定 301、302 状态下重定向时不允许把 POST 方法改成 GET 方法,但是大多数浏览器都会在 301、302 和 303 状态下的重定向把 POST 方法改成 GET 方法。
304 not modified 表示服务器允许访问资源,但因发生请求未满足条件的情况。
307 temporary redirect,临时重定向,和302含义相同。但是 307 要求浏览器不会把重定向请求的 POST 方法改成 GET 方法。
400 bad request 请求报文存在语法错误
401 unauthorized 表示没有权限
403 forbidden 表示对请求资源的访问被服务器拒绝
404 not found 表示在服务器上没有找到请求的资源
500 internal sever error 表示服务器端在执行请求时错误
503 service unavailable 表明服务器暂时处于超负载或正在停机维护,无法处理请求
HTTPS是HTTP建立在SSL/TLS安全协议上的。
在IOS中,客户端本地会存有CA证书,在HTTPS请求时,会首先向服务器获取公钥,获得公钥后会使用本地的CA证书验证公钥的正确性,然后通过正确的公钥加密信息发送给服务器,服务器会使用私钥解密信息。
SSL/TSL握手阶段分为五步:
HTTP和HTTPS的对比:
HTTP:无状态,协议对客户端没有状态存储;无连接,每次请求都会和服务器重新建立连接;基于请求和响应,由客户端发起,服务端响应;简单快速,灵活;使用明文,请求和响应不会对通信方进行确认,无法保证数据的完整性。
HTTPS:内容加密,采用混合加密技术,中间者无法直接查看明文内容;验证身份,通过证书认真客户端访问的是自己的服务器;保护数据完整性,放置传输的内容被中间人冒充或篡改。
TCP/IP协议是为了保证全球亿万台计算机能准确、无误的通信。
TCP/IP中分层是很重要的概念,每层完成不同的功能。分为应用层,传输层,网络层,数据链路层。分层的目的是为了层级之间的功能相对队里,互不影响。
TCP/IP通信数据流
HTTP是基于TCP/IP协议的应用层协议,它不涉及数据包的传输,主要规定了客户端和服务器端的通信协议,默认端口是80
IP协议的作用是将各种数据包准确无误的传递给对方,其中重要的条件是IP地址和MAC地址。由于IP地址是稀有资源,不可能每个人都有一个IP地址,所以我们通常的IP地址都是路由器给我们生成的IP地址,路由器里面会记录我们的MAC地址,而MAC地址是唯一的。
IP实现的两个基本功能:寻址和分段
寻址功能就是原地址和目标地址之间建立连接,需要使用ARP协议(Address Resolution Protocol),IP协议就是找到一条连接两台电脑的路径,从而完成数据的交互。
地址解析协议,ARP协议,是根据IP地址获取物理地址的一个TCP/IP协议。IP间的通信依赖MAC地址。在进行中转时,会利用下一站中转设备的MAC地址来搜索下一个中转目标,这时就会采用ARP协议,根据通讯放的IP地址就可以反查出对应的MAC地址,从而进行精确的定位,完成寻址的功能。
分段功能是为了适应不同网络对包的要求,对数据进行重新组装。
TCP协议就是将数据包安全的给对方,IP协议是找到对方的详细地址,分工不同,互不冲突。
TCP属于传输层,提供可靠的字节流服务。字节流类似于数据切割,为了方便传输,将大块数据分割成以报文段(segment)为单位的数据包进行管理。可靠的传输服务是指,能够把数据准确可靠的传给对方。TCP协议为了更容易的传输大数据才将数据进行分割,而且TCP协议能够确认数据最终是否送达对方。
为了确保信息准确无误的送达,TCP采用了三次握手策略(three-way-handshaking)。TCP建立连接时需要三次握手,在关闭连接时还需要四次握手。 这部分占用了http请求过程的中大量时间,在高并发时,可以考虑优化这部分。
和HTTP协议一样是处于应用层的服务,提供域名到IP地址之间的解析服务。
1、可缓存:get请求能缓存,post请求不能;响应报文的状态码是可缓存的,包括:200, 203, 204, 206, 300, 301, 404, 405, 410, 414, and 501。
2、get是获取资源,post用于传输实体主体。
3、参数:get请求的参数在url里面,会被浏览器保存历史记录,post的请求数据在数据包里面,同时因为url只支持ASCII码,因此get的参数如果存在汉字就要先进性编码,post请求支持更多的编码类型且不对数据类型限制;post传输的数据比get的多;url的长度有限制,会影响get请求;
4、安全的HTTP方法不会改变服务器状态,也就说是只读的。所以get是安全的,post不是安全的。
5、幂等性:get是幂等的,post不是幂等的。
6、XMLHttpRequest: 在使用XMLHttpRequest时,post请求发送时,浏览器会先发送header再发送Data;get请求header和data一起发送。
XMLHttpRequest 是一个 API,它为客户端提供了在客户端和服务器之间传输数据的功能。它提供了一个通过 URL 来获取数据的简单方式,并且不会使整个页面刷新。这使得网页只更新一部分页面而不会打扰到用户。XMLHttpRequest 在 AJAX 中被大量使用。
200 OK,表示从客户端发来的请求在服务器端被正确处理。
204 No content,表示请求成功,但是想要报文不包含实体的主体部分。
206 Partial Content ,进行范围请求。
301 moved permanently 永久性重定向,表示自愿一杯分配了新的URL。
302 found 临时性重定向,表示自愿临时被分配了新的URL。
303 see other 表示资源存在着另一个URL,应使用GET方法获取资源。和 302 有着相同的功能,但是 303 明确要求客户端应该采用 GET 方法获取资源。
注:虽然 HTTP 协议规定 301、302 状态下重定向时不允许把 POST 方法改成 GET 方法,但是大多数浏览器都会在 301、302 和 303 状态下的重定向把 POST 方法改成 GET 方法。
304 not modified 表示服务器允许访问资源,但因发生请求未满足条件的情况。
307 temporary redirect,临时重定向,和302含义相同。但是 307 要求浏览器不会把重定向请求的 POST 方法改成 GET 方法。
400 bad request 请求报文存在语法错误
401 unauthorized 表示没有权限
403 forbidden 表示对请求资源的访问被服务器拒绝
404 not found 表示在服务器上没有找到请求的资源
500 internal sever error 表示服务器端在执行请求时错误
503 service unavailable 表明服务器暂时处于超负载或正在停机维护,无法处理请求
HTTPS是HTTP建立在SSL/TLS安全协议上的。
在IOS中,客户端本地会存有CA证书,在HTTPS请求时,会首先向服务器获取公钥,获得公钥后会使用本地的CA证书验证公钥的正确性,然后通过正确的公钥加密信息发送给服务器,服务器会使用私钥解密信息。
SSL/TSL握手阶段分为五步:
HTTP和HTTPS的对比:
HTTP:无状态,协议对客户端没有状态存储;无连接,每次请求都会和服务器重新建立连接;基于请求和响应,由客户端发起,服务端响应;简单快速,灵活;使用明文,请求和响应不会对通信方进行确认,无法保证数据的完整性。
HTTPS:内容加密,采用混合加密技术,中间者无法直接查看明文内容;验证身份,通过证书认真客户端访问的是自己的服务器;保护数据完整性,放置传输的内容被中间人冒充或篡改。
Storm代理
2023-07-25 广告
2023-07-25 广告
StormProxies是一家国内优质海外HTTP代理商,拥有一个庞大的IP资源池,覆盖200多个地区,IP数量大且匿名度高。其优点还包括超高并发、稳定高效、技术服务等特点,同时提供HTTP、HTTPS以及SOCKS5协议支持。此外,Sto...
点击进入详情页
本回答由Storm代理提供
展开全部
TCP/IP是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇,只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。
TCP/IP协议是一套用于在Internet上互联网络设备的通信协议;可以用作专门网络中的通信协议。它旨在建立网络连接,为主机提供对互联网的访问。
互联网协议簇TCP/IP被划分为四层,自下到上划分:网络接口层、网络互连层、传输层、应用层。这四层的每一层起到的作用都不相同。
①网络接口层:是TCP/IP模型的最底层,主要功能是接收上一层的IP数据报,通过网络向外发送,或者接收或处理来自网络上的物理帧,并抽取IP数据传送到网络层。
②网络互连层:用来处理网络上流动的数据包。数据包是网络传输的最小数据单位。改层规定了通过怎样的路径到达对方计算机,并把数据包传送给对方。
与对方计算机之间通过多台计算机或者网络设备进行传输时,网络层所起的作用就是在众多的选项内选择一条传输线路。
③应用层:应用层协议包含了用于网络进程间通信的协议,并提供稳定的通信接口和终端用户服务。也决定了向用户提供应用服务时通信的活动。
④传输层:对上层应用层,提供处于网络连接中的两台计算机之间的数据传输。传输层有两个性质不同的协议:TCP、UDP。
TCP/IP协议是一套用于在Internet上互联网络设备的通信协议;可以用作专门网络中的通信协议。它旨在建立网络连接,为主机提供对互联网的访问。
互联网协议簇TCP/IP被划分为四层,自下到上划分:网络接口层、网络互连层、传输层、应用层。这四层的每一层起到的作用都不相同。
①网络接口层:是TCP/IP模型的最底层,主要功能是接收上一层的IP数据报,通过网络向外发送,或者接收或处理来自网络上的物理帧,并抽取IP数据传送到网络层。
②网络互连层:用来处理网络上流动的数据包。数据包是网络传输的最小数据单位。改层规定了通过怎样的路径到达对方计算机,并把数据包传送给对方。
与对方计算机之间通过多台计算机或者网络设备进行传输时,网络层所起的作用就是在众多的选项内选择一条传输线路。
③应用层:应用层协议包含了用于网络进程间通信的协议,并提供稳定的通信接口和终端用户服务。也决定了向用户提供应用服务时通信的活动。
④传输层:对上层应用层,提供处于网络连接中的两台计算机之间的数据传输。传输层有两个性质不同的协议:TCP、UDP。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询