第1关:HTTP 基本请求与应答

这篇具有很好参考价值的文章主要介绍了第1关:HTTP 基本请求与应答。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

创作不易,赏个赞吧!!!
任务描述

本关任务:能分析出 HTTP 请求与应答中各字段的作用及取值。

相关知识

为了完成本关任务,你需要掌握:

  1. 了解 HTTP协议;
  2. 识别 HTTP 请求报文构成及各字段含义;
  3. 识别 HTTP 响应报文构成及各字段含义;
  4. Wireshark 中加载保存的报文文件。
HTTP请求

HTTP 请求包括三部分,分别是请求行(请求方法)、请求头(消息报头)和请求正文。HTTP 请求第三行为请求正文,请求正文是可选的,它最常出现在 post 请求方式中,get 请求无正文,所以回车之后为空。示例如下:

csd\\\第1关:http 基本请求与应答,# HTTP协议分析,计算机网络,http,网络协议,网络

请求行

由三部分构成:第一部分说明请求类型为 get 方法请求,第二部分(用/分开)是资源 URL,第三部分说明使用的是 HTTP1.1 版本。 GET /success.txt HTTP/1.1\r\n

常见的请求方法如下图所示:

csd\\\第1关:http 基本请求与应答,# HTTP协议分析,计算机网络,http,网络协议,网络

其中用得最多的方法是 get 方法和 post 方法,二者的区别:

  1. get 直接在浏览器输入,post 需要工具发送请求;
  2. get 用 url 或者 cookie 传参,post 将数据放在 body 中;
  3. get 的 URL 有长度限制,post 数据可以非常大;
  4. post 比 get 安全,因为 URL 看不到数据;
  5. get 用来获取数据,post 用来发送数据。
请求头

