HTTP请求方法剖析/响应状态码

HTTP请求方法剖析

HTTP/1.1常用方法
GET
POST
PUT
HEAD
DELETE
OPTIONS
TRACE
CONNECT

1.GET获取资源
GET方法用来请求访问已被URI识别的资源(是默认的请求方式)
指定的资源经服务器端解析后返回响应内容

GET方法也可以用来提交表单和其他数据
在这里插入图片描述比如:
http://localhost/login.php?username=aa&password=1234
从上面的URL请求中,很容易就可以辨认出表单提交的内容,同时,浏览器对提交URL的长度也有所限制(一般IE是最短的,火狐会长一些)

2.POST
POST方法与GET功能类似,一般用来传输实体的主体
POST方法的主要目的不是获取响应主体的内容,而是真正的做提交请求(提交一些大批量的数据)
POST时数据不再是URL的一部分,而是标准数据传输,同时提高了安全性
在这里插入图片描述
get和post的区别:
1.get方式发送的数据在url里提交,可以看到,post数据放在包里
2.get有大小限制,post没有大小限制
3.用get参数会显示在地址栏上,所以如果输入的数据不是什么敏感性数据,用get即可。
但是不是说用post就不容易被拦截数据,用get就容易被拦截数据,无论是get还是post都有可能被拿到数据
而是比如在一个人去往网吧或者图书馆这种公共场所访问某个网页,别人用你用过的浏览器的历史记录,拿到你很多的信息比如用户名密码等。而post没有get这么容易被发现数据

3.PUT
从客户端向服务器传送的数据取代指定的文档的内容
PUT方法与POST方法最大的不同是:
PUT是幂等(不管进行多少次操作,都是实现相同的结果,比如我有一个大房子种了花,我还想搞个喷泉,这个喷泉如果需要把花花覆盖到,就用put,在花花旁边的话就用post)的,而POST是不幂等的
因此,我们更多时候将PUT方法用作传输资源
后端代码可以用POST完成更新对象,所以现在基本不用PUT了

4.HEAD
类似于GET请求,只不过返回的响应中没有具体的内容,用于获取报头
经常用来测试超链接的有效性(去测试这个链接是不是能够访问)

5.DELETE
请求服务器删除指定的资源(和put方法一样,没有验证机制,很容易被攻击者利用,所以也不大用)

6.OPTIONS
用来查询针对请求URI指定的资源支持的方法(支持哪些HTTP方法),不知道对方支持啥方法,你就询问一下。
在这里插入图片描述
7.TRACE/CONNECT
TRACE:
回显服务器收到的请求,主要用于测试或诊断(客户端可以用trace去查询发送出去的请求到底是怎么被加工篡改的)
本身不怎么常用,容易引发跨站追踪的攻击,用了这个方法算是一个漏洞

8.CONNECT
开启一个客户端与所请求资源之间的双向沟通的通道,它可以用来创建隧道
(使用代理服务器访问fb,就是用connect,代理服务器传输彼此的数据包,一般不大常用)

HTTP响应状态码拆解:(倾听对方)

状态码
是用以表示网页服务器超文本传输协议响应状态的3位数字代码
在这里插入图片描述常见状态码详解
1打头
在这里插入图片描述2打头
在这里插入图片描述3开头一律表示重定向,从地址A跳转到地址B,页面,域名,路由等的重定向。
在这里插入图片描述
在这里插入图片描述4开头代表某种意义上的错误,服务器接收到了也处理了,但是和自己预期的结果不大相同。

3开头一律表示重定向,从地址A跳转到地址B,页面,域名,路由等的重定向。5打头
在这里插入图片描述

状态代码有三位数字组成,第一个数字定义了响应的类别,共分五种类别:
1xx:指示信息–表示请求已接收,继续处理
2xx:成功–表示请求已被成功接收、理解、接受
3xx:重定向–要完成请求必须进行更进一步的操作
4xx:客户端错误–请求有语法错误或请求无法实现
5xx:服务器端错误–服务器未能实现合法的请求

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章