HTTP协议

  • 网络传输协议
    • 指服务器和客户端之间进行通信时的约束和规范,客户端与服务器端的数据交互并不是杂乱无章的,需要遵循(基于)一定的规范进行。
  • 常见的协议
    • 1.http(80)、https(443)超文本传输协议
    • 2.ftp文件传输协议
    • 3.SMTP简单邮件传输协议
  • 简介
    • HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义web浏览器与web服务器之间交换数据的过程。
  • HTTP特征
    • 是基于TCP链接的传输协议
    • 默认端口是80
    • 是基于请求-响应模式的协议
  • HTTP请求
    • 客户端连上服务器后,向服务器请求某个web资源,称之为客户端向服务器发送了一个HTTP请求。
    • 一个完整的HTTP请求包括:一个请求行,若干消息头,以及实体内容
    • 请求行
      • 由三部分组成(请求方式,请求地址,请求的协议版本)
        • POST /Dynamic_demo/main.html HTTP/1.1
      • 请求行中的GET称之为请求方式(POST,GET,HEAD,OPTIONS,DELETE,TRACE,PUT)
      • 常用的有:GET,POST
      • GET方式特点:在URL地址后附带的参数是有限制的,其数据容量通常不超过1K。
      • POST方式特点:传送的数据量无限制。
    • 消息头
      • HTTP协议_第1张图片

      • MIME类型(多用途互联网邮件扩展)
        • 是一个互联网标准,它扩展了电子邮件标准,使其能够支持非ASCII字符,二进制格式附件等多种格式的邮件信息
        • 内容类型 :Content-Type: [type]/[subtype]; parameter 
        • HTTP协议_第2张图片

        • 常用的subtype值 

          HTTP协议_第3张图片

      •  
    • 状态行
      • 格式: HTTP版本号 状态码 响应结果
        • 举例:HTTP/1.1 200 OK
      • 状态码用于表示服务器对请求的处理结果,它是一个三位的十进制数。
      • 响应状态码分为5类

        HTTP协议_第4张图片

      • 最常见的响应状态码

      • 常用响应头

        HTTP协议_第5张图片

      • Content-Disposition名称使用中文
        • lnew String("中文显示".getBytes("GB2312"),"ISO-8859-1")
        • l需要注意特殊字符:空格、/、\、&、*、”、:、?
  • 总结:
    • 我们网页里面的所有的内容都是通过请求和响应来完成的,我们的HTTP来约束我们的请求和响应,怎么约束呢?请求包括请求行,请求头,请求主体;我们的响应有一个状态行,响应头,还有响应主体。
    • 区别:
      • 当我们以POST请求,它有一个请求主体,当我们以GET请求,没有请求数据,当我们以POST请求,它有一个Content-Type,当我们以GET请求,没有Content-Type。

你可能感兴趣的:(java学习路径)