首页 > 代码库 > http协议介绍及get与post请求、响应状态码

http协议介绍及get与post请求、响应状态码

 

HTTP:  通信双方如果想要通信就必须遵循一定的规则,我们把这个规则称之为HTTP协议!  

报文:  HTTP协议通信的内容我们称之为:报文

  报文格式:    报文首部   

         空行   

        报文主体  

      1.请求报文  

        请求首部:请求首行和请求头部  

        空行  

        请求主体

      2.响应报文:  

        响应首部  

        空行  

        响应主体  

报文分类:  请求报文:浏览器发送给服务器端的内容       

      get请求    GET /Hello/index.jsp HTTP/1.1     

            Accept: */*    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)   

            Accept-Encoding: gzip,deflate   

            Host: localhost:8080    

            Connection: Keep-Alive  

            Cookie: JSESSIONID=C55836CDA892D9124C03CF8FE8311B15      

 

                 请求首行:请求方式 请求资源【url】 请求协议/版本号   

            请求头部:*/*表示客户端可以接受的文档类型,*/*表示的是可以接受任意类型   

            Accept-Language:表示的是当前浏览器所在的地区,zh-CN表示是客户端用的语言简体中文,en-US表示的是美式英语!  

            Accept-Encoding:浏览器向服务器发送请求的时候,会告诉服务器端浏览器可以接受的压缩格式!  

            refer:表示的是当前网页是从哪个网页跳转过来!    host:是目标主机的ip地址和端口号!    Connection:表示的是浏览器和服务器的通信连接:Keep-Alive表示会话保持!默认会话连接时间是3000ms!    Cookie:是位于浏览器端的,和服务器通信使用!        get请求没有空行和请求体!     

      

        post请求    POST /Hello/target.html 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/Hello/  

  `           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: 14    Connection: Keep-Alive    Cache-Control: no-cache    Cookie: JSESSIONID=774DA38C1B78AE288610D77621590345            username=admin      

            请求首部:   请求首行:请求方式 请求URL 请求协议/协议版本号 POST /Hello/target.html HTTP/1.1   请求头部;    

            空行      

           请求体:请求的内容     

get请求和post请求的区别:   1.get请求是通过url传递参数,post请求是通过请求体传递参数的  

                2.get请求最多允许传递255个字符,对长度有限制,所以数据比较大的时候我们使用post请求,尤其是做上传的时候用post请求!  

             3.get请求我们在浏览器上是可以看到请求参数的,而post请求在浏览器地址栏中是看不到请求参数的!   

    响应报文:服务器发送给浏览器端的内容    响应报文是由响应首部[响应首行和响应头部]、空行、响应体   

          HTTP/1.1 200 OK       

          Server: Apache-Coyote/1.1

          Content-Type: text/html;charset=UTF-8  

          Content-Length: 274   

          Date: Tue, 07 Apr 2015 10:08:26 GMT

              <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" >  

           <html>   

           <head>   

           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">   

                                     <title>Insert title here</title>   

           </head>   

           <body>   

             <h1>Hello</h1>  

           </body>  

           </html>      

        响应首行:通信协议/版本号  响应状态码  

        响应头部:   

               服务器:apache   

               响应体编码类型:Content-Type   

          响应体长度:Content-Length   

          响应时间:Date      

        空行  

        响应体!   

响应状态码:  200:表示的是响应成功  

        302:表示的是重定向  

        404:请求的url错误!  

        500:服务器端的错误!  

http协议介绍及get与post请求、响应状态码