Http基本概念
- 底层基于TCP协议实现,面试连接安全
- Http是无状态的,即它对事务请求是没有记忆的,因为他是没有会话功能的
- Http多次请求无法共享,在javaweb中,可以通过cookie,session来解决这个问题
- Http在数据传输过程中,是同步的过程。即发送请求给服务器,如果服务器一直没有响应,则客户端就会一直等,知道等到结果位置。这就是同步的表现,所以要配置下超时时间
Http协议的请求格式
-
请求行(也在请求头Request Header中,只不过他是第一行): 请求的第一行,有如下内容↓
(1). 请求方式(get, post, put等等)
(2). url -->如果只有已给 / 表示是首页
(3). http协议版本 http/1.1
(4). 请求行 就一行,其中【请求方式】【url地址】【http版本】它们之间用空格分割,即【get /account http/1.1】 -
请求头(键值对形式): 举几个常见的例子↓
(1). Host 接受请求的地址,可以是ip,可以是域名
(2). User-Agent 发送请求的应用程序名称,也称为指纹 -
请求体:存放自定义参数,post有,get没有请求体
GET 与 POST请求区别
- get请求没有请求体,请求参数拼接在url后面
- post请求参数是放在后面请求体中,RequestBody里
- get请求参数有大小限制,而post请求没有
Http协议的响应格式
-
响应行(也在响应头中): 响应头的第一行,下面是相应行内容↓
(1). Http版本: 基本都是Http/1.1
(2). 响应结果状态:200,404,301,302等
(3). 整体格式:http/1.1 200 -
响应头(键值对格式):下面常见键值对↓
(1). Date: 响应给客户端的时间
(2). Content-Type: 相应格式类型 application/json;charset=UTF-8 -
响应体:即返回的数据