HTTP概念:Hyper Text Transfer Protocol 超文本传输协议

传输协议:定义了客户端和服务器端通信时发送数据的格式

特点:1.基于TCP/IP的高级协议,要经过三次握手,说明也是一种安全的协议

2.默认端口号是80    http://www.baidu.com:80=http://www.baidu.com

3.基于请求响应的模型,意味着每发送一次请求都会有对应一个响应

4.无状态的:每次请求之前相互独立,不能交互数据

 

  1. 版本1.0:每一次请求响应都会建立新的连接,连接结束后断开,又重新连接
  2. 1.1复用连接,规定时间内如果有请求响应继续执行,到时间结束后就停止

 

  1. 请求消息的数据格式(分为4部分)

1.请求行:请求方式 请求url 请求协议/版本

                 GET/login.html HTTP/1.1

请求方式:HTTP协议中有7种请求方法,常用的有两种

  1. GET:请求参数携带在请求行中,即在url那一串资源路径的后面
  2. 请求的url长度有限制,不安全
  3. POST:请求参数在请求体中,通过本地抓包可以看到,其实就是位置不一样,但是安全是相对的,都可以抓到这个包
  4. 请求的url长度无限制,相对安全

2.请求头:  请求头名:请求头值-->相当于键值头,相当于告诉服务器说我浏览器存在的一些信息

介绍几个简单的键值头:

1.User-Agent:浏览器告诉服务器,我访问你的时候使用的浏览器版本信息,可以在服务器端获取该头的信息,有效解决浏览器的兼容性问题,不同浏览器有不同的版本,服务器那边会进行判断给不一样浏览器获取一样的资源

java HTTP client设置Bearer Token_服务器

2.Referer:http://localhost/login.html

告诉服务器,我(当前的请求)从哪里来?

防止盗链

做一些统计工作

java HTTP client设置Bearer Token_请求头_02

 

java HTTP client设置Bearer Token_服务器_03

 

java HTTP client设置Bearer Token_请求头_04

3.请求空行

做分隔作用,就是一个空行,用于分隔POST请求的请求头,和请求体的

4.请求体(封装POST请求消息的请求参数,GET无这个)

 

就是参数    格式:变量=参数

                             username=zhangsan