请求头(消息头)包含(客户机请求的服务器主机名,客户机的环境信息等)。具体内容及含义如下:

  • Accept:用于告诉服务器,客户机支持的数据类型 (例如:Accept:text/html,image/*);
  • Accept-Charset:用于告诉服务器,客户机采用的编码格式;
  • Accept-Encoding:用于告诉服务器,客户机支持的数据压缩格式;
  • Accept-Language:客户机语言环境;
  • Host:客户机通过这个头,告诉服务器想访问的主机名;
  • If-Modified-Since:客户机通过这个头告诉服务器,资源的缓存时间;
  • Referer:客户机通过这个头告诉服务器,它(客户端)是从哪个资源来访问服务器的(防盗链);
  • User-Agent:客户机通过这个头告诉服务器,客户机的软件环境(操作系统,浏览器版本等);
  • Cookie:客户机通过这个头,将 Coockie 信息带给服务器;
  • Connection:告诉服务器,请求完成后,是否保持连接;
  • Date:告诉服务器,当前请求的时间。
请求正文

浏览器端通过 HTTP 协议发送给服务器的实体数据。get 请求时,通过 url 传给服务器的值 name=dylan&id=110。post 请求时,通过表单发送给服务器的值。也可以为空。

HTTP响应

一个 HTTP 响应代表服务器端向客户端回送的数据,它包括:一个状态行,若干个消息头,以及实体内容。示例如下:

csd\\\第1关:http 基本请求与应答,# HTTP协议分析,计算机网络,http,网络协议,网络

响应行

包括 HTTP 版本HTTP/1.1,状态码200,以及消息OK; 其中 HTTP 响应常见的状态码及其含义如下:

csd\\\第1关:http 基本请求与应答,# HTTP协议分析,计算机网络,http,网络协议,网络

响应头

响应头有若干个字段组合(根据具体情况选择),常见字段及其含义如下: Content-Type:服务器给客户端传回来的文件格式; Content-Length:这个是返回的实体在压缩之之后的长度为 8 byte; Last-Modified:文档的最后改动时间; ETag:这个响应头中有种Weak Tag,值为W/“xxxxx”。它声明Tag是弱匹配的,只能做模糊匹配,在差异达到一定阈值时才起作用; Accept-Ranges:表示该服务器是否支持文件的范文请求; Server:设置服务器名称; Date:当前 GMT 时间,这个就是你请求的东西被服务器创建的时间。

响应正文

响应包含浏览器能够解析的静态内容,例如:HTML,纯文本,图片等等信息。

Wireshark中加载保存的报文文件

利用抓包软件 Wireshark 进行抓包,过滤出 HTTP 协议报文。如下图:

csd\\\第1关:http 基本请求与应答,# HTTP协议分析,计算机网络,http,网络协议,网络

查看报文内容:双击展开HTTP请求和响应报文的内容。如下图:

csd\\\第1关:http 基本请求与应答,# HTTP协议分析,计算机网络,http,网络协议,网络

为了避免网络原因带来的问题,完成任务时也可以通过加载以前保存的报文文件。如下图所示,在 Wireshark 的菜单中,依次单击“文件”-“打开”,选中需要加载的文件后,单击“打开”按钮文件中的报文就可以加载到 Wireshark 中,同样可以筛选出"HTTP"报文。

csd\\\第1关:http 基本请求与应答,# HTTP协议分析,计算机网络,http,网络协议,网络

操作要求

双击打开桌面上的工作区文件夹"wireshark",再打开实训文件夹"myshixun",并查询到的信息保存到文件message-1.txt。具体要求如下:

(1)打开 Wireshark,加载实训文件夹中的http-ethereal-trace-1文件,并筛选出其中的“HTTP”报文;

(2)选择列表窗口第一条 HTTP 分组,获取分组信息;

(3)展开该 HTTP 分组,查看浏览器运行 HTTP 的版本号,并填写到文件中;

(4)查看 Accept-Language ,查看服务器接受哪种语言,并填写到文件中;

(5)查看客户端的 IP 地址,并填写到文件中;

(6)查看服务器的 IP 地址,并填写到文件中;

(7)选择列表窗口第二条 HTTP 分组,从响应报文中,展开 HTTP 查找服务器返回的状态编码,填写到文件中;

(8)再从响应报文中,查找Content-Length,找到服务器返回的正文字节数,并填写到文件中;

message-1.txt

csd\\\第1关:http 基本请求与应答,# HTTP协议分析,计算机网络,http,网络协议,网络文章来源地址https://www.toymoban.com/news/detail-765577.html

到了这里,关于第1关:HTTP 基本请求与应答的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • HTTP基础:学习HTTP协议的基本知识,了解请求和响应的过程

    HTTP(Hypertext Transfer Protocol,超文本传输协议)是一种用于传输超媒体文档(如HTML)的应用层协议,它是Web中最基本的协议。 HTTP请求和响应都是由客户端和服务器之间进行的。 一个完整的HTTP请求由以下几个部分组成: 请求行:包括请求方法(GET、POST等)、请求的URI和HTTP协

    2024年02月12日
    浏览(44)
  • 计算机网络——如何构造HTTP请求

            构造HTTP请求的常见方式有,通过form表单标签来实现,通过ajax来实现,这两种是通过HTML/JS来实现的,还可通过java使用Socket来进行构造(本质就是根据不同的格式来解析字符串,处理请求),最简单的也可以使用一些工具来进行构造,比如使用postman来进行构造。

    2023年04月08日
    浏览(61)
  • [计算机网络]---Http协议

    前言 作者 :小蜗牛向前冲 名言 :我可以接受失败,但我不能接受放弃   如果觉的博主的文章还不错的话,还请 点赞,收藏,关注👀支持博主。如果发现有问题的地方欢迎❀大家在评论区指正  本期学习:htpp协议,认识URL, 理解htpp协议的基本结构,写一个简单的http协议。

    2024年02月19日
    浏览(52)
  • 【计算机网络】HTTP 协议

    前面我们介绍了网络 TCP/IP 五层模型中的各个层,在这五层中,应用层是和我们程序员息息相关的,需要我们程序员写出代码来实现,前面我们只是简单讲了应用层中的自定义协议,虽然自定义协议显得很灵活可以根据需求随时更改,但是在实际生活中自定义的协议使用的还

    2024年02月05日
    浏览(80)
  • 计算机网络【HTTP协议】

    HTTP/HTTPS协议 是应用层的网路协议 目前大多数情况HTTP在传输层是基于TCP(HTTP1/2 是基于TCP,最新的HTTP协议是基于UDP协议,但是我们目前常用的HTTP应用层协议是HTTP1.0) 应用层协议很多时候都是程序员自己定制的,需要根据具体的场景来制定应用层协议,但是由于程序员水平参差不

    2024年02月02日
    浏览(42)
  • 计算机网络——HTTP协议

            HTTP(超文本传输协议),定义在RFC2616中,是用于分布式和协作式多媒体系统之间交互的应用层通信协议。         HTTP是一个无状态协议,意味着它不保存先前交互的记录。每个请求都独立于其他请求处理。         HTTP旨在促进客户端和服务器在分布式系

    2024年01月21日
    浏览(57)
  • 【计算机网络】HTTP协议以及简单的HTTP服务器实现

    虽然我们说, 应用层协议是我们程序猿自己定的. 但实际上, 已经有大佬们定义了一些现成的, 又非常好用的应用层协议, 供我们直接参考使用. HTTP(超文本传输议)就是其中之一。 平时我们俗称的 “网址” 其实就是说的 URL 像 / ? : 等这样的字符, 已经被url当做特殊意义理解了.

    2024年01月20日
    浏览(60)
  • 计算机网络 - 应用层http协议 - http报文格式介绍(1)

    本篇认识和理解应用层中的http协议,了解抓包工具并进行使用,认识请求报文与响应报文,了解报文中基本键值对意思例如:Set-Cookie, 状态码等,如有错误,请在评论区指正,让我们一起交流,共同进步! 本文开始 ① 根据输入的url,在域名系统DNS中进行解析获取对应的服务

    2024年02月12日
    浏览(53)
  • 【计算机网络】应用层协议 -- HTTP协议

    协议。网络协议的简称,网络协议是通信计算机双方必须共同遵守的一组约定,比如怎么建立连接,怎么互相识别等。 为了使数据在网络上能够从源头到达目的,网络通信的参与方必须遵守相同的规则,我们称这套相同的规则为协议(protocol),而协议最终都需要通过计算机

    2024年02月15日
    浏览(49)
  • 计算机网络(5) --- http协议

    计算机网络(4) --- 协议定制_哈里沃克的博客-CSDN博客 协议定制 https://blog.csdn.net/m0_63488627/article/details/132070683?spm=1001.2014.3001.5501 目录 1.http协议介绍 1.协议的延申 2.http协议介绍 3.URL 4.urlencode和urldecode 2.HTTP协议结构 1.引入 2.细节 3.HTTP协议的使用 1.协议 2.网页配置 3.HTTP请求方法

    2024年02月14日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包