java基础——HTTP的请求方法和HTTP的状态响应码

HTTP的请求方法:

1、GET:获取资源 向服务器获取资源的请求方式
返回请求结果所指向的资源,而不是处理过程
2、POST:传输实体文本 向服务器提交数据的请求方式
提交的数据位于信息头后面的实体

GET与POST方法有以下区别:
(1)在客户端,Get方式在通过URL提交数据,数据在URL中可以看到;POST方式,数据放置在HTML HEADER内提交
(2)GET方式提交的数据最多只能有1024字节,而POST则没有此限制
(3)安全性问题。正如在(1)中提到,使用 Get 的时候,参数会显示在地址栏上,而 Post 不会。所以,如果这些数据是中文数据而且是非敏感数据,那么使用 get;如果用户输入的数据不是中文字符而且包含敏感数据,那么还是使用 post为好
(4)安全的和幂等的。所谓安全的意味着该操作用于获取信息而非修改信息。幂等的意味着对同一 URL 的多个请求应该返回同样的结果。完整的定义并不像看起来那样严格。换句话说,GET请求一般不应产生副作用。从根本上讲,其目标是当用户打开一个链接时,她可以确信从自身的角度来看没有改变资源。比如,新闻站点的头版不断更新。虽然第二次请求会返回不同的一批新闻,该操作仍然被认为是安全的和幂等的,因为它总是返回当前的新闻。反之亦然。POST 请求就不那么轻松了。POST 表示可能改变服务器上的资源的请求

3、HEAD:获取报文头部
与GET一样,只是没有报文主体
4、PUT:上传文件
与FTP协议一样,报文主体包含文件内容,上传到URL指定位置
5、DELETE:删除文件
与PUT相反,删除URL指定位置的资源
6、TRACE:追踪路径
让服务器将之前的请求通信返回到客户端
引发XST:

XST:
xst主要是使用http的trace方法,该方法会返回浏览器发给服务器的所有请求信息,但该方法不能带body,主要是利于debug。
现在前端后端都做了很多xst攻击的措施,很难在浏览器端发起trace请求了,所以只能用fiddler模拟一下,服务器是wamp,支持trace方法。

8、CONNECT:要求用隧道协议连接代理
要求使用隧道协议建立TCP通信

主要使用SSL(安全套接字)、TLS(传输层安全)协议把通信内容加密后经网络隧道传输。
隧道技术的实质是用一种网络层的协议来传输另一种网络层协议,其基本功能是封装和加密,主要利用网络隧道来实现。封装是构建隧道的基本手段。从隧道的两端来看,封装就是用来创建、维持和撤销一个隧道,来实现信息的隐蔽和抽象。而如果流经隧道的数据不加密,那么整个隧道就暴露在公共网络中,VPN的安全性和私有性就得不到体现。
网路隧道技术涉及了3种网络协议:网络隧道协议、隧道协议下面的承载协议和隧道协议所承载的被承载协议

HTTP的状态响应码:

-1**:请求收到,继续处理
-2**:操作成功收到,分析、接受
-3**:完成请求必须进一步处理
-4**:请求包含错误语法或不能完成
-5**:服务器执行一个完全有效请求失败

猜你喜欢

转载自blog.csdn.net/u010843421/article/details/80885892