HTTP head请求

作者: oneDemo | 来源:发表于2015-09-09 14:16 被阅读12077次

    GET: 请求指定的页面信息,并返回实体主体。

    HEAD: 只请求页面的首部。

    POST: 请求服务器接受所指定的文档作为对所标识的URI的新的从属实体。

    PUT: 从客户端向服务器传送的数据取代指定的文档的内容。

    DELETE: 请求服务器删除指定的页面。

    OPTIONS: 允许客户端查看服务器的性能。

    TRACE: 请求服务器在响应中的实体主体部分返回所得到的内容。

    PATCH: 实体中包含一个表,表中说明与该URI所表示的原内容的区别。

    MOVE: 请求服务器将指定的页面移至另一个网络地址。

    COPY: 请求服务器将指定的页面拷贝至另一个网络地址。

    LINK: 请求服务器建立链接关系。

    UNLINK: 断开链接关系。

    WRAPPED: 允许客户端发送经过封装的请求。

    Extension-mothed:在不改动协议的前提下,可增加另外的方法。

    官方定义

    HEAD方法跟GET方法相同,只不过服务器响应时不会返回消息体。一个HEAD请求的响应中,HTTP头中包含的元信息应该和一个GET请求的响应消息相同。这种方法可以用来获取请求中隐含的元信息,而不用传输实体本身。也经常用来测试超链接的有效性、可用性和最近的修改。

    一个HEAD请求的响应可被缓存,也就是说,响应中的信息可能用来更新之前缓存的实体。如果当前实体跟缓存实体的阈值不同(可通过Content-Length、Content-MD5、ETag或Last-Modified的变化来表明),那么这个缓存就被视为过期了。

    简而言之

    HEAD请求常常被忽略,但是能提供很多有用的信息,特别是在有限的速度和带宽下。主要有以下特点:

    1、只请求资源的首部;

    2、检查超链接的有效性;

    3、检查网页是否被修改;

    4、多用于自动搜索机器人获取网页的标志信息,获取rss种子信息,或者传递安全认证信息等

    HEAD方法:它与GET方法几乎是一样的,对于HEAD请求的回应部分来说,它的HTTP头部中包含的信息与通过GET请求所得到的信息是相同的。利用这个方法,不必传输整个资源内容,就可以得到Request-URI所标识的资源的信息。该方法常用于测试超链接的有效性,是否可以访问,以及最近是否更新。

    错误码:

    1xx:指示信息--表示请求已接收,继续处理。

    2xx:成功--表示请求已被成功接收、理解、接受。

    3xx:重定向--要完成请求必须进行更进一步的操作。

    4xx:客户端错误--请求有语法错误或请求无法实现。

    5xx:服务器端错误--服务器未能实现合法的请求。

    常见状态代码、状态描述的说明如下。

    200 OK:客户端请求成功。

    400 Bad Request:客户端请求有语法错误,不能被服务器所理解。

    401 Unauthorized:请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用。

    403 Forbidden:服务器收到请求,但是拒绝提供服务。

    404 Not Found:请求资源不存在,举个例子:输入了错误的URL。

    500 Internal Server Error:服务器发生不可预期的错误。

    503 Server Unavailable:服务器当前不能处理客户端的请求,一段时间后可能恢复正常,举个例子:HTTP/1.1 200 OK(CRLF)。

    相关文章

      网友评论

      • 03cd5916c3e4:你好,我自己写了一个服务可以接受http的head请求,结果如下:
        [root@gw1m ~]# curl -i -X HEAD http://192.168.120.25:9090/object/weichen@126.com/aaaa/swift/greenvpn.exe -H "X_Auth_Token:gAAAAABZh9ncs3-HhGWmXn2EWG-apOd-cSSa22NyGaA5K4scr0oKnhgWOt5wVCqM8Be9DCZRkRvLx6xMKONXzSy-KtHOIaXoj48triofOxhcnRtAhVo0I_fLxwh0uBZ1a_oUMQUbYwlMG974SXQYzRtf_adOINFsqg"
        HTTP/1.1 200 OK
        RequestId: tkFasu9ycBGAZBIqgezcm47GJCzmKHcFja5PEnI7wCNYVBJ

        {"status": 0, "obj": "greenvpn.exe", "ctime": "20170807110822", "oid": "OSV1_1EFU3cgUYLD32JHILXqpw3Skv15DJPWQ4X3oBW9zx1bulbTMSZu1l8KjGR9ZGkmX", "location": "disk_dam", "__extend__": {"checksum": "a4024c4121aae6ae51359b804cbd4197", "obj_path": "/hot/containers/we/weichen@126.com/aaaa-swift/_OBJDATA_V1_/32/JH/OSV1_1EFU3cgUYLD32JHILXqpw3Skv15DJPWQ4X3oBW9zx1bulbTMSZu1l8KjGR9ZGkmX", "user": "", "desc": "None"}, "atime": "20170807110938", "type": "single", "size": 2964392}
        这样写没有准守规范,但是可以返回结果。但是如果把ip地址换成VIP,请求通过VIP再经过haproxy以后就无法得到最下面的结果,那这是不是和没有准守规范有关系?haproxy有没有相关的配置项?

      本文标题:HTTP head请求

      本文链接:https://www.haomeiwen.com/subject/swhpcttx.html