小白都能明白的【HTTP协议分析】

HTTP协议分析

      • 一、HTTP简介
        • 1、什么是超文本(HyperText)?
        • 2、什么是URL?
        • 3、什么是超文本传输协议HTTP?
      • 二、HTTP工作原理
        • 1.工作流程
        • 2.连接方式和无状态性
        • 3.抓包分析
      • 三、HTTP报文结构
        • 1.HTTP请求方法
        • 2.HTTP状态码
        • 3.HTTP头部
      • 四、HTTP头部关键字段
        • 1.User-Agent字段
        • 2.Server字段
        • 3.Referer字段
        • 4.cookie字段
        • 5 .location字段

一、HTTP简介

Hyper Text Transfer Protocol

1、什么是超文本(HyperText)?

包含有超链接(Link)和各种多媒体元素标记(Markup)的文本。这些超文本文件彼此链接,形成网状(Web),因此又被称为网页(Web Page)。这些链接使用URL表示。最常见的超文本格式是超文本标记语言HTML。

2、什么是URL?

URL即统一资源定位符(Uniform Resource Locator),用来唯一的标识万维网中的某一个文档。URL由 协议、主机和端口(默认为80)以及文件名三部分构成。
小白都能明白的【HTTP协议分析】_第1张图片

3、什么是超文本传输协议HTTP?

  • HTTP协议,即超文本传输协议(Hypertext transfer protocol)。是一种详细规定了浏览器和万维网(WWW = World Wide Web)服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。
  • HTTP是无状态协议,工作在TCP/IP模型中应用层的协议。HTTP协议通常承载于TCP协议之上,如果在TCP和http之间加入SSL或者TLS就是我们说的HTTPS。
  • HTTP默认的端口号为80,HTTPS的端口号为443,
  • HTTP无连接无状态,这里用Cookie解决了这个问题(另一种解决方案是Session)小白都能明白的【HTTP协议分析】_第2张图片

二、HTTP工作原理

1.工作流程

点击URL http://blog.tianyao.site/ 到显示页面的过程
1.DNS 解析:将URL域名解析成 IP 地址
2.TCP 连接:TCP 三次握手,建立TPC连接(80端口)
3.发送 HTTP 请求:浏览器通过GET请求 / index.html
4.服务器处理请求,发回浏览器请求的index文档,
5.断开连接:TCP 四次挥手
6.浏览器解析显示index.html中的内容。
小白都能明白的【HTTP协议分析】_第3张图片

2.连接方式和无状态性

  • 非持久连接
    浏览器在每请求一个web文档,就立即创建一个新连接,文档传输完毕,立即释放连接,http1.0和http0.9常使用这种方式
  • 持久连接
  • 服务器发送完响应后 不立即释放连接,浏览器可以使用连接继续访问其他文档,连接保留时间由双方协商确定
  • 无状态性
    服务端不记录客户端是否访问过,HTTP无状态性简化了服务器的设计,更容易支持高并发

3.抓包分析

1.DNS 解析:将URL域名解析成 IP 地址
小白都能明白的【HTTP协议分析】_第4张图片

2.TCP 连接:TCP 三次握手,建立TPC连接(80端口)
在这里插入图片描述

3.发送 HTTP 请求:浏览器通过GET请求 / index.html
小白都能明白的【HTTP协议分析】_第5张图片
4.服务器处理请求,发回浏览器请求的index文档,
小白都能明白的【HTTP协议分析】_第6张图片
5.断开连接:TCP 四次挥手
6.浏览器解析显示index.html中的内容。

三、HTTP报文结构

1.HTTP请求方法

方法 含义
GET 请求指定页面信息
HEAD 类似于 GET 请求,但返回的响应中没有具体的内容,用于获取报头
POST 向指定资源提交数据进行处理请求,数据被包含在请求体中。
PUT 从客户端向服务端传输数据,替换指定文档
DELETE 删除服务器指定页面
CONNECT 代理服务
OPTION 允许查看服务器的性能
TRACE 用于测试,要求服务器返回收到的请求
PATCH 对PUT方法的补充,对已知资源局部更新

2.HTTP状态码

分类 分类描述 实例
1** 通知信息 100=服务器正在处理请求
2** 操作成功 200=请求成功
3** 重定向 301=页面位置永久改变;302=页面位置暂时改变
4** 客户错误 403=禁止的页面;404=页面未找到
5** 服务器错误 500=服务器内部错误;503=以后再试

3.HTTP头部

小白都能明白的【HTTP协议分析】_第7张图片

四、HTTP头部关键字段

1.User-Agent字段

浏览器标识(操作系统标识;加密等级标识;浏览器语言渲染引擎标识 版本信息
小白都能明白的【HTTP协议分析】_第8张图片

2.Server字段

包含请求服务器的Web服务软件版本,一般正常的这个字段是隐藏的
小白都能明白的【HTTP协议分析】_第9张图片

3.Referer字段

浏览器向WEB服务器表明自己是从哪个网页/URL获得/点击当前请求中的网址/URL。

4.cookie字段

将在web安全,cookie利用中,集中讲解
小白都能明白的【HTTP协议分析】_第10张图片

5 .location字段

服务器告诉浏览器,试图访问的对象已经被移到别的位置了,到该头部指定的位置去取。常用与将http强制转换成https,

你可能感兴趣的:(计算机网络基础)