网络底层原理之HTTP

2021-05-27  本文已影响0人  甲乙飞鱼

HTTP

  1. html/login.html,这是个URI,它 不能在网唯一标识。
  2. http://localhost:8080/hello/html/login.html 这个URI 可以在全网唯一标识,称为 URL。
  1. 是互联网中应用最广泛的应用层协议之一
  2. 设计HTTP最初的目的是:提供一种发布和接收HTML页面的方法,由URI来标识具体的资源
  3. 后面用HTTP来传递的数据格式不仅仅是HTML,应用非常广泛
  4. HTML(Hyper Text Markup Language) 超文本标记语言 用以编写网页

HTTP版本

  1. 只支持GET请求方法获取文本数据(比如HTML文档),且不支持请求头、响应头等,无法向服务器传递太多信息
  1. 支持POST、HEAD等请求方法,支持请求头、响应头等,支持更多种数据类型(不再局限于文本数据)
  2. 浏览器的每次请求都需要与服务器建立一个TCP连接,请求处理完成后立即断开TCP连接
  1. 支持PUT、DELETE等请求方法
  2. 采用 持久连接(Connection: keep-alive),多个请求可以共用同一个TCP连接

HTTP的标准

  1. HTTP/1.1最早是在1997年的 RFC 2068 中记录的
    该规范在1999年的 RFC 2616 中已作废
    2014年又由 RFC 7230 系列的RFC取代
  2. HTTP/2标准于2015年5月以 RFC 7540 正式发表,取代HTTP/1.1成为HTTP的实现标准

HTTP报文格式(简)

HTTP报文格式.png

请求方法

  1. GET 常用于读取的操作,请求参数直接拼接在URL的后面(浏览器对URL是有长度限制的)
  2. POST 常用于添加、修改、删除的操作,请求参数可以放到请求体中(没有大小限制)
  3. HEAD 请求得到与GET请求相同的响应,但没有响应体
    使用场景:在下载一个大文件前,先获取其大小(HEAD),再决定是否要下载(GET)。以此可以节约带宽资源
  4. OPTIONS 用于获取目的资源所支持的通信选项,比如 服务器支持的请求方法
  5. PUT 用于对已存在的资源进行整体覆盖
  6. PATCH 用于对资源进行部分修改(资源不存在,会创建新的资源)
  7. DELETE 用于删除指定的资源
  8. TRACE 请求服务器回显其收到的请求信息,主要用于HTTP请求的测试或诊断
  9. CONNECT 可以开启一个客户端与所请求资源之间的双向沟通的通道,它可以用来创建隧道(tunnel)

请求头字段

1.png 2.png

响应头字段

4.png 5.png 6.png

代理服务器

正向代理、反向代理
正向代理的作用
反向代理的作用

CDN (内容分发网络)

上一篇下一篇

猜你喜欢

热点阅读