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

    HTTP协议的主要特点

    简单快速、灵活、无连接、无状态

    HTTP报文的组成部分

    HTTP请求/响应报文:
    1. 请求行、请求头部、空行和请求数
    2. 响应行、响应头部、空行和响应体

    HTTP方法

    1. HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法。
    2. HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。
    方法 描述
    GET 请求指定的页面信息,并返回实体主体
    POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改
    HEAD 类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头
    PUT 从客户端向服务器传送的数据取代指定的文档的内容
    DELETE 请求服务器删除指定的页面
    CONNECT HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器
    OPTIONS 允许客户端查看服务器的性能
    TRACE 回显服务器收到的请求,主要用于测试或诊断

    POST和GET的区别

    1. GET在浏览器回退时是无害的,而POST会再次提交请求。
    2. GET产生的URL地址可以被Bookmark,而POST不可以。
    3. GET请求会被浏览器主动cache,而POST不会,除非手动设置。
    4. GET请求只能进行url编码,而POST支持多种编码方式。
    5. GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。
    6. GET请求在URL中传送的参数是有长度限制的,而POST么有。
    7. 对参数的数据类型,GET只接受ASCII字符,而POST没有限制。
    8. GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
    9. GET参数通过URL传递,POST放在Request body中

    HTTP状态码

    分类 分类描述
    1** 信息,服务器收到请求,需要请求者继续执行操作
    2** 成功,操作被成功接收并处理
    3** 重定向,需要进一步的操作以完成请求
    4** 客户端错误,请求包含语法错误或无法完成请求
    5** 服务器错误,服务器在处理请求的过程中发生了错误

    什么是持久化连接

    对于HTTP协议而言,它是基于请求响应模型,Client向Server发请求时,先建立一条HTTP连接,Server给Client响应数据后,连接关闭。

    当Client发送下一个请求时,需要重新再建立HTTP连接,这种方式就是:一个请求响应需要占用一条HTTP连接。而持久连接就是:只需要建立一条连接,然后在这条连接上 传输多个请求和响应。

    与持久连接相关的字段:

    1. HTTP中有一个Connection首部字段,它是一个逐跳首部字段。Connection:Keep-Alive,表示希望将此条连接作为持久连接。

    2. HTTP1.1中,建立的HTTP请求默认是持久连接的。当Client确定不再需要向Server发送数据时,它可以关闭连接,即在发送首部中添加Connection:Closed字段。

    什么是管线化

    HTTP管线化是将多个HTTP要求(request)整批提交的技术,而在传送过程中不需先等待服务端的回应。管线化机制须通过永久连接(persistent connection)完成,仅HTTP/1.1支持此技术(HTTP/1.0不支持),并且只有GET和HEAD要求可以进行管线化,而POST则有所限制。此外,初次创建连接时也不应启动管线机制,因为对方(服务器)不一定支持HTTP/1.1版本的协议。

    request1 -> request2 -> request3 -> response1 -> response2 -> response3

    显然,管道化连接是需要持久连接支持的

  • 相关阅读:
    Spring Security配置logout地址
    flex布局
    视口的学习笔记
    box-sizing属性
    css清除浮动
    line-height的理解
    position和float小结
    css居中方法小结
    margin重叠
    浅谈负margin
  • 原文地址:https://www.cnblogs.com/gating/p/12488358.html
Copyright © 2011-2022 走看看