• HTTP基本知识


    1、HTTP协议概念

    HTTP(超文本传输协议)是建立在TCP协议基础上的传输层协议,它定义了客户端如何向服务端发请求,以及服务端如何响应客户端的请求。

    HTTP协议本身是无状态的,服务器不知道两个请求是否来自同一个客户端,为了解决这个问题,通常采用Cookie或URL重写方式解决。

    2、HTTP请求报文结构

    请求报文包含请求行、请求头、请求体三部分组成,请求头和请求体之间有一个空行,格式如下:

    其中最常用的请求方法是GET和POST,一般浏览器也都支持这两个方法。其中GET请求的请求体为空,查询参数通过请求行中的URL传递。POST请求参数可通过请求体传递,在请求头中可指定请求体内容类型,常用的有:application/x- www-form-urlencoded、multipart/form-data或application/json等。request.getParameter()、request.getInputStream()和request.getReader()

    3、HTTP响应报文结构

    HTTP响应报文也有状态行、响应头、响应正文几部分组成,响应头和响应正文之间有空行。

    HTTP1.1协议中定义了5类状态码,由三位数字组成,第一个数字定义了响应的类别:

    1XX提示信息,表示请求已被成功接收要处理;

    2XX成功,表示请求已被正确处理,如200表示成功。

    3XX重定向,请求资源被转移,要完成请求必须进一步处理。

    4XX客户端错误,如404请求资源不存在,Spring MVC中@RequestBody注解的参数没传绑定失败会导致400错误。

    5XX 服务端错误,服务器未能实现合法的请求,如500,服务器内部错误。

    HTTP协议详解

  • 相关阅读:
    Java: Chain of Responsibility Pattern
    CSharp: Chain of Responsibility Pattern
    CSharp: Command Pattern
    CSharp: Proxy Pattern
    CSharp:Flyweight Patterns
    Java: Command Pattern
    C++工厂模式
    C++实现私有化PIMPL[Private Implementation]
    Qt:Using QByteRef with an index pointing outside the valid range of a QByteArray
    std::stack
  • 原文地址:https://www.cnblogs.com/doit8791/p/9108327.html
Copyright © 2020-2023  润新知