返回

理解HTTP

HTTP就是客户端与服务端通讯的一种协议。客户端发送一个请求,服务端响应一个请求,就完成了一次通信。 先来看看客户端和服务端都说什么了吧:

HTTP报文

HTTP请求

http.png

HTTP响应 http响应 .png

HTTP方法

通过HTTP方法我们能告诉服务器我们的意图。

GET方法 GET方法用来请求已经被URI标识的资源,服务器解析后就把资源响应给我们。 GET就是用于信息获取,而且应该是安全的和幂等的。它仅仅是获取资源信息,就像数据库查询一样,不会修改,增加数据,不会影响资源的状态。幂等的意思是对同一URL的多个请求应该返回同样的结果。 因为GET请求发送的就是URI,所以它可以被缓存或者存为书签,并且它的长度不能超过URI的长度,即最大2048个字符。 安全性:与 POST 相比,GET 的安全性较差,因为所发送的数据是 URL 的一部分。在发送密码或其他敏感信息时绝不要使用 GET !

POST方法 POST方法用于向指定的资源提交要被处理的数据 POST也是请求,不过它表示可能修改变服务器上的资源的请求。 由于POST发送的消息在内容主体里,所以他不能作为书签,也不能被缓存。优点是他更安全,而且长度没有限制。

HEAD方法 HEAD方法与GET方法一样,只是获得报文头部,用于确认资源URI或者资源更新的日期。

PUT/DELEAT方法 PUT/DELEAT用来上传/删除文件,但是由于这两种方法都不带验证机制,所以一般我们不会使用这两种方法。

**OPTIONS方法:**用来询问服务器支持什么方法

**CONNECT方法:**通过代理服务器实现与目标的加密通信。

**TRACE方法:**回显服务器收到的请求,主要用于测试或诊断。

URI

对于URL我们肯定听说过,那URI是什么?先来看看定义: URI的定义是:统一资源标识符 URL的定义是:统一资源定位符

URI 标识一个事物 , URL 定位一个事物;然而,位置同样可以标识一个事物,所以,每个URL都是一个 URI,但一个 URI 并不一定是一个 URL。

状态码 状态码就是用以表示网页服务器HTTP响应状态的3位数字代码。一共分为五类:1xx消息,2xx成功,3xx重定向,4xx客户端错误,5xx服务器错误。只要记住200是成功,其他随用随查,查几遍就记住了。

Licensed under CC BY-NC-SA 4.0