HTTP协议请求格式

一:HTTP交互流程

其实在上一篇已经对交互流程有一些了解,现在引入HTTP协议后我们再结合着说一下。大致分为四步。

1.客户端根据地址与服务器建立连接。

2.客户端向服务器发送请求数据。(遵循HTTP协议)

3.服务器对客户端发来的请求进行处理,并将处理结果响应给客户端。(HTTP协议)

4.关闭客户端和服务器端的连接。(HTTP协议1.1之后版本不会立即关闭)

二:HTTP协议的请求格式

请求头:请求方式(post,get..)、请求的地址(URL)和 HTTP 协议版本(2.0或者3.0之类的版本号)

请求行:消息报头,一般用来说明客户端要使用的一些附加信息(什么Accept的之类,是给浏览器服务器识别的)

空行: 位于请求行和请求数据之间,空行是必须的(用来隔开)。

请求数据:非必须(比如get方式就直接显示在地址栏,不在这部分显示。但post方式会把数据放在这里)。

三:HTTP协议请求方式

在HTTP协议1.0版本的时候主要有三种请求方式。也就是get ,post,head

在HTTP协议1.1版本之后新增了五种。分别是,OPTIONS , PUT , DELETE , TRACE , CONNECT

下面来着重介绍一下post和get:

get 和 post 请求方式的区别:

get 请求方式:

请求数据会以?的形式隔开拼接在请求头中,不安全,没有请求实体部分。

HTTP 协议虽然没有规定请求数据的大小,但是浏览器对 URL 的长

度是有限制的(地址栏的数据长度没那么高),所以 get 请求不能携带大量的数据。

post 请求方式:

请求数据在请求实体中进行发送,在 URL 中看不到具体的请求数据,

安全。适合数据量大的数据发送。

总结起来就是说。get不安全,适合用于传输少量数据。post安全,适合传输大量数据。但在实际工作中,安全性的优先级更高,所有如果对安全性有要求,不管数据量多小,都优先使用post请求方式。

 

猜你喜欢

转载自blog.csdn.net/Ly20160520/article/details/84581024