乐呵呵同学的博客

lehhair's Blog

2023.07.13学习 HTTP/HTTPS

2023-07-13

2023.07.13学习 HTTP/HTTPS

HTTP:超文本传输协议,基于请求与响应,无状态的,应用层的协议,常基于tcp/ip协议传输数据,互联网上应用最广泛的一种网络协议,所有的www文件都要遵守这个标准 http的初衷是为了提供一种发布和接收html页面的方法

  • HTTP 的工作流程

    • A. 客户端通过TCP 三次握手与服务器建立连接。
    • B. TCP建立连接成功后,向服务器发送HTTP请求。
    • C. 服务器收到HTTP请求后,向客户端发送HTTP响应。
    • D. 客户端通过TCP四次断开,与服务器断开TCP连接。
  • 什么是B/S架构?什么是C/S架构?

    • B/S(Browser/Server)浏览器和和服务器结构
    • C/S(Client/Server)客户机和服务器结构

HTTP消息结构

  • 统一资源定位符(URL)

    • http(协议名) :// user:pass(登录信息(认证)) @ www.example.com (服务器地址) : 80(端口号) /dir/index.html(带层次的文件路径) ? uid=1(查询字符串) # ch1(片段标识符)
    • 协议方案名: http,ftp,file,mailto……;
    • 登录信息: 如果网页需要认证需要填写,是可选项。
    • 服务器地址: 可以是ip也可以是能被dns解析成ip的域名。
    • 端口号: 选填,不填就指向协议默认的端口号。
    • 带层次的文件路径: 获取资源在服务器的具体位置。
    • 查询字符串: 针对已指定路径的资源,可使用查询字符串来获取想要的参数,也是可选项。
    • 片段标识符: 又名hash,来标记以获取资源中的子资源(在文档中的某个位置)。
  • 统一资源标识符

    • 统一资源标识符(英语:Uniform Resource Identifier,缩写:URI)是一种用于标识某一互联网资源名称的字符串。该种标识符允许用户对网络中(一般指万维网)的资源通过特定的协议进行交互操作。URI的最常见的形式是统一资源定位符(URL),经常指定为非正式的网址。更罕见的用法是统一资源名称(URN),其目的是通过提供一种途径,用于在特定的命名空间资源的标志,以补充网址。
    • URL是URI的子集
  • HTTP报文初识

    • 请求报文
    • 响应报文
    • {4B12AD24-F383-4888-8BB5-81EEF2F728F9}.png
    • {6949EC24-B1DE-4fb3-8601-5F903E46AB34}.png
  • HTTP请求头字段

    • HTTP请求方法

      • OPTIONS: 返回服务器针对特定资源所支持的HTTP请求方法,也可以利用向Web服务器发送" * "的请求来测试服务器的功能性
      • HEAD: 向服务器索要与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的源信息。
      • GET: 向特定的资源发出请求。注意: 使用 GET 方法应该只用在读取数据,不应被用于产生"副作用"的操作中, GET可能会被网站爬虫等随意访问。
      • POST: 向指定资源提交数据进行处理请求(提交表单或者上传文件)。数据被包含在请求体中,POST请求可能会导致新的资源的建立或已有资源的修改。
      • PUT: 向指定资源位置上传其最新内容。
      • DELETE: 请求服务器删除Request-URI所标识的资源。
      • TRACE: 回显服务器收到的请求,主要用于测试或者诊断。
      • CONNECT: HTTP/1.1协议中预留给能够将连接改为管道当时的代理服务器。

      在大部分情况下,只会用到GET和HEAD方法,并且这些方法是区分大小写的,当某个请求所针对的资源不支持对应的请求方法的时候,服务器应当返回状态码405,当服务器不认识或不支持对应的请求方法的时候应当返回状态码501。

    • 头部字段

      • {273FFEA5-F6CD-48d7-B94B-F20655834FE5}.png
  • HTTPS

    • HTTPS (全称:Hypertext Transfer Protocol Secure),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTPS 在HTTP 的基础下加入SSL,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。 HTTPS 存在不同于 HTTP 的默认端口及一个加密/身份验证层(在 HTTP与 TCP 之间)。这个系统提供了身份验证与加密通讯方法。
    • 特点
      • 内容加密: 采用混合加密技术,中间者无法直接查看明文内容。
      • 验证身份: 通过证书认证客户端访问的是自己的服务器。
      • 保护数据完整性: 防止传输的内容被中间人冒充或者篡改。