• http协议


    http协议是基于tcp的应用层协议。现在web应用大多是基于http协议。

    • http组成

    http协议是基于c/s模式。http请求和响应都由三部分组成;

    1. http请求:请求行,消息报头,请求正文

    请求行格式:Method Request-URI HTTP-Version CRLF  

    请求方法一般有:

    POST: 在uri标识的资源后附加数据

    GET: 请求获取uri标识的数据

    请求报头

      请求报头允许客户端向服务器端传递请求的附加信息以及客户端自身的信息,如:

      Host: 

      Connection: keep-alive

      tt-request-time: 1505056811251

      X-SS-Cookie: 
      User-Agent: News 6.3.3 rv:6.3.3.1 (iPhone; iOS 10.0; zh_CN) Cronet
      Accept-Encoding: gzip, deflate
      Content-Type: application/x-www-form-urlencoded
      Content-Length: 272

      即Cookie,Host等信息

    请求正文:

      Get没有请求正文,Post请求正文就是要附加的信息(如发帖的内容)

    • http响应:状态行,消息报头,响应正文

    状态行: HTTP-Version Status-Code Reason-Phrase CRLF

    状态代码有三位数字组成,第一个数字定义了响应的类别,且有五种可能取值:
    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  //服务器当前不能处理客户端的请求,一段时间后可能恢复正常

    502 错误的网关

    504 网关超时

    • 验证

    可以通过Charles抓包进行验证

    • 通过python的Requests(http库)进行http编写
    res = requests.post(url, headers=headers, verify=False,data=dict(project_id=project_id,object_id=object_id, object_data=object_data)
  • 相关阅读:
    随笔
    梨花落(短篇小说)
    javascript中的apply,call,bind详解
    js中this的指向问题
    你若安好,便是晴天
    gulp
    图标
    normalize.css
    git bash和toritoise客户端结合使用
    云计算基础知识
  • 原文地址:https://www.cnblogs.com/coderht/p/7503007.html
Copyright © 2020-2023  润新知