1.HTTP请求头有哪些?
参考:HTTP请求头与响应头
2.什么是长连接?
长连接:长连接,指在一个连接上可以连续发送多个数据包,在连接保持期间,如果没有数据包发送,需要双方发链路检测包。数据传输完成后仍保持TCP连接不断开(不发RST包,不四次握手),HTTP 1.1默认为长连接。简单来说就是数据包发送完成之后,仍保持连接;
短连接:短连接是指通讯双方有数据交互时,就建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一项业务的发送。即数据包发送完成之后,就断开连接。
3.GET和POST区别是什么?POST请求有大小限制么?
(1)传送方式:GET通过地址栏传输,POST通过报文传输;
(2)传送长度:GET参数有长度限制,POST一般默认不受限制,但理论上,IIS4中最大为80kb,IIS5中为100kb;
(3)安全性:GET参数在URL中显示,POST相对比较安全;
(4)GET请求一般用于请求获取数据,如获取列表数据等,POST一般作为发送数据到后台使用,如登录等;
(5)GET请求刷新浏览器或回退时没有影响,POST回退时会重新提交数据请求;
(6)GET请求可被缓存,POST请求不会被缓存
4.介绍一下cookie、session和token
5.DNS域名解析过程,DNS使用TCP还是UDP协议?
参考地址:DNS域名解析过程,DNS使用TCP还是UDP协议?
6.输入URL后到加载页面的整个过程是怎样的?
(1)DNS解析
(2)TCP连接
(3)发送HTTP请求
(4)服务器处理请求并返回HTTP报文
(5)浏览器解析渲染页面
具体过程详见:输入URL后到加载页面的整个过程
7.TCP三次握手和四次挥手,为什么是三次和四次?
8.TCP是全双工还是半双工?
9.http请求类型有哪些?
序号 | 类型 | 描述 |
---|---|---|
1 | GET | 请求指定的页面信息,并返回实体主体 |
2 | HEAD | 类似于GET请求,不过只返回报文头部信息 |
3 | POST | 向指定资源提交数据进行处理请求(例如提交静音或者上传文件)。数据被包含中请求体中,POST请求可能会导致新的资源的建立和已有资源的修改 |
4 | PUT | 从客户端向服务器传送数据取代指定的文档内容 |
5 | DELETE | 请求服务器删除指定的页面 |
6 | CONNECT | HTTP/1.1 协议中预留给能够将连接改为管道方式的代理服务器 |
7 | OPTIONS | 允许客户端查看服务器的性能 |
8 | TRACE | 回显服务器收到的请求,主要用于测试或诊断 |
9 | PATCH | 是对PUT方法的补充,用来对已知资源进行局部更新 |
10.HTTP状态码
(1)302状态码是什么意思?跟301状态码有什么区别?什么情况下出现304状态码?
(2)状态码101/403/501的意思是什么?
(3)1xx, 2xx, 304, 400, 501 不同的数字开头的状态码代表什么意思?
参考:HTTP状态码
11.TCP和UDP区别和应用场景
UDP | TCP | |
---|---|---|
是否连接 | 无连接 | 面向连接 |
是否可靠 | 不可靠传输,不使用流量控制和拥塞控制 | 可靠传输,使用流量控制和拥塞控制 |
连接对象个数 | 支持一对一,一对多,多对一和多对多交互通信 | 只能是一对一通信 |
传输方式 | 面向报文 | 面向字节流 |
首部开销 | 首部开销小,公文8字节 | 首部最小20字节,最大60字节 |
适用场景 | 适用于实时应用(IP电话、视频会议、直播等) | 适用于要求可靠传输的应用,例如文件传输 |
参考:TCP和UDP区别