zoukankan      html  css  js  c++  java
  • Http协议总结-告知服务器意图的HTTP方法

        HTTP协议用于客户端与服务器之间的通信。

    URI:统一资源标识符,用字符串标识某一互联网资源

    URL:统一资源定位符,表示资源的地点

        HTTP协议规定,请求从客户端发出,最后服务器端响应该请求并返回。

       

    请求报文是由请求方法请求URL协议版本可选的请求首部字段内容实体构成,如下图所示:

    响应报文基本上由协议版本状态码(表示请求成功或失败的数字代码),用以解释状态码的原因短语可选的响应首部字段以及实体主体构成

    HTTP是一种不保存状态,即无状态协议。HTTP协议自身不对请求和响应之间的通信状态进行保存,即协议对于发送过的请求和响应都不做持久化处理。

    使用HTTP协议,协议本身并不保留之前一切的请求和响应报文信息,这样是为了更快的处理大量事务,确保协议的可伸缩性,而特意把HTTP协议设计成如此简单

       Http虽然是无状态协议,但为了实现期望保持状态的功能,于是引入了Cookie技术,有了Cookie再用HTTP协议通信,就可以管理状态了。

    下面介绍告知服务器意图的HTTP方法:面试会重点考察,一共有8种

    GET:获取资源

       Get方法用来请求访问已被url识别的资源。指定的资源经服务器端解析后返回响应内容。如果请求的是文本就保持原样返回,如果是程序,就返回经过执行后的输出结果

    POST:传输实体主体

           虽然Get方法也可以传输实体主体,但一般不使用Get方法传输,而使用Post 方法

    PUT:传输文件

          PUT方法用来传输文件,就像FTP协议的文件上传一样,要求在请求报文的主体中包含文件内容,然后保存到请求URL指定的位置

         鉴于HTTP/1.1的PUT方法自身不带验证机制,任何人都可以上传文件,存在安全性问题,因此一般的网站不使用该方法,若配合WEB应用程序的验证机制,或架构设计采用REST(表征状态转移)标准的同类WEB网站,就可能会开放使用PUT方法

    HEAD:获得报文首部

          HEAD方法和GET方法一样,只是不返回报文主体部分。用于确认URI的有效性及资源更新的日期时间等。

    DELETE:删除文件

             DELETE方法用来删除文件,和PUT相反,DELETE方法用来按请求URI删除指定资源。

             且DELETE方法本身也不带验证机制,其处理方式和PUT是一样的

    OPTIONS:询问支持的方法

              OPTIONS方法用来查询针对URI指定的资源支持的方法,比如指定URI支持GET和HEAD方法

    TRACE:追踪路径

               TRACE方法是让Web服务器端将之前的请求通信返回给客户端的方法。

               发送请求时,在Max-Forwards首部字段中填入数值,每经过一个服务器端就将该数字减1,当数值刚好减到0时,就继续停止传输,最后接收到请求的服务器端则返回状态码200 OK的响应

              客户端通过TRACE方法可以查询发送出去的请求时怎样被加工修改的,这是因为,请求想要连接到源目标服务器可能会通过代理中转,TRACE方法就是用来确认连接过程中发生的一系列操作

    CONNECTION:要求用隧道协议连接代理

             CONNECTION方法要求在与代理服务器通信时建立隧道,实现用隧道协议进行TCP通信,主要使用SSL和TLS协议把通信内容加密后经网络隧道传输

  • 相关阅读:
    Self Numbers
    【acdream】小晴天老师系列——竖式乘法
    全错位排列
    2 ^ x mod n = 1问题
    基于cocos2dx的横版动作游戏制作(二)
    基于cocos2dx的横版动作游戏制作(一)
    横版游戏制作之英雄技能CD遮罩,人物头像血条属性
    cocos2d横版游戏之摇杆控制
    C++ delete []p 数组指针,如何知道该数组大小的
    do { ....} while(0) 在宏里冗余的意义
  • 原文地址:https://www.cnblogs.com/zjf-293916/p/9320691.html
Copyright © 2011-2022 走看看