1、浏览器发出的POST请求的body有哪两种格式?
1)application/x-www-form-urlencoded用来传输简单的数据,即"key1=value1&key2=value2"这样的格式。
2)上传文件会采用multipart/form-data格式。采用后者是因为application/x-www-form-urlencoded的编码方式对于文件这种二进制的数据非常低效。
2、HTTP有哪些类似协议?
Gopher:在1990年代早期被HTTP取代的内容传递协议;
SPDY:Google开发的HTTP的替代方案,已被HTTP2取代
3、HTTP有几种压缩方式?
Content-Encoding:可以指示一个被转码、缓存或引用的资源已压缩
Transfer-Encoding:可以指示HTTP消息的有效载荷被压缩
其中,Content-Encoding要比Transfer-Encoding有更广泛的支持
4、HTTP常见的压缩方案有哪些?
主要为Gzip和Deflate,但可用方案的完整列表由IANA维护。
5、url和uri的区别?
uri用于标识资源;url不仅可以标识资源,还能定位资源。
url是uri的子集
6、网络层和运输层的区别?
网络层为主机之间提供逻辑通信;
运输层为应用进程之间提供端到端的逻辑通信
7、运输层的端口分为哪两类?
服务器使用的端口号:这里又分为熟知端口号(0~1023)和登记端口号(1024~49151)
客户端使用的端口号:49152~65535,该类端口留给客户进程选择暂时使用
8、UDP协议的主要特点是什么?
UDP是无连接的
尽最大努力交付:不保证可靠交付,因此主机不需要维持复杂的连接状态表(含许多参数)
面向报文
没有拥塞控制
支持一对一、一对多、多对一和多对多的交互通信
首部开销小:只有8字节,比TCP的20个字节的首部要短
备注:UDP仅在IP之上增加了复用、分用以及差错检测的功能。
9、IP 数据报的校验和与 UDP 的校验和有什么区别?
IP 数据报的校验和只检验 IP 数据报的首部;
UDP 的校验和是把首部和数据部分一起都校验
10、TCP协议的主要特点是什么?
面向连接
可靠交付:无差错、不丢失、不重复,并且按序到达
面向字节流:虽然应用程序和TCP的交互是一次一个数据块(大小不等),但TCP把应用程序交下来的数据仅仅看成是一连串的无结构的字节流,TCP并不知道所传递的字节流的含义。
点对点
全双工通信