Javaweb入门笔记

HTTP协议介绍

  1. HTTP(hypertext transport protocol),即超文本传输协议。这个协议详细规定了浏览器和万维网服务器之间互相通信的规则。
  2. 客户端与服务端通信时传输的内容我们称之为报文。
  3. HTTP就是一个通信规则,这个规则规定了客户端发送给服务器的报文格式,也规定了服务器发送给客户端的报文格式。
    实际我们要学习的就是这两种报文。客户端发送给服务器的称为”请求报文“,服务器发送给客户端的称为”响应报文“。

请求的协议格式

一个完整的HTTP请求包括:一个请求行、若干请求头、以及实体内容
请求的HTTP协议格式:
请求行
请求头
空行
请求体

请求头字段

  • Accept:用于告诉服务器,客户机支持的数据类型
  • Accept-Charset:用于告诉服务器,客户机采用的编码
  • Accept-Encoding:用于告诉服务器,客户机支持数据压缩格式
  • Accept-Language:客户机的语言环境
  • Host:客户机通过这个头告诉服务器,想访问的主机名
  • If-Modified-Since:客户机通过这个头告诉服务器,资源的缓存时间
  • Refer:客户机通过这个头告诉服务器,它是从哪个资源访问服务器的(防盗链)
  • User-Agent:客户机通过这个头告诉服务器,客户机的软件环境
  • Cookie:客户机通过这个头向服务器带数据
  • Connection:这个请求完了,是保持连接还是关闭
  • Range:断点下载
    • bytes=n1-n2,传输范围n1到n2字节
    • bytes=n-,传输web资源中第n个字节以后的所有内容
    • bytes=n,传输最后n个字节

响应的协议格式

一个HTTP响应代表服务器向客户端回送的数据,包括:一个状态行、若干消息头、以及实体内容
响应的HTTP协议格式:
响应首行
响应头信息
空行
响应体

常见的响应码

响应码对浏览器来说很重要,它告诉浏览器响应的结果;

  • 200:请求成功,浏览器会把响应体内容(通常是html)显示在浏览器中;
  • 404:请求的资源没有找到,说明客户端错误的请求了不存在的资源;
  • 500:请求资源找到了,但服务器内部出现了错误;
  • 302:请求重定向,当响应码为302时,表示服务器要求浏览器重新再发一个请求,服务器会发送一个响应头Location,它指定了新请求的URL地址

具体响应码可参考:
HTTP 状态消息