HTTP面试题总结

HTTP:超文本传输协议(约定,规定),协议详细的规定了浏览器和万维网服务器之间的互相通信规则
组成:

  • 请求报文
    请求步骤:
    1.DNS解析:1.根据域名解析对应远程服务器的IP地址2.TCP连接(三次握手)
    建立TCP连接
    然后发起HTTP请求
    2.服务端接收HTTP请求
    进行处理
    返回数据
    3.客户端接收返回数据
    处理数据(渲染页面)
  • 响应报文
    状态码:
  • 200:请求成功
  • 202:服务器已经接收到请求数据,但尚未进行处理
  • 301:永久移动
  • 302:临时移动
  • 304:所请求的资源未修改
  • 400:客户端请求的语法错误
  • 404:请求的资源不存在
  • 500:服务器内部错误

1.get和post区别?

post和get是HTTP的两种请求方法

应用场景:

  • get:幂等请求,对服务器资源不会产生影响的情景
  • post:不是幂等请求,对服务器资源会产生影响的情景注册用户

报文格式:

  • get:报文的请求体为空
  • post:报文的请求体不为空,存放着向服务器发送的请求
    注意:

get请求:也可以请求的参数放在URL中向服务器发送,但这样的做法相对于post请求来说,一个请求的URL会保留在历史记录中,但浏览器URL是有着长度上的限制,所以会影响请求的长度,而post的参数可以传递支持更多的类型数据

2.浏览器在一次 HTTP 请求中,需要传输一个 4097 字节的文本数据给服务端,可以采用那些方式?

IndexdDB 是 HTML5 的本地存储,把一些数据存储到浏览器(客户端)中,当与网络断开时,可以从浏览器中读取数据,用来做一些离线应用。
Cookie 通过在客户端 ( 浏览器 ) 记录信息确定用户身份,最大为 4 kb 。

url 参数用的是 get 方法,从服务器上获取数据,大小不能大于 2 kb 。

Session 是服务器端使用的一种记录客户端状态的机制 。

post 是向服务器传送数据,数据量较大。

local Storage 也是 HTML5 的本地存储,将数据保存在客户端中(一般是永久的)。

猜你喜欢

转载自blog.csdn.net/qq_59079803/article/details/124107887