深入HTTP的请求

98 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第三十天,点击查看活动详情

  • 请求行

    • 包括三部分:

      • 第一部分:请求方式(7种)

        • get(常用的)
        • post(常用的)
        • delete
        • put
        • head
        • options
        • trace
      • 第二部分:URI

        • 什么是URI? 统一资源标识符。代表网络中某个资源的名字。但是通过URI是无法定位资源的。

        • 什么是URL?统一资源定位符。代表网络中某个资源,同时,通过URL是可以定位到该资源的。

        • URI和URL什么关系,有什么区别?

      • 第三部分:HTTP协议版本号

-   请求头
    -   请求的主机
    -   主机的端口
    -   浏览器信息
    -   平台信息
    -   cookie等信息
    -   ....

-   空白行

    -   空白行是用来区分“请求头”和“请求体”

-   请求体

    -   向服务器发送的具体数据。
  • HTTP的响应协议(S --> B)

    • HTTP的响应协议包括:4部分

      • 状态行
      • 响应头
      • 空白行
      • 响应体
    • HTTP响应协议的具体报文:

      • HTTP/1.1 200 ok                                     状态行
        Content-Type: text/html;charset=UTF-8               响应头
        Content-Length: 160
        Date: Mon, 08 Nov 2021 13:19:32 GMT
        Keep-Alive: timeout=20
        Connection: keep-alive
                                                            空白行
        <!doctype html>                                     响应体
        <html>
            <head>
                <title>from get servlet</title>
            </head>
            <body>
                <h1>from get servlet</h1>
            </body>
        </html>
        
    • 状态行

      • 三部分组成

        • 第一部分:协议版本号(HTTP/1.1)

        • 第二部分:状态码(HTTP协议中规定的响应状态号。不同的响应结果对应不同的号码。)

          • 200 表示请求响应成功,正常结束。

          • 404表示访问的资源不存在,通常是因为要么是你路径写错了,要么是路径写对了,但是服务器中对应的资源并没有启动成功。总之404错误是前端错误。

          • 405表示前端发送的请求方式与后端请求的处理方式不一致时发生:

            • 比如:前端是POST请求,后端的处理方式按照get方式进行处理时,发生405
            • 比如:前端是GET请求,后端的处理方式按照post方式进行处理时,发生405
          • 500表示服务器端的程序出现了异常。一般会认为是服务器端的错误导致的。

          • 以4开始的,一般是浏览器端的错误导致的。

          • 以5开始的,一般是服务器端的错误导致的。

        • 第三部分:状态的描述信息

          • ok 表示正常成功结束。
          • not found 表示资源找不到。