HTTP 1.0和1.1 协议基础概念复习

HTTP 协议基础概念复习

回顾一下发现本科学的东西都忘了,网络好像是那个说脏话的爱尔兰人教的,总之脑子里全是烤羊腿和老雪。这里重新整理一下。

内容:

  1. 介绍
  2. http在TCP/IP协议栈中的位置
  3. HTTP的请求响应模型
  4. 工作流程
  5. 抓包
  6. Http 报文格式
  7. Http/1.0 和Http/1.1 的区别
  8. Cookie和Session
  9. 缓存的实现原理
  10. 断点续传和多线程下载的实现原理
  11. HTTPS 原理简介

1. 介绍

HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写。它的发展是万维网协会(World Wide Web Consortium)和Internet工作小组IETF(Internet Engineering Task Force)合作的结果,(他们)最终发布了一系列的RFC,RFC 1945定义了HTTP/1.0版本。其中最著名的就是RFC 2616。RFC (Request for Comments) 2616定义了今天普遍使用的一个版本——HTTP 1.1。 http/1.0 和 http/1.1 还是有很明显的区别的。后面再说

HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。(和网页的内容的表现形式有关,图片是通过url来定位的,文字先加载,图片再一次http请求,加载得到之后再加载)

HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP是一个无状态的协议。(<mark>无状态指的是状态无记录,通过session或者cooki这种东西来实现有状态</mark>)

2. http在TCP/IP协议栈中的位置

HTTP协议通常承载于TCP协议之上,有时也承载于TLS或SSL协议层之上,这个时候,就成了我们常说的HTTPS。如下图所示:

https

<mark>默认HTTP的端口号为80,HTTPS的端口号为443</mark>.

3. HTTP的请求响应模型

HTTP协议永远都是客户端发起请求,服务器回送响应。见下图:

http-client-server-model

这样就限制了使用HTTP协议,无法实现在客户端没有发起请求的时候,服务器将消息推送给客户端。

HTTP协议是一个无状态的协议,同一个客户端的这次请求和上次请求是没有对应关系。

4. 工作流程

一次HTTP操作称为一个事务,其工作过程可分为四步:

  1. 首先客户机与服务器需要建立连接。只要单击某个超级链接,HTTP的工作开始。
  2. 建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME (Multipurpose Internet Mail Extensions) 信息, 包括请求修饰符、客户机信息和可能的内容。
  3. 服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息, 包括服务器信息、实体信息和可能的内容。
  4. 客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务器断开连接。
    如果在以上过程中的某一步出现错误,那么产生错误的信息将返回到客户端,有显示屏输出。对于用户来说,这些过程是由HTTP自己完成的,用户只要用鼠标点击,等待信息显示就可以了。

5. 抓包

Mac 使用 Charles 等

Windows 使用 Wireshark 等

6. Http 报文格式

6.1 请求报文

一个HTTP请求报文由请求行(request line)请求头部(header)空行请求数据4个部分组成,下图给出了请求报文的一般格式。

https

 

  • 请求行 请求行分为三个部分:请求方法、请求地址 和 协议版本.

    请求方法:
    HTTP/1.1 定义的请求方法有8种:GET、POST、PUT、DELETE、PATCH、HEAD、OPTIONS、TRACE。
    最常的两种GET和POST,如果是RESTful接口的话一般会用到GET、POST、DELETE、PUT。HTTP/1.0 只定义了三种 GET, HEAD, POST

    请求地址:
    URL:统一资源定位符,是一种自愿位置的抽象唯一识别方法。
    组成:<协议>://<主机>:<端口>/<路径>
    端口和路径有时可以省略(HTTP

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值