HTTP协议(一)

 /***概念*/

    

  HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。

  HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。

  HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前 在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。

  HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。

/***HTTP请求信息和响应信息的格式*/

  / /  请求信息的格式

             

   

      (1) 请求行

        a.请求方法:

          GET     请求指定的页面信息,并返回实体主体。
          HEAD     类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头
          POST     向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。
          PUT     从客户端向服务器传送的数据取代指定的文档的内容。
          DELETE      请求服务器删除指定的页面。
          CONNECT     HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
          OPTIONS     允许客户端查看服务器的性能。
          TRACE     回显服务器收到的请求,主要用于测试或诊断。如果你用了代理上网,可以用trace查看代理有咩有修改你的http请求

        b.请求路径

        c.所用的协议

    (2)请求头信息(请求头信息和请求主体信息之间要隔一行)

    (3)请求主体信息

    

  / /  响应信息的格式

      (1) 响应行

        a.协议版本

        b.状态码

        c.状态文字

    (2)响应头信息(响应头信息和响应主体信息之前间隔一行)

        key:values

        key:values

    (3)响应主体信息

/***POST方式请求和GET方式请求的区别*/

    post请求有主体信息,

    post请求要在请求头信息里面写明请求主体的长度( Content-Length:40 );并且写明 Content-Type:application/x-www-form-urlencoded

    

/***状态码*/

  1xx:指示信息--表示请求已接收,继续处理
  2xx:成功--表示请求已被成功接收、理解、接受
  3xx:重定向--要完成请求必须进行更进一步的操作
  4xx:客户端错误--请求有语法错误或请求无法实现
  5xx:服务器端错误--服务器未能实现合法的请求

  常见状态码:

  200 OK                        //客户端请求成功
  400 Bad Request               //客户端请求有语法错误,不能被服务器所理解
  401 Unauthorized              //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用 
  403 Forbidden                 //服务器收到请求,但是拒绝提供服务
  404 Not Found                 //请求资源不存在,eg:输入了错误的URL
  500 Internal Server Error     //服务器发生不可预期的错误
  503 Server Unavailable        //服务器当前不能处理客户端的请求,一段时间后可能恢复正常

    

杂念太多,必然根基浅薄
原文地址:https://www.cnblogs.com/starshine-zhp/p/12598596.html