1、Content-Type 和 Accept 的区别

  1. Content-Type 是实体头部,会出现在请求头和响应头表示当前传输的数据体是json格式
  2. Accept 是请求头部,表示本次请求客户端期望服务端返回json格式数据。

2、如何优化HTTP请求

域名解析:尽可能减少域名解析次数-----减少跨站、外部资源的引用
创建连接:减少连接创建次数-----使用Keep-Alive避免重复连接
发送请求:尽力减少请求次数-----合理设置Expires时间、资源合并
等待响应:提高服务器端运行速度-----提高数据运算及查询速度
接收响应:尽可能减少响应数据长度-----启用压缩

3、什么是CDN

CDN 即内容分发网络,它应用了 HTTP 协议里的缓存和代理技术,代替源站响应客户端的请求。
使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率

4、GET和POST的区别

问题的实质其实是二者在浏览器访问的不同
    GET在浏览器回退时是无害的(被缓存),而POST会再次提交请求
  GET产生的URL地址可以被浏览器收藏,而POST不可以
  GET使用URI传参数,有长度限制,POST则没有
  GET请求只能进行URL编码,而POST支持多种编码方式
  GET请求是幂等的

5、状态码问题

参考 HTTP协议 > 状态码

6、请求头&报文头问题

参考 HTTP协议 > 报文头

7、cookie和session区别

参考 HTTP协议 > 状态管理

8、TCP创建连接为什么是三次握手

参考 HTTP协议 > 创建连接(三次握手)的表格详解

9、TCP断开连接的具体流程

参考 HTTP协议 > 断开连接(四次握手)图文详解

10、TCP断开连接过程中发出第四次挥手的确认报文后为什么不会立刻释放TCP连接

    如果第四次挥手的报文丢失,服务端没收到确认ACK报文就会重发第三次挥手的报文,这样报文一去一回最长
时间就是2MSL,所以客户端需要等这么长时间来确认服务端确实已经收到了。

11、已经建立了连接如果客户端突然出现故障了怎么办

    TCP有一个计时器机制,服务端每次接收到客户端的请求都会复位这个计时器,当一定时间没有收到客户端的信
息服务端就会发送一个探测报文,如果依然没有响应之后每隔75s重新发送一次,如果连着10个探测报文没有响应
服务器就认为客户端出现了故障,会主动关闭连接

12、HTTP协议和TCP/IP协议的关系

HTTP主要负责客户端和服务端之间请求应答的标准定义(比如报文),而数据传输依赖TCP/IP协议