http协议通俗易懂介绍 http是什么协议

一、什么是http?【http协议通俗易懂介绍 http是什么协议】Http协议即超文本传送协议 (HTTP-Hypertext transfer protocol)。
它定义了浏览器(即万维网客户进程)怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器 。从层次的角度看,HTTP是面向(transaction-oriented)应用层协议,它是万维网上能够可靠地交换文件(包括文本、声音、图像等各种多媒体文件)的重要基础 。并且详细的规定了客户端浏览器与服务器之间互相通信的规则 。

http协议通俗易懂介绍 http是什么协议


二、抓包
下面是一口君抓取的访问自己搭建的web服务器交互的所有数据包 。以下是浏览器显示信息:
http协议通俗易懂介绍 http是什么协议


以下是实际 index.html内容
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>一口Linux</title></head><body><div align="center"> <table width="900" border="0"><tr><td><formonsubmit="return isValidate(myform)" action="cgi-bin/login.cgi" method="post">用户名: <input type="text" name="username" id="username" ><td> </td><tr><td>密码: <input type="password" name="userpass" id="userpass"><td> </td><tr><td><input type="submit" value="https://www.yunnanlong.com/kejibaike/登录" id="button"></form></td></tr> </table></div><div align="center"><table width="900" height="467" border="0" background="./image/yikou.png"><tr><td width="126" height="948"> </td><td width="351"></td><td width="101"> </td></tr></div></body></html>下面是用抓包工具抓取的所有HTTP数据包:
浏览器发送的GET请求数据包:
http协议通俗易懂介绍 http是什么协议


服务器回复的页面对应的数据包:
http协议通俗易懂介绍 http是什么协议


完整的浏览访问服务器数据包交互流程如下:
http协议通俗易懂介绍 http是什么协议


数据包交互流程,简单总如下:
  1. 浏览器会向web服务器发起tcp 3次握手,(http是基于tcp,上图数据包1-3)
  2. 浏览器会根据网址栏输入的url,通过DNS协议查找该domain对应的IP地址(如果url中直接给出IP地址,则省略该步骤)
  3. 浏览器发送HTTP协议的GET请求,web服务器会回复对应的页面(没有指定的话,一般由配置文件指定默认文件比如index.html,见数据包4-6)
  4. 因为页面有图片信息,浏览器再请求获取对应的图片文件(见数据包7-24)
  5. 最后会关闭tcp连接,执行4握手(见数据包25-28)
三、页面交互流程下面我们来看一下,从网页输入URL到加载,http究竟做了哪些工作?
浏览器负责发起请求和最后的响应请求,服务器接收请求后,处理请求 。
http协议通俗易懂介绍 http是什么协议


1、输入URL 。
不管是链接还是地址栏的输入,情况都是一样的 。http协议已经规定了URL的格式,通过http协议中的域名或IP找到服务器 。
2、找到服务器的同时,会有http的请求发送过来,告诉服务器我求你做什么?http协议规定了发送请求的格式,这个格式有三部分组成请求行、请求头、请求体 。

推荐阅读