计算机网络
面试专题,计算机网络部分
白色小衬衫
这个作者很懒,什么都没留下…
展开
-
HTTP报文
1. HTTP请求报文HTTP请求报文由四部分组成:请求行、请求头部、空行、请求数据请求行由请求方法、URL、协议版本三部分组成,之间用空格隔开例如:Get 103.40.29.80/ HTTP1.1请求头部客户程序还可以选择发送其他的请求头。大多数请求头并不是必需的,但Content-Length除外。对于POST请求来说 Content-Length必须出现常见的请求头部:Content-Type:post提交时使用,表示提交的内容类型Content-Length:提原创 2020-05-14 21:41:40 · 187 阅读 · 0 评论 -
HTTP各个版本
http1.0版本任何格式的内容都可以发送,包括图像、视频、二进制文件等除了GET命令,还添加了PUT命令和Head命令是短连接的,一次请求结束,连接会关闭,使用Connection : Keep-Alive 开启长连接http1.1版本目前主流的http版本引入了长连接,一次请求结束,连接不会关闭,可以被多个请求复用,默认开始,如果想关闭,使用Connection: close 长连接的原理是TCP保存连接,不关闭引入了管道机制:在同一个TCP连接里,客户端可以同时发生多..原创 2020-05-14 21:40:38 · 623 阅读 · 0 评论 -
HTTP请求全过程
例如再浏览器输入www.baidu.com,然后按下回车键对www.baidu.com进行DNS域名解析,得到对应的IP地址根据这个IP找到对应的服务器,发起TCP三次握手建立连接建立TCP连接后发起HTTP请求服务器响应HTTP请求,浏览器得到html代码浏览器解析html代码,并请求html代码中的资源,如:CSS、图片等浏览器对页面进行渲染呈现给用户是否关闭TCP连接要看浏览器的请求首部字段中有没有加入Connection:keep-alive(http1.1版本是默认开启的),如果原创 2020-05-14 21:39:37 · 132 阅读 · 0 评论 -
HTTP与HTTPS区别
HTTP在请求过程中,客户端和服务端之间没有身份确认的过程,数据全部都是明文传输,因此很容易被黑客攻击窃听风险:黑客可以获取通信的内容纂改风险:黑客可以修改通信的内容冒充风险:黑客可以冒充他人身份参与通信基于HTTP的不安全的缺陷,HTTPS应运而生HTTPS总结来说是HTTP+SSL,多了一层数据加密阶段加密算法对称加密:加密和解密使用同一个秘钥非对称加密:加密采用公钥,公钥是公开的,而解密需要私钥,私钥是保密的,该算法安全性超强,但是加密性能低,加密的长度也有限如图所示,客户原创 2020-05-14 21:38:56 · 221 阅读 · 0 评论 -
TCP滑动窗口
滑动窗口分为发送窗口和接收窗口TCP的滑动窗口主要有两个作用:一是提供TCP的可靠性,二是提供TCP的流控特性发送窗口发送端的状态分为四种:已发送已收到ACK,已发送未收到ACK,待发送,未发送其中处于滑动窗口的是中间两个状态正常情况下4号包收到了ACK,滑动窗口向右滑动一格,将11号包读进了缓存,将8/9号包发送出去。以此类推丢包的情况但是有时候会出现丢包的情况,我们的包发出去,对方的ACK丢了,或者我们的包发丢了,总之,发送方没有收到ACK。那么此时就会发送端就会一直等待ACK,原创 2020-05-09 15:09:00 · 228 阅读 · 0 评论 -
TCP与UDP区别
TCP有连接,需要三次握手建立连接,UDP面向无连接,想发数据直接发送TCP是点对点的连接(一对一),UDP支持一对多,多对一,一对一,多对多传输方式TCP可靠,UDP不可靠,UDP在网络不好的时候会丢包,但是速度快,实时性高TCP头部需要20个字节,UDP只需要8个字节,因此UDP在传输时高效TCP面向字节流传输,UDP面向报文传输TCP适用于要求可靠的传输应用,如文件传输。UDP适用于实时应用,如直播、视频会议等...原创 2020-05-09 15:07:54 · 90 阅读 · 0 评论 -
TCP报文头
源端口号:16位,连同源主机IP地址标识主机的一个应用进程目的端口号:16位,连同目的地址标识目的主机的一个应用进程序列号:32位,seq,例如TCP三次握手的第一次握手,客户端会发送seq=x确认号:32位,ack,例如TCP三次握手的第二次握手,服务端会发送ack=x+1ACK:1位,1表示确认号有效,表示报文中不包含确认信息SYN:1位,同步序列号,1表示连接请求FIN:1位,用于释放连接,1表示发送方已经没有数据发送了,即关闭本方数据流窗口大小:16位,数据字节数,表示从确认号开始..原创 2020-05-09 15:06:39 · 140 阅读 · 0 评论 -
TCP四次挥手
第一次挥手:客户端进程发出连接释放报文,并且停止发送数据。释放数据报文首部,FIN=1,其序列号为seq=u,此时,客户端进入FIN-WAIT-1(终止等待1)状态第二次挥手:服务器收到连接释放报文,发出确认报文,ACK=1,ack=u+1,并且带上自己的序列号seq=v,此时,服务端就进入了CLOSE-WAIT(关闭等待)状态。TCP服务器通知高层的应用进程,客户端向服务器的方向就释放了,这时候处于半关闭状态,即客户端已经没有数据要发送了,但是服务器若发送数据,客户端依然要接受。这个状态还要持续一...原创 2020-05-09 15:04:05 · 258 阅读 · 0 评论 -
TCP三次握手
第一次握手:客户端发送连接请求报文,SYN=1,选择一个初始序列号seq=x,此时客户端处于SYN_SEND状态第二次握手:服务端收到客户端的请求,如果同意建立连接,会向客户端发送确认报文,SYN=1,ACK=1,确认号为x+1,同时也会发送一个初始序列号seq=y,此时服务端处于SYN_RECV状态第三次握手:客户端收到服务端的连接同意报文后,还要再发送一个确认包给服务端,ACK=1,序列号为x+1,确认号为y+1,服务端收到客户端的确认信息后,建立连接,客户端和服务端都处于ESTABLISHE...原创 2020-05-09 15:02:00 · 228 阅读 · 0 评论 -
网络模型
网络模型OSI七层网络模型:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层五层协议:物理层、数据链路层、网络层、传输层、应用层TCP/IP:网络接口层、网络层、传输层、应用层应用层协议:HTTP、HTTPS、DNS(域名解析)、FTP(文件传输)传输层协议:TCP、UDP网络层协议:IP、ARP(地址解析协议) 路由器数据链路层协议:传输单位是帧,媒体访问控制子层(MAC)交换机物理层协议:传输单位是比特,主要介质:网线、光缆...原创 2020-05-09 15:00:47 · 82 阅读 · 0 评论