深度剖析:HTTP协议
admin
2023-03-25 16:01:43
0

   小生博客:http://xsboke.blog.51cto.com

   

  

 

                             -------谢谢您的参考,如有疑问,欢迎交流


目录

  • 名词解释

  • HTTP协议简介及其版本

  • HTTP的请求类型

  • HTTP协议报文

     -------------------------------请求与响应报文格式

     -------------------------------请求方法

     -------------------------------HTTP返回状态码

     -------------------------------HTTP首部介绍

     -------------------------------常见的MIME类型

  • 一次web资源请求的具体过程

  • 客户端(浏览器)从服务器请求数据基本步骤

  • HTTP接收多用户的并发请求

  • Cookie流程

  • 抓包工具和命令

   -------------------------------Sniffer

     -------------------------------Wireshark

     -------------------------------Curl


 

一、 名词解释

   深度剖析:HTTP协议

二、 HTTP协议简介及其版本

   1. HTTP协议简介

     HTTPHyper Text Transfer Protocol 超文本传输协议):

     是互联网应用最为广泛的一种网络协议,主要用于Web服务。通过计算机处理文本信息,格式      为HTMLHyper Text Mark Language)超文本标记语言来实现。

   2. HTTP协议版本

     深度剖析:HTTP协议

三、 HTTP的请求类型

   1. 静态(事先就编辑并定义完成的)

     深度剖析:HTTP协议

     1) 首先web服务器向内核注册socket(套接字,监听浏览器请求)

     2) 客户端通过浏览器,向web服务器发起request请求

     3) Web服务器收到客户端的request信息

     4) 如果用户请求的资源在服务器本地的话,http服务会向系统内核申请调用

     5) 内核调用本地磁盘里的数据,并将数据发给http服务

     6) http将用户请求的资源通过response报文,最终响应给客户端

   2. 动态(通过编程语言编写的程序,然后输出html格式)

     深度剖析:HTTP协议

     动态与静态相似,只不过是中间多了一个调用后端解释器的步骤,通过解释器将

     数据生成html格式的文件,然后构建成响应报文,最终返回客户端。

四、 HTTP协议报文

   深度剖析:HTTP协议

   1. 请求方法

     深度剖析:HTTP协议

   2. HTTP返回状态码

     深度剖析:HTTP协议

   3. HTTP首部介绍

     深度剖析:HTTP协议

   4. 常见的MIME类型

     深度剖析:HTTP协议

五、 一次web资源请求的具体过程

   深度剖析:HTTP协议

六、 客户端(浏览器)从服务器请求数据的基本步骤

  深度剖析:HTTP协议


    1. 用户发起一个http请求,缓存获取到URL,根据URL查找是否有匹配的副本,这个副本可能在内存中,也可能在本地磁盘。 

    2. 如果请求命中本地缓存则从本地缓存中获取一个对应资源的"copy"

    3. 检查这个"copy"是否过期,否则直接返回,是则继续向服务器转发请求。 HTTP中,通过Cache-Control首部和Expires首部为文档指定了过期时间,通过对过期时间的判断,缓存就可以知道文档是不是在保质期内。Expires首部和Cache-Control:max-age首部都是来告诉缓存文档有没有过期,为什么需要两个响应首部来做这件简单的事情了?其实这一切都是历史原因,Expires首部是HTTP 1.0中提出来的,因为他使用的是绝对日期,如果服务端和客户端时钟不同步的话(实际上这种情况非常常见),缓存可能就会认为文档已经过了保质期。

    4. 服务器接收到请求,然后判断资源是否变更,是则返回新内容,否则返回304:未变更,更新过期时间。

七、HTTP接收多用户的并发请求

  1. Apache

     Apache默认的工作模型是阻塞模型,默认一次只接收并且处理一个请求,通过主进程生成

     子进程,然后主进程收到请求时交给子进程进行处理这种方法,实现接收多用户并发请求

   2. Nginx

     Nginx默认工作模型为非阻塞模型,通过worker_processes指定工作进程数,默认为1,而

     nginx的一个进程可以处理多个并发连接请求

