web安全基础大佬三天速成之HTTP篇

一、HTTP基本概念:

1、HTTP:超文本传输协议,是一种无状态的,以请求/应答方式运行的协议。(无状态:本身不会存储用户的信息)

2、HTTP报文格式:

       ···起始行(start line):描述请求或响应的基本信息

       ···头部字段集合(header):使用key-value形式更详细地说明报文

       ···消息正文(entity):实际传输的数据,不一定是纯文本,也可以是图片、视频等二进制数据

3、请求行报文格式:

请求方法:例如GET、POST、HEAD等,表示对资源的操作(例如使用GET:表示获取服务端的资源)

请求目标;通常是一个URI,标记了请求方法要操作的资源

版本号:表示报文使用的HTTP协议版本

4、响应报文格式:

版本号:表示报文使用的HTTP协议版本

状态码:用三位数字表示服务端处理的结果,例如200、404、500等

原因:对状态码的描述,帮助理解

注意:换行必须要有

5、HTTP头部字段:

头部字段是key-value(关键字:值)的形式,key和value之间用冒号分隔开,最后用CRLF换行表示字段结束。

如下图,key--->Content-Type,value--->application/Javascript

6、HTTP头字段可以使用HOST、Connection等已有头,还可以添加自定义头

7、常用头字段: 

        ···请求字段:请求头中的头字段,例如:HOST,Referer

        ···响应字段:响应头中的头字段,例如:Server,Date

        ```通用字段:请求和响应头里都可以有,例如:Content-Type,Connection

二、HTTP请求方法    

首先,让我来了解一下请求方法的特性:

    ···幂等性:指同一个系统,使用同样的条件,一次请求和重复多次的请求对资源的影响是一致的

    ···安全性:请求不会影响到资源的状态

1、HTTP1.0:GET、POST、HEAD

        ···GET:用于信息获取,也就是发送一个请求来获取服务器上的某一资源,GET请求的数据附在URL之后,我们可以看到。 

                      对服务器来说它是安全的,因为它只是进行读取数据,是幂等、安全的。

                       是客户端与服务器之间的交互,请求--应答模式。

                       资源通过一组HTTP头和呈现数据(如HTML文本,图片或者视频等)返回给客户端,但是GET请求中,不会包含呈现数据

        ···POST:向服务器提交数据,例如:表单数据提交、文件上传等,它提交的数据放在请求头中,我们看不到,所以安全性比较高。

                         因为这个请求可能会创建新的资源或者修改现有的资源,所以POST方法是非幂等的。

                         是客户端与服务器之间的交互,请求--应答模式

        ···HEAD:与GET方法一样,也是向服务器发出指定资源请求。

                         服务器响应请求时,仅包含HTTP头部信息,不包含呈现数据(如HTML文件、图片、视频等),这样就可以在不传输全部内容的情况下,获取到服务器的响应头信息。

                         HEAD方法常被用于客户端查看服务器的性能。

2、HTTP1.1:PUT、DELETE、OPTIONS、TRACE、CONNECT、PATCH

        ···PUT:与POST相似,PUT也是向服务器发送数据,数据在请求报文的主体内容中。保存到URL指定的位置。

                       指定了资源存放的位置

        ···DELETE:删除服务器上某一资源。删除所有请求URI所标识的资源

        ···CONNECT:要求在与代理服务器通信时建立隧道,实现用隧道协议进行tcp通信。

                                 主要使用SSL(安全套接字层)和TLS(传输层安全)协议吧通信内容加密后用隧道传输

        ···OPTIONS:获取当前服务器支持的请求方法

        ···TRACE:请求服务器回显收到的请求信息

        ···PATCH:与PUT相似,,都是用于资源的更新

                            PATH用于资源的部分更新,而PUT一般用于资源的整体更新

                            当资源不存在时,PATH会创建新的资源,而PUT只会对已有资源更新

三、HTTP状态码:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 今天感恩节哎,感谢一直在我身边的亲朋好友。感恩相遇!感恩不离不弃。 中午开了第一次的党会,身份的转变要...
    迷月闪星情阅读 10,625评论 0 11
  • 彩排完,天已黑
    刘凯书法阅读 4,343评论 1 3
  • 表情是什么,我认为表情就是表现出来的情绪。表情可以传达很多信息。高兴了当然就笑了,难过就哭了。两者是相互影响密不可...
    Persistenc_6aea阅读 126,477评论 2 7