HTTP请求方法&&地址栏输入url后的步骤&&常见状态码

667 阅读4分钟

HTTP的几种请求方法用途

  • GET 方法

发送一个请求来取得服务器上的某一资源

  • POST 方法

向 URL 指定的资源提交数据或附加新的数据

  • PUT 方法

跟 POST 方法很像,也是想服务器提交数据。但是,它们之间有不同。 PUT 指定了资源 在服务器上的位置,而 POST 没有

  • HEAD 方法

只请求页面的首部

  • DELETE 方法

删除服务器上的某资源

  • OPTIONS 方法

它用于获取当前 URL 所支持的方法。如果请求成功,会有一个 Allow 的头包含类 似 “GET,POST” 这样的信息

  • TRACE 方法

TRACE 方法被用于激发一个远程的,应用层的请求消息回路

  • CONNECT 方法

把请求连接转换到透明的 TCP/IP 通道

从浏览器地址栏输入url到显示页面的步骤

基础版本

  • 浏览器根据请求的 URL 交给 DNS 域名解析,找到真实 IP ,向服务器发起请求;
  • 服务器交给后台处理完成后返回数据,浏览器接收文件( HTML、JS、CSS 、图象等);
  • 浏览器对加载到的资源( HTML、JS、CSS 等)进行语法解析,建立相应的内部数据结构 (如 HTML 的 DOM );
  • 载入解析到的资源文件,渲染页面,完成。

精简版

  1. 从浏览器接收 url 到开启网络请求线程(这一部分可以展开浏览器的机制以及进程与线程 之间的关系)
  2. 开启网络线程到发出一个完整的 HTTP 请求(这一部分涉及到dns查询, TCP/IP 请求,五 层因特网协议栈等知识)
  3. 从服务器接收到请求到对应后台接收到请求(这一部分可能涉及到负载均衡,安全拦截以 及后台内部的处理等等)
  4. 后台和前台的 HTTP 交互(这一部分包括 HTTP 头部、响应码、报文结构、 cookie 等知 识,可以提下静态资源的 cookie 优化,以及编码解码,如 gzip 压缩等)
  5. 单独拎出来的缓存问题, HTTP 的缓存(这部分包括http缓存头部, ETagcatchcontrol 等)
  6. 浏览器接收到 HTTP 数据包后的解析流程(解析 html -词法分析然后解析成 dom 树、解 析 css 生成 css 规则树、合并成 render 树,然后 layoutpainting 渲染、复合图层 的合成、 GPU 绘制、外链资源的处理、 loadedDOMContentLoaded 等)
  7. CSS 的可视化格式模型(元素的渲染规则,如包含块,控制框, BFCIFC 等概念)
  8. JS 引擎解析过程( JS 的解释阶段,预处理阶段,执行阶段生成执行上下文, VO ,作 用域链、回收机制等等)
  9. 其它(可以拓展不同的知识模块,如跨域,web安全, hybrid 模式等等内容)

HTTP状态码及其含义

  • 1XX :信息状态码
  1.  100 Continue 继续,一般在发送 post 请求时,已发送了 http header 之后服务端将 返回此信息,表示确认,之后发送具体参数信息 
    
  • 2XX :成功状态码
  1.  200 OK 正常返回信息 201 Created 请求成功并且服务器创建了新的资源 
    
  2.  202 Accepted 服务器已接受请求,但尚未处理 
    
  • 3XX :重定向
  1. 301 Moved Permanently 请求的网页已永久移动到新位置。 
    
  2. 302 Found 临时性重定向。 
    
  3. 303 See Other 临时性重定向,且总是使用 GET 请求新的 URI 。 
    
  4. 304 Not Modified 自从上次请求后,请求的网页未修改过。 
    
  • 4XX :客户端错误
  1. 400 Bad Request 服务器无法理解请求的格式,客户端不应当尝试再次使用相同的内 容发起请求。 
    
  2. 401 Unauthorized 请求未授权。 
    
  3. 403 Forbidden 禁止访问。 
    
  4. 404 Not Found 找不到如何与 URI 相匹配的资源。 
    
  • 5XX: 服务器错误
  1. 500 Internal Server Error 最常见的服务器端错误。
    
  2. 503 Service Unavailable 服务器端暂时无法处理请求(可能是过载或维护)。