zoukankan      html  css  js  c++  java
  • JavaWeb学习之请求(Request)与响应(Response)

    请求与响应:顾名思义客户端(浏览器)向服务器(web站点)发送请求,并接收服务器发回的响应信息。

    客户端和服务器端都需要有一定的规范、规则,这就是HTTP协议。

    一、HTTP协议

      ①、版本 
        1.0
          请求数据,服务器返回后, 将会断开连接
     
        1.1
          请求数据,服务器返回后, 连接还会保持着。 除非服务器 | 客户端 关掉。 有一定的时间限制,如果都空着这个连接,那么后面会自己断掉。
      ②、Http请求数据
        包含三个部分内容 : 请求行 、 请求头 、请求体
        格式:      
          POST /examples/servlets/servlet/RequestParamExample HTTP/1.1
          Accept: application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, */*
          Referer: http://localhost:8080/examples/servlets/servlet/RequestParamExample
          Accept-Language: zh-CN
          User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)
          Content-Type: application/x-www-form-urlencoded
          Accept-Encoding: gzip, deflate
          Host: localhost:8080
          Content-Length: 31
          Connection: Keep-Alive
          Cache-Control: no-cache
    
          firstname=zhang&lastname=sansan
        * 请求行  POST /examples/servlets/servlet/RequestParamExample HTTP/1.1
         解释:
              POST : 请求方式 ,以post去提交数据
              请求方式有两种
                1、post方式
                  1.1、数据是以流的方式写过去,不会在地址栏上面显示。  现在一般提交数据到服务器使用的都是POST
                  1.2、以流的方式写数据,所以数据没有大小限制。
                2、get方式
                  2.1、会在地址栏后面拼接数据,所以有安全隐患。 一般从服务器获取数据,并且客户端也不用提交上面数据的时候,可以使用GET
                  2.2、能够带的数据有限, 1kb大小
       
              /examples/servlets/servlet/RequestParamExample  请求的地址路径 , 就是要访问哪个地方。
     
              HTTP/1.1 协议版本
        * 请求头
            Accept: application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, */*
            Referer: http://localhost:8080/examples/servlets/servlet/RequestParamExample
            Accept-Language: zh-CN
            User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)
            Content-Type: application/x-www-form-urlencoded
            Accept-Encoding: gzip, deflate
            Host: localhost:8080
            Content-Length: 31
            Connection: Keep-Alive
            Cache-Control: no-cache
         解释:
            Accept: 客户端向服务器端表示,我能支持什么类型的数据。
            Referer : 真正请求的地址路径,全路径
            Accept-Language: 支持语言格式
            User-Agent: 用户代理 向服务器表明,当前来访的客户端信息。
            Content-Type: 提交的数据类型。经过urlencoding编码的form表单的数据
            Accept-Encoding: gzip, deflate : 压缩算法 。
            Host : 主机地址
            Content-Length: 数据长度
            Connection : Keep-Alive 保持连接
            Cache-Control : 对缓存的操作
        * 请求体:浏览器真正发送给服务器的数据   发送的数据呈现的是key=value ,如果存在多个数据,那么使用 &
            firstname=zhang&lastname=sansan
     
       ③、Http响应数据
         包含三个部分内容 : 响应行 、 响应头 、响应体
         格式:       
            HTTP/1.1 200 OK
            Server: Apache-Coyote/1.1
            Content-Type: text/html;charset=ISO-8859-1
            Content-Length: 673
            Date: Fri, 17 Feb 2017 02:53:02 GMT
            ...这里还有很多数据...
             分析:
     
              HTTP/1.1 200 OK(对应前面的状态码)
              协议版本
              状态码
                200 : 成功,正常处理,得到数据
                403  : for bidden  拒绝
                404 : Not Found
                500 : 服务器异常
            * 响应头
              Server:  服务器是哪一种类型。  Tomcat
              Content-Type : 服务器返回给客户端你的内容类型
              Content-Length : 返回的数据长度
              Date : 通讯的日期,响应的时间
     
  • 相关阅读:
    不可或缺 Windows Native (15)
    不可或缺 Windows Native (14)
    不可或缺 Windows Native (13)
    不可或缺 Windows Native (12)
    不可或缺 Windows Native (11)
    不可或缺 Windows Native (10)
    不可或缺 Windows Native (9)
    不可或缺 Windows Native (8)
    不可或缺 Windows Native (7)
    不可或缺 Windows Native (6)
  • 原文地址:https://www.cnblogs.com/WarBlog/p/12221058.html
Copyright © 2011-2022 走看看