Java面试小练(六)

  • 1). 什么是HTTP协议? HTTP协议具有什么样的特点,请详细说明?

HTTP:超文本传输协议,规定了浏览器与服务器之间数据传输的规则

HTTP是一种传输层通信协议,特点是协议是面向连接的,数据传输之前客户端和服务器必须建立连接,在数据传输方面更加安全。因为建立连接之前是要经过三次握手,三次握手的目的是为了确认双方的接收能力和发送能力是否正常

通俗来讲三次握手就是

  1. 浏览器请求tcp连接
  2. 服务器答应连接
  3. 浏览器接到服务器的确认,然后才发送数据

HTTP还基于请求-响应模型,也就是说一次请求对应一次响应

HTTP协议是一种无状态协议:对于数据没有记忆能力,每次请求响应都是独立的

  • 2). HTTP协议中请求协议的数据格式 及 响应协议的数据格式, 请详细说明 ?

请求协议:

  1. 请求行:请求方法(get/post),url 以及协议版本,之间用空格分隔

  2. 请求头:第二行就是请求头,格式为key:value形式

    因为http是无状态协议,没有记忆能力,所以在请求头设置浏览器的一些自身信息和想要响应的形式

  3. 请求体:get形式的请求参数在请求行中,所以不需要设置请求体

    请求体和请求头之间用空行隔开

响应协议:

  1. 响应行:响应数据第一行,响应行由协议以及版本,响应状态码,状态码描述组成
  2. 响应头:响应数据第二行,格式为key:value形式
  3. 响应体:响应数据最后一行,用来存储响应的数据

响应体和响应头之间由一个空行隔开

  • 3). HTTP的状态码分为哪几类,分别表示什么意思 , 请详细说明? 请说出几个常见的状态码 及 含义?

状态码一般分为五类

1xx,表示响应中,是一种临时状态码,表示请求已经接受,告诉客户端应该继续请求,或者如果已经完成则忽略

2xx,表示请求成功,已被成功接收,处理已完成

3xx,重定向,重定向到其他地方,让客户端再发起一个请求以完成整个处理

4xx,客户端错误,处理发生错误,问题在客户端

5xx,服务器端错误,处理发生错误,责任在服务端

常见

200 ok 客户端请求成功

404 请求资源不存在

500 服务端发生不可预期的错误

posted @ 2023-11-30 20:40  奕帆卷卷  阅读(14)  评论(0)    收藏  举报