营销网站建设费用,泸州做网站的公司,劳力士手表网站,wordpress 邮件 key一.网络分类
1.按照网络的作用范围进行分类
#xff08;1#xff09;广域网WAN(Wide Area Network)
广域网的作用范围通常为几十到几千公里,因而有时也称为远程网#xff08;long haul network#xff09;。广域网是互联网的核心部分#xff0c;其任务是长距离运送主机…一.网络分类
1.按照网络的作用范围进行分类
1广域网WAN(Wide Area Network)
广域网的作用范围通常为几十到几千公里,因而有时也称为远程网long haul network。广域网是互联网的核心部分其任务是长距离运送主机所发送的数据。
2城域网MAN(Metropolitan Area Network)
城域网的作用范围一般是一个城市可跨越几个街区甚至整个城市其作用距离约为5-50km.城域网可以为一个或几个单位所拥有也可以是一种公共设施用来将多个局域网进行互连。目前很多城域网采用的是以太网技术。
3局域网(Local Area Network)
局域网一般用微型计算机或工作站通过高速通信线路相连但地理上则局限在较小的范围如1km左右
4个人区域网PAN(Perisonal Area Network)
个人局域网就是在个人工作的地方把属于个人使用的电子设备用无线技术连接起来的网络因此也常常称为无线个人局域网WPANWireless PAN,其范围很小大约在10m左右。
2.按照网络的使用者进行分类
1公用网public network
这是指电信公司出资建造的大型网络。“公用”就是所有愿意按电信公司的规定交纳费用的人都可以使用这种网络。
2专用网络private network
这是某个部门为满足单位的特殊业务工作的需要而建造的网络。这种网络不向本单位以外的人提供服务。例如 军队铁路银行......
二.体系结构
为了使不同体系结构的计算机网络能互连国际标准化组织ISO于1977提出了各种计算机在世界范围内互联成网的标准框架即著名的开放系统互连基本参考模型OSI/RMOpen Systems Interconnection Reference Model,简称为OSI。 3.运输层
运输层的任务就是负责向两台主机中的进程之间的通信提供通用的数据传输服务。应用进程利用该服务传送应用层报文。
运输层主要使用以下两种协议:
传输控制协议TCPTransmisson Control Protocol
TCP时面向连接(一对一)的运输层协议提供可靠的数据传输服务和全双工通信其数据传输的单位是报文段
用户数据报协议UDPUser Datagram Protocol
提供无连接的尽最大努力的数据传输服务不保证数据传输的可靠性其数据传输的单位是用户数据报
①TCP
TCP 提供面向有连接的通信传输面向有连接是指在传送数据之前必须先建立连接数据传送完成后要释放连接。无论哪一方向另一方发送数据之前都必须先在双方之间建立一条连接。
在TCP/IP协议中TCP协议提供可靠的连接服务连接是通过三次握手进行初始化的。
TCP是全双工模式(互相发送信息)所以需要四次挥手关闭连接。 每一条TCP连接有两个端点.比如在电脑分别用谷歌和火狐浏览器登录B站,B站则需要把内容发给两个不同的应用进程,那么除了IP地址以外还需要端口号才能保证内容不会错发给应用进程,在访问B站的时候浏览器会自动给我添加端口号443(HTTPS),然后电脑中会给不同浏览器分配不同的端口号.这样进行连接就会像管道一样特定进行传输.那么IP地址加端口号称为套接字socket
TCP首部格式
在TCP首部格式需要知道几个字段
序号(seq)
占四字节.在一个TCP连接中传送的字节流中的每一个字节都按顺序编号.
确认号(ack)
占四字节 是期望对方收到下一个报文段的一个数据字节的序号.
记住:若确认号为N,则表明N-1为止的所有数据都已正确收到.
紧急URG(URGent):
当URG1时,表示紧急指针有效.发送应用进程告诉t发送方的tcp有紧急数据要传送.于是发送方TCP就把紧急数据插入本报问段数据的最前面而在紧急数据后面的数据仍是普通数据
确认ACK(ACKnowledgment)
仅当ACk1时确认号字段才有效.当为0时,确认号无效.TCP规定在连接后所有传送的报文段都必须把ACK置为1
推送PSH(PuSH)
当发送方TCP把PSH置为1,并立即创建一个报文段发送出去.接收方TCP收到PSH1报文段,就尽快交付接受应用进程,而不再等到整个缓存都填满了后再向上交付.
复位RST(ReSeT)
当RST1时,表示TCP连接中出现严重差错(如主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接.将RST置为1来拒绝一个非法的报文或者拒绝打开一个连接.RST也称为重建位或重置位.
同步SYN(SYNchronization)
当SYN而ACK0时,表明这是一个连接请求报文段.若对方同意建立连接,则在响应的报文段中使用SYN1和ACK1.因此SYN置为1就表示这是一个连接请求或者连接接受报文.
终止FIN(FINish)
当FIN时表明此报文段的发送方数据已发送完毕并要求释放运输连接
TCP三次握手
所谓三次握手(Three-way Handshake)是指建立一个 TCP 连接时需要客户端和服务器总共发送3个报文。
过程如下
第一次握手客户端给服务端发一个 SYN(同步,连接请求) 报文并指明客户端的初始化序列号 ISN(c)此时客户端处于 SYN_SENT 状态第二次握手服务器收到客户端的 SYN 报文之后会以自己的 SYN 报文作为应答并且开启ACK(确认),为了确认客户端的 SYN将客户端的 ISN1作为ACK的值此时服务器处于 SYN_RCVD 的状态第三次握手客户端收到 SYN 报文之后会发送一个 ACK 报文值为服务器的ISN1。此时客户端处于 ESTABLISHED 状态。服务器收到 ACK 报文之后也处于 ESTABLISHED 状态此时双方已建立起了连接 第一次握手客户端发送网络包服务端收到了 这样服务端就能得出结论客户端的发送能力、服务端的接收能力是正常的。第二次握手服务端发包客户端收到了 这样客户端就能得出结论服务端的接收、发送能力客户端的接收、发送能力是正常的。不过此时服务器并不能确认客户端的接收能力是否正常第三次握手客户端发包服务端收到了。 这样服务端就能得出结论客户端的接收、发送能力正常服务器自己的发送、接收能力也正常
TCP四次挥手
客户端和服务端都可以主动发送关闭连接的请求
过程如下
第一次挥手客户端发送一个 FIN 报文报文中会指定一个序列号。此时客户端处于 FIN_WAIT1 状态停止发送数据等待服务端的确认第二次挥手服务端收到 FIN 之后会发送 ACK 报文且把客户端的序列号值 1 作为 ACK 报文的序列号值表明已经收到客户端的报文了此时服务端处于 CLOSE_WAIT状态第三次挥手如果服务端也想断开连接了和客户端的第一次挥手一样发给 FIN 报文且指定一个序列号。此时服务端处于 LAST_ACK 的状态第四次挥手客户端收到 FIN 之后一样发送一个 ACK 报文作为应答且把服务端的序列号值 1 作为自己 ACK 报文的序列号值此时客户端处于 TIME_WAIT状态。需要过一阵子以确保服务端收到自己的 ACK 报文之后才会进入 CLOSED 状态服务端收到 ACK 报文之后就处于关闭连接了处于 CLOSED 状态 #四次挥手原因
服务端在收到客户端断开连接Fin报文后并不会立即关闭连接而是先发送一个ACK包先告诉客户端收到关闭连接的请求只有当服务器的所有报文发送完毕之后才发送FIN报文断开连接因此需要四次挥手
三.HTTP和HTTPS
HTTPHyperText Transfer Protocol超文本传输协议
不同点
①连接方面
HTTP 和 HTTPS 使用连接方式不同默认端口也不一样HTTP是80HTTPS是443
②加密方面
HTTP协议运行在TCP之上所有传输的内容都是明文。HTTPS使用SSL/TLS协议对HTTP报文进行加密使得敏感数据在网络传输过程中不容易被窃听和篡改。这种加密过程结合了对称加密和非对称加密确保数据的保密性和完整性。 1.HTTP1.0 HTTP.1.1 HTTP2.0区别
①HTTP1.0 ②HTTP1.1 ②HTTP2.0
四.Get和Post请求区别
get请求通常用于从服务器获取资源参数暴露在URL中存在安全隐患并且传输长度受URL限制一般为2k。
情况例举在地址栏输入url访问点击a链接link标签引入cssimg标签引入图片script标签引入jsvideo与audio引入多媒体form标签的method为getajax的get请求。
post请求通常用于向服务器提交数据或者创建新的资源。数据放在请求体中而不是暴露在URL中理论上来说没有传输长度限制。
情况举例form标签的method为postajax的post请求。
五.HTTP响应状态码
状态码第一位数字决定了不同的响应状态有如下
1 表示消息2 表示成功3 表示重定向4 表示请求错误5 表示服务器错误
#1xx
代表请求已被接受需要继续处理。这类响应是临时响应只包含状态行和某些可选的响应头信息并以空行结束
常见的有
100客户端继续发送请求这是临时响应这个临时响应是用来通知客户端它的部分请求已经被服务器接收且仍未被拒绝。客户端应当继续发送请求的剩余部分或者如果请求已经完成忽略这个响应。服务器必须在请求完成后向客户端发送一个最终响应101服务器根据客户端的请求切换协议主要用于websocket或http2升级
#2xx
代表请求已成功被服务器接收、理解、并接受
常见的有 200成功请求已成功请求所希望的响应头或数据体将随此响应返回 201已创建请求成功并且服务器创建了新的资源 202已创建服务器已经接收请求但尚未处理 203非授权信息服务器已成功处理请求但返回的信息可能来自另一来源 204无内容服务器成功处理请求但没有返回任何内容 205重置内容服务器成功处理请求但没有返回任何内容 206部分内容服务器成功处理了部分请求
#3xx
表示要完成请求需要进一步操作。 通常这些状态代码用来重定向
常见的有 300多种选择针对请求服务器可执行多种操作。 服务器可根据请求者 (user agent) 选择一项操作或提供操作列表供请求者选择 301永久移动请求的网页已永久移动到新位置。 服务器返回此响应对 GET 或 HEAD 请求的响应时会自动将请求者转到新位置 302临时移动 服务器目前从不同位置的网页响应请求但请求者应继续使用原有位置来进行以后的请求 303查看其他位置请求者应当对不同的位置使用单独的 GET 请求来检索响应时服务器返回此代码 305 使用代理 请求者只能使用代理访问请求的网页。 如果服务器返回此响应还表示请求者应使用代理 307 临时重定向 服务器目前从不同位置的网页响应请求但请求者应继续使用原有位置来进行以后的请求
#4xx
代表了客户端看起来可能发生了错误妨碍了服务器的处理
常见的有
400错误请求 服务器不理解请求的语法401未授权 请求要求身份验证。 对于需要登录的网页服务器可能返回此响应。403禁止 服务器拒绝请求404未找到 服务器找不到请求的网页405方法禁用 禁用请求中指定的方法406不接受 无法使用请求的内容特性响应请求的网页407需要代理授权 此状态代码与 401未授权类似但指定请求者应当授权使用代理408请求超时 服务器等候请求时发生超时
#5xx
表示服务器无法完成明显有效的请求。这类状态码代表了服务器在处理请求的过程中有错误或者异常状态发生
常见的有
500服务器内部错误服务器遇到错误无法完成请求501尚未实施服务器不具备完成请求的功能。 例如服务器无法识别请求方法时可能会返回此代码502错误网关 服务器作为网关或代理从上游服务器收到无效响应503服务不可用 服务器目前无法使用由于超载或停机维护504网关超时 服务器作为网关或代理但是没有及时从上游服务器收到请求505HTTP 版本不受支持 服务器不支持请求中所用的 HTTP 协议版本