HTTP协议入门

HTTP协议介绍

  HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。基于TCP的应用层协议,它不关心数据传输的细节,HTTP(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议,只有遵循统一的 HTTP 请求格式,服务器才能正确解析不同客户端发的请求,同样地,服务器遵循统一的响应格式,客户端才得以正确解析不同网站发过来的响应。

    

  HTTP支持无连接无状态

    无连接:代表的是一次连接只能处理一次请求;

    无状态:不会记录事务,代表不保存状态,HTTP协议自身不对客户端和服务器的状态进行保存,也就是说请求和响应不做持久化处理;

  HTTP的特点:

    1、支持客户/服务器模式;

    2、简单快速;

    3、灵活;

    4、无连接;

    5、无状态;

HTTP协议内容

  完整的协议包含请求和响应两块

  HTTP请求

    请求行

      请求行主要包含:请求方法,请求地址,请求版本

      请求方法包含:

        GET        请求资源,将数据在地址栏中显示

        POST        提交资源,封装数据在请求体中,常用于表单提交

        Head        获取响应头,跟GET类似,服务器响应的结果只包含响应头

        PUT         替换资源

        DELETE      删除资源

        CPPIONS     允许客户端查看服务器的性能

        TRACE       回显服务器收到的请求,用于测试或诊断

      请求地址:

        Uniforn Resource Locator:统一资源定位符(用于描述网上的资源)

        格式:scheme://host[:port#]/path/.../[?query-string]

          scheme:协议,比如http,https,ftp

          host:域名或者IP地址

          port:端口

          path:资源路径

          query-string:发送的参数

        如:https://www.baidu.com/s?wd=xxx

      HTTP协议版本

        http1.0:当浏览器客户端与服务端建立连接之后,只能发送一次请求,一次请求之后连接关闭;

        http1.1:当浏览器客户端与服务端建立连接之后,可以在一次连接中发送多次请求

    请求头

      

       Host:主机IP地址或者域名

      User-Agent:客户端相关信息

      Accept:指定客户端接收信息类型

      Accept-charset:客户端接收的字符集

      Accept-Encoding:可接受的内容编码

      Accept-Language:接收的语言

      Authorization:客户端提供给服务端,进行权限认证的信息

      Cookie:携带的cookie信息

      Referer:当前文档的URL,即从哪个连接过来的

      Content-Type:请求体内容类型

      Content-Length:数据长度

      Cache-Control:缓存机制

      Pragma:防止页面被缓存

    请求正文

      一般携带的请求参数

  HTTP响应

    主要包含:响应行,响应头,响应体

    响应行

      HTTP 版本号 + 响应状态码 + 状态说明

      响应状态码:

        1xx:提示信息,请求成功接收;

        2xx:成功,请求被成功处理;

        3xx:重定向相关;

        4xx:客户端错误;

        5xx:服务端错误;

    响应头

      Server:HTTP服务器的软件信息;

      Date:响应报文的时间;

      Expires:指定缓存过期时间;

      Set-cookie:cookie;

      Last-Modified:资源最后修改时间;

      Content-Type:响应的类型和字符集;

      Content-Length:内容长度;

      Connection:表示保持TCP连接不关闭,不会永久保持连接,如Keep-Alive;

      Location:指明重定向的位置,新的URL地址,如304的情况;

    响应体

      响应的数据,网页上HTML的源码

 

原文地址:https://www.cnblogs.com/wnwn/p/12259252.html