网络安全学习Day2

深入HTTP请求流程

HTTP是一种无状态的协议。无状态是指Web浏览器与Web服务器之间不需要建立持久的连接,这意味着当一个客户端向服务器端发出请求,然后Web服务器返回响应(Response),连接就被关闭了,在服务器端不保留连接的有关信息。

Request请求数据包格式

  1. 请求行:请求类型/请求资源路径、协议的版本和类型
  2. 请求头:一些键值对,浏览器与web服务器之间都可以发送,特定的某种含义
  3. 空行:请求头与请求体之间用一个空行操作
  4. 请求体:要发送的数据(一般post提交会使用)例如:user=123&pass=123

请求行有三个标记组成:请求方法、请求URL和HTTP版本;中间用空格间隔

例如:GET /index.html HTTP/1.1

网络安全学习Day2_第1张图片13 CONNECT: 此方法是为了用于能动态的切换到隧道的代理

#请求头:只出现在HTTP请求中,请求报头允许客户端向服务器端传递请求和附加信息和客户端自身的信息。

网络安全学习Day2_第2张图片

Accept: 指浏览器或其他客户可以接爱的MIME件格式。Servlet可以根据它判断并返回适当的文件格式。

User-Agent: 是客户浏览器名称

Host: 对应网址URL中的web名称和端口号。

Accept-Langeuage: 指出浏览器可以接受的语言种类,如en或en-us,指英语。

connection: 用来告诉服务器是否可以维持固定的HTTP连接。http是无连接的,HTTP/1.1使用Keep-Alive为默认值,这样,当浏览器需要多个文件时(比如一个HTML文件和相关的图形文件),不需要每次都建立连接

Cookie: 浏览器用这个属性向服务器发送Cookie。Cookie是在浏览器中寄存的小型数据体,它可以记载和服务器相关的用户信息,也可以用来实现会话功能。

Referer: 表明产生请求的网页URL。

Content-Type:用来表名request的内容类型。

Accept-Charset: 指出浏览器可以接受的字符编码。

Accept-Encoding: 指出浏览器可以接受的编码方式。编码方式不同于文件格式,它是为了压缩文件并加速文件传递速度。浏览器在接收到web响应之后先解码,然后再检查文件格式。

网络安全学习Day2_第3张图片

Response响应数据包格式

       一个响应由四个部分组成:状态行、响应头标、空行、响应数据。

网络安全学习Day2_第4张图片

HTTP状态码:

       1xx:信息提示,表示请求已被成功接收,继续处理。其范围是100~101

       2xx:成功,服务器成功的处理了请求。其范围是200~206

       3xx:重定向,重定向状态码用于告诉浏览器客户端,他们访问的资源已被移动,并告知客户端新的资源地址位置。这时,浏览器将重新对新的资源发起请求。其范围是300~305

       4xx:客户端状态码,有时客户端会发送一些服务器无法处理的东西,比如说格式错误的请求,或者是最常见的是,请求一个不存在的URL。其范围是400~415

       5xx:有时候客户端发送了一条有效请求,但是web服务器自身却出错了,可能是web服务器运行出错了,或者网站都挂了。5xx就是用来描述服务器内部错误的,其范围是500~505

常见的状态码如下:

       网络安全学习Day2_第5张图片

你可能感兴趣的:(web安全,安全)