Java面试小练(六)
-
1). 什么是HTTP协议? HTTP协议具有什么样的特点,请详细说明?
HTTP:超文本传输协议,规定了浏览器与服务器之间数据传输的规则
HTTP是一种传输层通信协议,特点是协议是面向连接的,数据传输之前客户端和服务器必须建立连接,在数据传输方面更加安全。因为建立连接之前是要经过三次握手,三次握手的目的是为了确认双方的接收能力和发送能力是否正常
通俗来讲三次握手就是
- 浏览器请求tcp连接
- 服务器答应连接
- 浏览器接到服务器的确认,然后才发送数据
HTTP还基于请求-响应模型,也就是说一次请求对应一次响应
HTTP协议是一种无状态协议:对于数据没有记忆能力,每次请求响应都是独立的
-
2). HTTP协议中请求协议的数据格式 及 响应协议的数据格式, 请详细说明 ?
请求协议:
-
请求行:请求方法(get/post),url 以及协议版本,之间用空格分隔
-
请求头:第二行就是请求头,格式为key:value形式
因为http是无状态协议,没有记忆能力,所以在请求头设置浏览器的一些自身信息和想要响应的形式
-
请求体:get形式的请求参数在请求行中,所以不需要设置请求体
请求体和请求头之间用空行隔开
响应协议:
- 响应行:响应数据第一行,响应行由协议以及版本,响应状态码,状态码描述组成
- 响应头:响应数据第二行,格式为key:value形式
- 响应体:响应数据最后一行,用来存储响应的数据
响应体和响应头之间由一个空行隔开
-
3). HTTP的状态码分为哪几类,分别表示什么意思 , 请详细说明? 请说出几个常见的状态码 及 含义?
状态码一般分为五类
1xx,表示响应中,是一种临时状态码,表示请求已经接受,告诉客户端应该继续请求,或者如果已经完成则忽略
2xx,表示请求成功,已被成功接收,处理已完成
3xx,重定向,重定向到其他地方,让客户端再发起一个请求以完成整个处理
4xx,客户端错误,处理发生错误,问题在客户端
5xx,服务器端错误,处理发生错误,责任在服务端
常见
200 ok 客户端请求成功
404 请求资源不存在
500 服务端发生不可预期的错误

浙公网安备 33010602011771号