HTTP协议

1、HTTP结构

2、在Windows Server上搭建web服务器

3、分析HTTP协议流量

一、HTTP协议

1、概念

  • HTTP(超文本传输协议),是用于在万维网服务器上传输超文本(HTML)到本地浏览器的传输协议
  • 属于TCP/IP协议的一员,传输HTML文件、图片、查询结构、视频等等
  • 基于传输层TCP的80端口

2、万维网服务

  • 采用C/S架构
  • 客户机通过浏览器去请求,从而在浏览器上就可以观看到对应的图形界面,这就是B/S架构(浏览器/服务器)

3、万维网服务的软件

  • Windows Server IIS(Windows平台)
  • apache(多平台)
  • tomcat(多平台)
  • nginx(多平台)
  • ....

二、HTTP工作原理

  • 在客户端使用浏览器通过URL向HTTP服务器发送请求

    • URL(统一资源定位符)

      • 组成:协议+主机和端口(默认80端口)+文件名和路径
      • image
    • web服务器根据收到的请求直接向客户机相应信息

    • 针对HTTP协议的端口号是80端口,默认端口可以修改(会影响客户机的访问,建议改为其他非标准端口),否则会出现端口占用

  • 交互过程

    image

1、注意事项

  • HTTP是无连接的(限制每次连接只处理一个请求),可以节省传输时间,来一个请求处理一个请求
  • HTTP是独立的,只要客户端和服务器知道如何处理数据内容,任何类型的数据都可以通过HTTP发送,客户端以及服务器指定使用适合的MIME-type(消息内容类型)
  • HTTP是无状态的,没有记忆能力,如果后续处理需要用到前面的信息时,需要重新连接获取,每次连接传送的数据量比较大(因此后续加入了session和cookie),服务器不需要提供先前信息,应答比较快

三、分析http流量

image

1、请求头(图中红色部分)

1、请求方法(GET/POST)

GET用于获取内容,POST用于传输实体内容

2、HOST主机

主机的IP地址

3、连接状态
4、Upgrade-Insecure-Requests

请求头向服务器发送一个信号,表示客户对加密和认证响应的偏好,并且它可以成功处理,告诉浏览器,可以将HTTP连接升级为HTTPS连接

5、用户信息

浏览器信息和使用系统的信息

6、ACCEPT

告知服务器,用户的客户端可以处理的类型有哪些

7、压缩方法
8、语言

告知服务器,用户可以处理的语言

2、返回头(图中蓝色部分)

1、HTTP状态码

1开头的,一般情况下表示,服务器已收到请求,客户端可以继续进行操作

2开头的,服务器收到的请求已处理成功

3开头的,一般是重定向,

4开头的,一般代表客户端出错或者请求内容不存在

5开头的,一般代表服务器错误

2、Content-Type连接的类型
3、Last-Modified

上次修改的日期

4、Accept-Ranges

支持的标识

5、ETag

被请求变量的实体的变量名

6、Server

服务器类型

7、date

请求时间

8、Content-Length

内容的长度

9、HTTP的内容
posted on 2023-03-17 09:18  大咸鱼8125  阅读(69)  评论(0编辑  收藏  举报