zoukankan      html  css  js  c++  java
  • 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的源码

     

  • 相关阅读:
    vscode中配置git
    javaScript基础-03 javascript语句
    使用DOM4J解析XML文档
    使用JDOM解析XML
    使用SAXParser解析XML文档的实例
    Schema技术的使用小结.
    Java.util.Arrays 工具类的使用
    3种类内部的用法(成员,局部,匿名)
    File类的常用方法.
    Math类的常用方法和静态导入.
  • 原文地址:https://www.cnblogs.com/wnwn/p/12259252.html
Copyright © 2011-2022 走看看