文章目录:

1.Http服务器介绍

2.Http服务器交互流程

3.Http网络协议包的分类

3.1 Http请求协议包(四部分)

3.2 Http响应协议包(四部分) 

4.Http常见的状态码


1.Http服务器介绍

  1. 所有的Http服务器都是由Java编程语言开发的应用程序。
  2. Http服务器可以接收由浏览器发出的Http请求协议包。
  3. Http服务器可以解析由浏览器发来的Http请求协议包,将该协议包解析为二进制数据,以便了解用户的请求。
  4. Http服务器可以自动定位被访问的资源文件。
  5. Http服务器可以自动将被访问的文件内容或者运行结果通过输出流以二进制形式写入到Http响应协议包中。
  6. Http服务器可以自动将Http响应协议包推送给发起请求的浏览器。

2.Http服务器交互流程

  1. 浏览器(Brower)和服务器(Server)建立连接(B/S)
  2. 浏览器发送请求数据到服务器
  3. 服务器接收到请求后,进行处理,然后将处理结果返回给浏览器
  4. 关闭浏览器和服务器的连接

3.Http网络协议包的分类

一、Http请求协议包:① 在浏览器准备发送请求时,负责生成一个Http请求协议包。

                                   ② 在浏览器准备发送请求时,负责将请求信息写入Http请求协议包。

                                   ③ 由浏览器负责将Http请求协议包推送给Http服务器。

二、Http响应协议包:① 在Http服务器准备返回结果时,负责生成一个Http响应协议包。

                                   ② 由Http服务器调用输出流将文件内容(文字、数字、像素、帧)写入到Http响应协议包。

                                   ③ 由Http服务器负责将Http响应协议包推送给发起请求的浏览器。

3.1 Http请求协议包(四部分)

  1. 请求行:包括 url 请求地址、method 请求方式。
  2. 请求头:如果浏览器以GET方式发送请求,则请求参数存放在请求头中。
  3. 空白行:无内容,但是必须存在。可以理解为用来分隔请求头和请求体。
  4. 请求体:如果浏览器以POST方式发送请求,则请求参数存放在请求体中。

3.2 Http响应协议包(四部分) 

  1. 响应行(状态行):Http状态码。
  2. 响应头:content-type,指定浏览器使用对应的解析器或者编译器,将从Http服务器返回过来的相应的二进制信息进行解析或者编译。
  3. 空白行:无内容,但是必须存在。
  4. 响应体:本次索要的文件内容。

Java Web——简单了解Http协议_服务器


4.Http常见的状态码

介绍:由Http服务器生成一个由三位数字组成的符号。表示本次通信的状态同时可以要求浏览器接收到响应包之后的行为。

分为下面五个大类:

1... 信息,服务器收到请求,需要请求者继续执行

2... 成功,操作成功接受并处理

3... 重定向,需要进一步操作以完成请求

4... 浏览器错误,请求包含语法错误或无法完成请求

5... 服务器错误,服务器在处理请求时发生错误 

200:Http服务器将浏览器请求的资源文件进行了返回。

302:Http服务器通知浏览器到响应头中的location属性中读取请求地址,并要求浏览器将得到的请求地址更新到浏览器的地址栏。

404:Http服务器通知浏览器本次索要的资源文件不存在。主要有以下几种原因:

  1. 网站名不对。
  2. 网站名正确,但是资源文件名不对。
  3. tomcat没有在网站定位默认欢迎资源文件。(标签 <welcome-file-list>...</welcome-file-list>)
  4. 请求地址没有按照 uri 的标准格式进行设置。
  5. IDEA没有将最新网站内容交给tomcat。

405:Http服务器通知浏览器本次索要的资源文件已经被找到了,但是这个资源文件对于浏览器请求方式无法接收。(get、post)。

500:Http服务器通知浏览器本次索要的资源文件已经被找到了,并且也可以接收浏览器的请求方式,但是由于资源文件在处理过程中出现了异常因此无法提供服务。