Java Web基础回顾 —HTTP

  1. Http 是应用层协议,基于 请求/响应模式,是一种 无状态的协议
  2. Http 1.0 不能持续连接,每一次请求都会建立一次TCP连接,请求结束后关闭。
    Http 1.1加了持续连接,客户端第一次请求会建立TCP连接,接下来的请求会一直使用该TCP连接,降低了建立连接的开销。
  3. Http的请求:三个部分: 请求行,消息报头,请求正文。
    请求行:一个方法符号开头,后面跟着请求URI和协议的版本,以CRLF结尾。请求行以空格分隔。结尾不允许出现其他字符。GET /test.html HTTP/1.1 (CRLF)。
    GET方法用于获取由Request-URI所标识的资源信息;通过浏览器输入网址访问网页,采用的都是GET方法向服务器获取资源。
    POST方法用于向服务器发送请求,要求服务器接受附在请求后面的数据。表单提交的时候用的多。
  4. 浏览器与服务器的一般过程 Java服务器:
    服务器端:ServerSocket serverSocket = new ServerSocket(80);
    serverSocket.accept(); //服务器是阻断式访问,accept方法会一直等待客户端连接。
    客户端输入:www.baidu.com :80 —> DNS(Domain Name Service) —>221.179.180.20:80
    Socket socket = new Socket(“221.179.180.20”,80);
  5. HTTP响应:
    状态行: HTTP-Version Status-Code Reason-Phrase CRLF eg: HTTP/1.1 200 OK
    状态代码:
    • 1XX: 指示信息-表示请求已接受,继续处理。
    • 2XX: 成功-表示请求已经被成功接收,理解,接受。
      200 : OK 客户端请求成功。
    • 3XX: 重定向-要完成请求必须进行更进一步的操作。
    • 4XX: 客户端错误-请求由语法错误或请求无法实现。
      400 : Bad Request 由于客户端请求有语法错误,不能被服务器所理解。
      401 : Unauthorized 请求未经授权,这个状态码必须和WWW-Authenticate报头域一起使用。
      404 : Not Found 请求的资源不在,比如输入了错误的URL。
    • 5XX: 服务器端错误-服务器未能实现合法的请求。
      500 : Internal Server Error 服务器发生不可预期的错误,导致无法完成客户的请求。
      503 : Service Unavailable 服务器当前不能够处理客户的请求,在一段时间之后,服务器可能会恢复正常。
  6. Telnet:
    HTTP协议与TELNET协议都是基于TCP协议。
posted @ 2017-04-11 17:35  涣涣虚心  阅读(119)  评论(0编辑  收藏  举报