Servlet(2)


Http协议

  • 客户端和服务器之间通信时发送的数据需要遵守的规则
  • 客户端给服务器发送数据叫请求,服务器给客户端回传数据叫响应
  • 请求又分为GET请求,和POST请求两种
    • GET请求
      • 请求行
        • 请求的方式    GET
        • 请求的资源路径(+?+请求参数)
        • 请求的协议版本号    HTTP/1.1
      • 请求头
        • key:value 组成 不同的键值对表示不同的含义
        • Accept:告诉服务器,客户端可以接收的数据类型
        • Accept-Language:告诉服务器客户端可以接收的语言类型
          • zh_CN:中文中国
          • en_US:英文美国
        • User-Agent:就是浏览器的信息
        • Accept-Encoding:告诉服务器客户端可以接收的数据编码(压缩)格式
        • Host:表示请求的服务器ip和端口号
        • Connection:告诉服务器请求连接如何处理、
          • Keep-Alive:告诉服务器回传数据不要马上关闭,保持一小段时间的连接
          • Closed:马上关闭
    • POST请求
      • 请求行
        • 请求的方式    POST
        • 请求的资源路径(+?+请求参数)
        • 请求的协议版本号    HTTP/1.1
      • 请求头
        • key:value 组成 不同的键值对表示不同的含义
        • Accept:告诉服务器,客户端可以接收的数据类型
        • Accept-Language:告诉服务器客户端可以接收的语言类型
        • Referer:表示请求发起时,浏览器地址栏中的地址(从哪来)
        • User-Agent:就是浏览器的信息
        • Content-Type:表示发送的数据的类型
          • application/x-www-form-urlencoded:表示提交的数据格式时:name=value&name=value,然后对其进行url编码
          • mutipart/form-data:表示以多段的形式提交数据给服务器(以流的形式提交,用于上传)
        • Content-Length:表示发送的数据的长度
        • Cache-Control:表示如何控制缓存 no-cahce不缓存
        • 空行
      • 请求体:发送给服务器的数据
  • Get请求
    • form标签 method=get
    • a标签
    • link标签引入css
    • Script标签引入js文件
    • img标签引入图片
    • iframe引入html页面
    • 在浏览器地址栏中输入地址后敲回车
  • Post请求
    • form标签 method=form
  • 响应的HTTP协议格式
    • 响应行
      • 响应的协议和版本号   HTTP/1.1
      • 响应状态码
      • 响应状态描述符
    • 响应头
      • key:value    不同的响应头,有其不同含义
      • Server:表示服务器的信息
      • Content-Type:表示响应体的数据类型
      • Content-Length:表示响应体的长度
      • Date:请求响应的时间(格林时间)
      • 空行
    • 响应体:回传给客户端的数据
  • 常用响应码
    • 200:表示请求成功
    • 302:表示请求重定向
    • 404:表示请求服务器已经收到了,但是需要的数据不存在(请求地址错误)
    • 500:表示服务器已经收到请求,但是服务器内部错误(代码错误)