走进HTTP协议 | 青训营笔记

77 阅读3分钟

目标

  • 走进http协议

HTTP介绍

  • 超文本传输协议(HyperText Transfer Protocol)

    • 定义了浏览器怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传给浏览器。
  • 网络分层模型:

image (1).png

  • 优点
    • 高内聚低耦合
    • 易复用
    • 高扩展性

请求方法

  • GET:

    • GET方法用来请求访问已被URI识别的资源。指定的资源经过服务器端解析后返回响应内容。也就是说如果请求的资源是文本,那就保存原样返回,如果是CGI【通用网关接口】那样的程序,则返回经过执行后的输出结果。
  • POST

    • 提交数据,即上传数据。
    • POST方法用来传输实体的主体。虽然用GET也可以传输实体的主体,但是一般不用,POST的主要目的并不是获取响应的主体内容。
  • PUT

    • 修改数据。
    • PUT方法主要是用来传输文件。就像FTP协议的文件上传一样,要求在请求报文的主体中包含文件内容,然后保存到请求URI指定的位置。但是HTTP 1.1的PUT方法自身不带验证机制,任何人都可以上传文件,存在安全问题。架构采用REST【表征状态转移】标准的同类Web网站,就可以会开放使用PUT方法。
  • HEAD

    • 获取资源的元信息。HEAD方法和GET方法一样,只是不返回报文主体部分。用于确认URI的有效性及资源更新的日期时间等。
  • DELETE

    • 删除资源,是与PUT相反的方法,DELETE方法按请求URI删除指定的资源。
  • CONNECT

    • 建立连接隧道,用于代理服务器
  • OPTIONS

    • 列出可对资源实行的请求方法,用来跨域请求
  • TRACE

    • 追踪请求-响应的传输路径
  • 常用状态码

RFC 规定 HTTP 的状态码为三位数,被分为五类:

  • 1xx: 表示目前是协议处理的中间状态,还需要后续操作。

  • 2xx: 表示成功状态。

  • 3xx: 重定向状态,资源位置发生变动,需要重新请求。

  • 4xx: 请求报文有误。

  • 5xx: 服务器端发生错误。

  • 常用:

    • 200 OK
      • 是见得最多的成功状态码。
      • 通常在响应体中放有数据。
    • 404 Not Found
      • 资源未找到,表示没在服务器上找到相应的资源。
    • 500 Internal Server Error
      • 仅仅告诉你服务器出错了,服务期出了啥错咱也不知道。
  • 请求过程

    1. 浏览器分析链接指向页面的URL
    2. 浏览器向DNS请求解析的IP地址
    3. 域名系统DNS解析出掘金服务器的IP地址
    4. 浏览器与该服务器建立TCP连接(默认端口为80)
    5. 浏览器发出HTTP请求:GET/post/7232577434472874042
    6. 服务器通过HTTP响应把文件发送给浏览器
    7. 释放TCP连接
    8. 浏览器解释文件,并将Web页显示给用户

总结

  • 重新复习了远程过程调用这个知识点,对之后面试可能会起到作用
  • 加深了使用HTTp的应用场景的印象

引用