http了解。

258 阅读2分钟

1. HTTP有哪些⽅法?

HTTP 1.0 标准中,定义了3种请求⽅法:GET、POST、HEAD

HTTP 1.1 标准中,新增了请求⽅法:PUT、PATCH、DELETE、OPTIONS、TRACE、CONNECT

2 .各个HTTP方法的具体作用是什么?

image.png

最常用的五种

GET POST PUT PATCH DELETE

他们是一类:get/delete 参数是在地址栏中传递的

他们是一类:put/patch/post 参数是在请求体传递的

3. GET方法和POST方法有何区别?

默认的http请求的内容, 在网络中传输, 明文的形式传递的 (https 对内容加密)

image.png

4. HTTP请求报文是什么样的?

image.png

image.png

5. HTTP响应报文是什么样的?

image.png

image.png

总结

image.png

6. 你了解的HTTP状态码有哪些?

image.png

image.png

image.png

image.png

7. HTTP的keep-alive是什么作用?

一、Keep-Alive的作用:

使客户端到服务器端的连接持续有效(长连接),当出现对服务器的后继请求时, Keep-Alive功能避免了建立或者重新建立连接。

二、Keep-Alive出现的原因

早期 HTTP/1.0 在每次请求的时候,都要创建⼀个新的连接,⽽创建连接的过程需要消耗资源和时间,为了减少资源消耗、缩短响应时间,就需要复⽤已有连接。 在后来的 HTTP/1.0 以及 HTTP/1.1 中引⼊了复⽤连接的机制,也就是在请求头中加⼊Connection: keep-alive, 以此告诉对⽅这个请求响应完成后不要关闭连接,下⼀次还⽤这个请求的连接进行后续交流。

协议规定,如果想要保持连接,则需要在请求头中加上 Connection: keep-alive。

keep-alive 的优点 (复用连接)

  • 较少的 CPU 和内存的占⽤(因为要打开的连接数变少了, 复用了连接)
  • 减少了后续请求的延迟(⽆需再进⾏握⼿)

缺点: 因为在处理的暂停期间,本来可以释放的资源仍旧被占用。请求已经都结束了, 但是还一直连接着也不合适

解决:Keep-Alive: timeout=5, max=100

  • timeout:过期时间5秒(对应httpd.conf里的参数是:KeepAliveTimeout),

  • max是最多一百次请求,强制断掉连接。

    就是在timeout时间内又有新的连接过来,同时max会自动减1,直到为0,强制断掉。