-
http协议的默认端口
80 -
应用层有哪些协议
http ,FTP,SMTP,DNS,MQ -
在浏览器中输入网址后会发生什么:
首先服务器有自己的ip地址,但ip地址对人来说很难记,所以人会在浏览器里输入域名,然后经过DNS解析为ip,访问对应的服务器
与服务器发起三次握手
建立链接TCP链接,发起HTTP请求
服务器响应HTTP请求,返回响应报文
浏览器渲染展示页面
断开TCP链接,四次挥手 -
为什么要三次握手:
一般来说两次握手其实可以建立好链接,但第二次握手是发送方收到接收方传来的ACK。在实际情况中这条信息发送方有可能没有收到,所以就需要第三次握手,发送方通知接收方我收到ACK了,连接正式建立。
为什么不是四次握手,因为三次是保证连接建立的最少次数,通信的质量不是靠握手的次数来保证的,所以更多的握手次数没有必要。 -
为什么要四次挥手:
首先,发送方发出Find的报文,接收方需要连续发出两次报文,这是因为在发送第一个ack报文的时候,接收方手头可能有正在传输的其他报文,所以会在手头的报文传输完毕之后回复一个fin报文表示可以结束通信。发送方这时候会回复ack表示收到接收方的fin报文,通信正式结束。
为什么接受方不可以等手头的报文发完只回一个ack/fin报文呢,这是因为接收方可能迟迟等不到回复以为报文丢失,他可能会重复发起挥手。 -
状态码:
200:成功 204:成功但no content
300: 需要重定向
400:客户端请求错误401:invalid token 未正确授权 402:支付类的错误代码,比如要付费后才能继续访问后续接口 403:forbidden无权限访问该网站 404:请求资源不存在
500:服务器错误
501:未实现,服务器不具备完成请求的功能 502:bad gateway链接超时。服务器当前链接太多,无法给予正常响应 503: 临时的服务器维护或者过载 504:gateway timeout,服务器作为代理或者网关,没有及时从上游服务器接收到请求
-
TCP/IP有哪四层:
应用层:应用层决定了向用户提供应用服务时通信的活动。
传输层:提供处于网络连接中的两台计算机之间的数据传输。(TCP/UDP)
网络层:网络层用来处理在网络上流动的数据包。数据包是网络传输的最小数据单位。该层规定了通过怎样的路径(所谓的传输路线)到达对方计算机,并把数据包传送给对方(IP)
数据链路层:用来处理连接网络的硬件部分。包括控制操作系统、硬件的设备驱动、 -
cookie和session的区别:
1.cookie存放在客户端,session存放在服务器
2.cookie不是太安全,别人可以欺骗获取到存放在客户端的cookie
3.session由于存放在服务器,如果访问过多的话会有性能方面的问题
4.cookie的存续时间比较长,session的存在时间比较短 -
代理可以分为两类:
一种使用缓存,一种会修改报文 -
HTTP和HTTPS的区别:
1.HTTP不加密,不验证对方身份,可能遭遇伪装拦截,不验证报文的完整性,总体而言安全性较差。而HTTPS会使用SSL加密
2.HTTP速度更快,HTTP三次握手只需要交换三个包,而HTTPS需要交换包含SSL在内的12个包
3.使用端口不通,HTTP使用的80端口,HTTPS是443
4.HTTPS就是HTTP+SSL,因此HTTPS会更耗费资源 (SSL是独立于HTTPS的网络安全技术) -
GET 和POST的区别
1.GET将请求参数放在URL里,POST放在REQUEST BODY里
2.对于GET,浏览器会主动给cache,POST不会
3.GET比POST更加不安全,因为他的参数直接暴露在URL里
4.GET的在URL请求传参是由长度限制的,POST没有
5.GET只接受ACSLL码值,PSOT没有限制
6.两者的TCP传送方式不同,GET会把header和body一起发出去,然后得到200OK,而POST会先发header,得到100 CONTINUE然后再接着发body的内容 -
TCP与IP分别位于那一层
TCP与UDP位于传输层
IP位于网络层 -
TCP与UDP的区别
1.TCP是面向链接的,需要先三次握手,UDP不需要先建立链接,直接传送数据
2.TCP传送的数据稳定可靠不丢失不重复,UDP则保证不了这些
3.TCP是1对1的,UDP可能1V1,也可能一对多
4.TCP是面向字节流,UDP则是面向报文,所以UDP在网络拥挤时不会降低发送效率但可能出现丢包,常见应用于视频电话 -
HTTP1.0和HTTP2.0的区别
参考:https://blog.csdn.net/yinlidong77/article/details/103908035