zoukankan      html  css  js  c++  java
  • HTTP协议类

    1、HTTP协议的主要特点:

    简单快速(统一资源符UII固定)

    灵活(头部有数据类型)

    无连接(不会保持连接)

    无状态(服务端不能区分二次连接者身份)

    2、HTTP报文的组成部分

    请求报文:请求行 (http方法 页面地址 协议 版本),请求头(key:value),空行(请求头的结束标志),请求体

    响应报文:状态行 响应头  空行  响应体

    3、HTTP方法

    GET :  获取资源

    POST:传输资源

    HEAD:获得报文头部

    PUT:更新资源   DELET:删除资源  (这两个不常用)

    4、POST 和GET的区别(说出加粗部分即可)

      GET在浏览器回退是无害的,POST会再次请求

      GET产生的URL地址可以被收藏,POST不会

      GET请求会被浏览器主动缓存,而POST不会,除非手动设置

      GET请求只能进行URL编码,而POST支持多种编码方式

      GET请求参数会被完整保留在浏览器历史记录里,而POST中参数不会

      GET请求在URL中传送的参数是有长度限制的(2kb),而POST没有

      GET对参数的数据类型,GET只接受ASCII字符,而POST没有限制

      GET比POST更不安全,因为参数直接暴露在URL上不能用来传递敏感信息

      GET参数通过URL传递,POST放在Request body中

    5、HTTP状态码

    1xx:提示信息——表示请求已接受,继续处理

    2xx:成功——表示请求已被成功接受

    3xx:重定向——要完成请求必须更进一步操作

    4xx:客户端错误——请求有语法错误或请求无法实现

    5xx:服务端错误——服务器未能实现合法请求

    常见类型:

      200:ok  客户端请求成功

      206:Parital Content 客户发送了一个带有Range头的GET请求,服务器完成了它

      301:Moved Permanently 所请求的页面已经转移到新的url,永久重定向

      302 Found 所请求的页面已经临时转移至新的url

      304 客户端有缓冲的文档并发出了一个请求,服务器告诉客户,用来缓存的文档还可以继续使用

      400 客户端请求有语法错误,不能被服务器理解

      401 请求未经授权,

      403 对被请求页面的访问被禁止

      404 请求资源不存在

      500 服务器发生不可预期的错误原来缓存的文档可继续使用

      503 请求未完成 服务器临时过载或宕机,一段时间后可能恢复正常

    6、持久连接

      (1)http协议采用“请求-应答”模式,当使用普通模式,即非keep-alive模式时,每个请求-应答客户和服务器都要新建一个连接,完成之后立即断开连接(http协议是无连接协议)

    (2)当使用keep-alive(又称持久连接,连接重用)时,keep-alive功能避免了简历或者重新建立连接

    7、管线化

    在使用持久连接的情况下,某个连接上消息的传递类似于:

    请求1 ->响应1 ->请求2 ->响应2 ->请求3 ->响应3

    管线化就是某个连接上的消息变成了类似这样:

      请求1 ->请求2 ->请求3 ->响应1 ->响应2 ->响应3

    特点:

      管线化机制通过持久连接完成,仅HTTP1.1支持此技术

      只有GET和HEAD请求可以进行管线化,而POST有所限制

      初次创建连接时,不应启动管线机制,因为服务器不一定支持HTTP1.1协议

  • 相关阅读:
    docker-compose写法收集
    【CodeForces】704 C. Black Widow 动态规划+模拟
    【BZOJ】2693: jzptab 莫比乌斯反演
    【BZOJ】2154: Crash的数字表格 莫比乌斯反演
    【CodeForces】915 G. Coprime Arrays 莫比乌斯反演
    【CodeForces】915 F. Imbalance Value of a Tree 并查集
    【CodeForces】915 E. Physical Education Lessons 线段树
    【CodeForces】915 D. Almost Acyclic Graph 拓扑排序找环
    【Atcoder】AGC 020 B
    【Atcoder】AGC 020 D
  • 原文地址:https://www.cnblogs.com/bestchenyan/p/9696893.html
Copyright © 2011-2022 走看看