zoukankan      html  css  js  c++  java
  • http协议

    HTTP--Hyper Text Transfer Protocol   超文本传输协议,规定了客户端与服务端消息传输的格式。

    http是一种建立在TCP上的无状态连接,整个基本的工作流程是客户端发送一个HTTP请求,说明客户端想要访问的资源和请求的动作,服务端收到请求之后,服务端开始处理请求,并根据请求做出相应的动作访问服务器资源,最后通过发送HTTP响应把结果返回给客户端。

    http四大特性:
      1.基于TCP/IP协议作用于应用层的协议
      2.基于请求响应
      3.无状态:是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一 方面,在服务器不需要先前信息时它的应答就较快。
      4.无连接:是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

    一、HTTP请求

            HTTP请求是客户端往服务端发送请求动作,告知服务器自己的要求。

            HTTP请求由状态行、请求头、请求正文三部分组成:

      状态行:包括请求方式Method、资源路径URL、协议版本Version;

      请求头:包括一些访问的域名、用户代理、Cookie等信息(k,v键值对的形式);

      请求正文:就是HTTP请求的数据。

            备注:请求方式Method一般有GET、POST、PUT、DELETE,含义分别是获取、修改、上传、删除,其中GET方式仅仅为获取服务器资源,方式较为简单,因此在请求方式为GET的HTTP请求数据中,请求正文部分可以省略,直接将想要获取的资源添加到URL中。下图所示就是GET的请求,没有请求正文。详细的说明在下边。

    二、HTTP响应

            服务器收到了客户端发来的HTTP请求后,根据HTTP请求中的动作要求,服务端做出具体的动作,将结果回应给客户端,称为HTTP响应。

            HTTP响应由三部分组成:状态行、响应头、响应正文;

      状态行:包括协议版本Version、状态码Status Code、回应短语;

      响应头:包括搭建服务器的软件,发送响应的时间,回应数据的格式等信息(k,v键值对的形式);

      响应正文:就是响应的具体数据。

      响应状态码

    1xx 表示HTTP请求已经接受,继续处理请求
    2xx 表示HTTP请求已经处理完成
    3xx 表示把请求访问的URL重定向到其他目录
    4xx 表示客户端出现错误
    5xx 表示服务端出现错误
  • 相关阅读:
    超级有用的15个mysqlbinlog命令
    表迁移工具的选型-复制ibd的方法-传输表空间
    误删mysql表物理文件的解决方法(不涉及恢复数据)
    美团SQL优化工具SQLAdvisor
    Linux网络状态工具ss命令使用详解
    MySQL应用架构优化-实时数据处理
    运维利器万能的 strace
    ngrep命令用法
    [Linux|DBA]运维三十六计
    sysbench使用
  • 原文地址:https://www.cnblogs.com/duGD/p/11160812.html
Copyright © 2011-2022 走看看