HTTP协议以及HTTP请求中8种请求方法
2018-07-07 本文已影响13人
Jorunk
什么是协议?
- 协议,是指通信的双方,在通信流程或内容格式上,共同遵守的标准。
什么是http协议?
- http协议,是互联网中最常见的网络通信标准。
http协议的特点
-
①通信流程:断开式(无状态)
- 断开式:http协议每次响应完成后,会断开与客户端的连接
- 无状态:由于服务器断开了之前的连接,就无法知晓连接间的关系
-
②内容格式:消息头和消息体
HTTP请求的方法:
HTTP/1.1协议中共定义了八种方法(有时也叫“动作”),来表明Request-URL指定的资源不同的操作方式
- 1、OPTIONS
返回服务器针对特定资源所支持的HTTP请求方法,也可以利用向web服务器发送‘*’的请求来测试服务器的功能性 - 2、HEAD
向服务器索与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以再不必传输整个响应内容的情况下,就可以获取包含在响应小消息头中的元信息。 - 3、GET
向特定的资源发出请求。它本质就是发送一个请求来取得服务器上的某一资源。资源通过一组HTTP头和呈现数据(如HTML文本,或者图片或者视频等)返回给客户端。GET请求中,永远不会包含呈现数据。 - 4、POST
向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。 Loadrunner中对应POST请求函数:web_submit_data,web_submit_form - 5、PUT
向指定资源位置上传其最新内容 - 6、DELETE
请求服务器删除Request-URL所标识的资源 - 7、TRACE
回显服务器收到的请求,主要用于测试或诊断 - 8、CONNECT
HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
注意:
1)方法名称是区分大小写的,当某个请求所针对的资源不支持对应的请求方法的时候,服务器应当返回状态码405(Mothod Not Allowed);当服务器不认识或者不支持对应的请求方法时,应返回状态码501(Not Implemented)。
2)HTTP服务器至少应该实现GET和HEAD/POST方法,其他方法都是可选的,此外除上述方法,特定的HTTP服务器支持扩展自定义的方法。
get和post区别
-
区别:
- get请求无消息体,只能携带少量数据
- post请求有消息体,可以携带大量数据
-
携带数据的方式:
- get请求将数据放在url地址中
- post请求将数据放在消息体中
-
GET请求请提交的数据放置在HTTP请求协议头中,而POST提交的数据则放在实体数据中;
-
GET方式提交的数据最多只能有1024字节,而POST则没有此限制。