八、 Cookie流程


   深度剖析:HTTP协议



  1. Web客户端通过浏览器向Web服务器发送连接请求,通过HTTP报文请求行中的URL打开某一Web页面。

  2. Web服务器接收到请求后,根据用户端提供的信息产生一个Set-Cookies Header

  3. 将生成的Set-Cookies Header通过Response Header存放在HTTP报文中回传给Web客户端,建立一次会话连接。

  4. Web客户端收到HTTP应答报文后,如果要继续已建立的这次会话,则将Cookies的内容从HTTP报文中取出,形成一个Cookies文本文件储存在客户端计算机的硬盘中或保存在客户端计算机的内存中。

  5. Web客户端再次向Web服务器发送连接请求时,Web浏览器首先根据要访问站点的URL在本地计算机上寻找对应的Cookies文本文件或在本地计算机的内存中寻找对应的Cookies内容。如果找到,则将此Cookies内容存放在HTTP请求报文中发给Web服务器。

  6. Web服务器接收到包含Cookies内容的HTTP请求后,检索其Cookies中与用户有关的信息,并根据检索结果生成一个客户端所请求的页面应答传递给客户端。



九、抓包工具和命令


  1. Sniffer

    l  Sniffer,中文可以翻译为嗅探器,也叫抓数据包软件,是一种基于被动侦听原理的网络分析方式。使用这种技术方式,可以监视网络的状态、数据流动情况以及网络上传输的信息。

    l  Sniffer程序是一种利用以太网的特性把网络适配卡(NIC,一般为以太网卡)置为杂乱(promiscuous)模式状态的工具,一旦网卡设置为这种模式,它就能接收传输在网络上的每一个信息包。


  2. Wireshark

    l  Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换

    l  可以通过wireshark包进行数据分析,是一个常用的数据包分析工具,可以用于检测服务器是否有安全隐患,比如,在响应报文中,是否应答了server字段,这个字段指定了服务器使用的程序及其版本,如果被***者知道这些信息后,***者可以根据程序及其版本的漏洞进行***


  3. Curl

    l  curl是利用URL语法在命令行方式下工作的开源文件传输工具。它被广泛应用在Unix、多种Linux发行版中,并且有DOSWin32Win64下的移植版本。

    l  curl命令是一个利用URL规则在命令行下工作的文件传输工具。它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称curl为下载工具。

    l  作为一款强力工具,curl支持包括HTTPHTTPSftp等众多协议,还支持POSTcookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征。


相关内容

热门资讯

学生放学回家后又返回学校坠亡,... 学生符某放学后回到家中,后又从家中返回学校,并于当晚从学校教学楼楼顶坠亡。符某父母随后将学校告上法庭...
泽连斯基称乌已向俄方提交100... 当地时间10日,乌克兰总统泽连斯基表示,乌俄双方将以“千人换千人”的方式交换战俘,乌方已向俄方提交了...
国网上海市电力公司举办“明灯引... 5月7日至9日,在第十个“中国品牌日”来临之际,国网上海市电力公司(以下简称“国网上海电力”)以“明...
字跳申请会话信息的发送方法专利... 国家知识产权局信息显示,北京字跳网络技术有限公司申请一项名为“会话信息的发送方法、装置、电子设备、存...
非开挖定向钻机厂家选择指南:郑... 导语:非开挖定向钻机作为市政管道铺设、能源管线穿越等场景的核心设备,其性能稳定性与厂家服务能力直接影...
你昂贵的DDR5内存可能是假货... 快科技5月10日消息,内存价格近期持续走高,亚洲市场出现大量假冒DDR5内存模块,且外观极具迷惑性。...
6G,迎利好!工信部批复 工信部批复6G技术试验频率。 为进一步推动我国6G技术研发、标准研制与产业化进程,工业和信息化部近日...
涉疫邮轮5名法国公民回国,一人... △“洪迪厄斯”号邮轮(资料图)法国总理勒科尔尼10日在社交媒体说,涉汉坦病毒疫情邮轮“洪迪厄斯”号上...
伊朗警告法英两国:只有我们能保... △霍尔木兹海峡(资料图)针对法国和英国计划向红海及霍尔木兹海峡周边海域增派军舰,伊朗副外长加里巴巴迪...
这次对武大不妨多一点包容 1)国内某手机品牌为母亲节准备的文案,引发了很大的争议。2)我想,品牌方肯定也在努力反思当中,它在第...