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请求、响应状态码的更多相关文章

  1. HTTP请求 响应状态码

      1.请求响应方式       get是从服务器上获取数据,post是向服务器传送数据.get 数据在地址栏中明文的形式发送, post则不是,传递的数据比get多 据RFC2616标准(现行的HT ...

  2. TCP/IP协议族(一) HTTP简介、请求方法与响应状态码

    接下来想系统的回顾一下TCP/IP协议族的相关东西,当然这些东西大部分是在大学的时候学过的,但是那句话,基础的东西还是要不时的回顾回顾的.接下来的几篇博客都是关于TCP/IP协议族的,本篇博客就先简单 ...

  3. 《HTTP协议详解》读书笔记---请求篇之响应状态码

    在接收和解释请求消息后,服务器返回一个http响应消息.它也分为3个部分:状态行.消息报头.响应正文,格式如下: HTTP-VersionStatus-CodeReason-PhraseCRLF(CR ...

  4. HTTP协议---HTTP请求中的常用请求字段和HTTP的响应状态码及响应头

    http://blog.csdn.net/qxs965266509/article/details/8082810 用于HTTP请求中的常用请求头字段 Accept:用于高速服务器,客户机支持的数据类 ...

  5. 02-HTTP的请求方法以及响应状态码

    1.   HTTP的请求方法以及响应状态码 1.1. 请求方法 http请求方法有GET.POST.PUT.HEAD.DELETE.OPTIONS.TRACE.CONNECT.当然上述方法是基于HTT ...

  6. iOS开发——网络篇——HTTP/NSURLConnection(请求、响应)、http响应状态码大全

    一.网络基础 1.基本概念> 为什么要学习网络编程在移动互联网时代,移动应用的特征有几乎所有应用都需要用到网络,比如QQ.微博.网易新闻.优酷.百度地图只有通过网络跟外界进行数据交互.数据更新, ...

  7. 9. http协议_响应状态码_页面渲染流程_路由_中间件

    1. http协议 超文本传输协议 协议详细规定了 浏览器 和 万维网服务器 之间互相通信的规则 客户端与服务端通信时传输的内容我们称之为报文(请求报文.响应报文) 常见的发送 get 请求方式 在浏 ...

  8. php中Http请求方法和响应状态码整理教程

    HTTP请求报文由请求行(request line).请求头部(header).空行和请求数据4个部分组成,格式如下 可见请求行由请求方法字段.URL字段和HTTP协议版本字段3个字段组成,它们用空格 ...

  9. HTTP协议—常见的HTTP响应状态码解析

    常见的HTTP响应状态码解析 1XX Informational(信息性状态码) 2XX Success(成功状态码) 3XX Redirection(重定向状态码) 4XX Client Error ...

随机推荐

  1. [UE4]Tile View

    一.Tile View也属于List View,Tile View以小方格的形式展示子控件. 二.Tile View.Entry Height.Tile View.Entry Width设置每个Til ...

  2. Schtasks命令详解(计划任务DOS批处理)

    Schtasks 安排命令和程序定期运行或在指定时间内运行.从计划表中添加和删除任务,按需要启动和停止任务,显示和更改计划任务. 创建新的计划任务. 语法 schtasks/create/tnTask ...

  3. jdbc链接数据库的url两种写法

    首先看下面两个jdbc的url 一:jdbc.url=jdbc:oracle:thin:@100.2.194.200:1521/abc二:jdbc.url=jdbc:oracle:thin:@100. ...

  4. jquery:获取checked复选框的问题

    jquery:获取checked复选框的问题 功能描述:要完成一个全选的功能,但总是获取不到复选框的被选中的个数,究其原因,是Jquery中length和checked使用不当所造成的. // 获取所 ...

  5. gentoo emacs 中文输入法 呼出

    最近在另外一台电脑上面安装 gentoo和 emacs,但是碰到奇怪的问题,在旧电脑上面,可以使用 ctrl + space 呼出输入法,而新电脑只能触发 复制功能. 经过在网上查找和两台电脑之间的对 ...

  6. Maven CXF wsdl2java XMLGregorianCalendar类型更改

    jaxb-bindings.xml配置: <?xml version="1.0" encoding="UTF-8"?> <jaxb:bindi ...

  7. leetcode347

    public class Solution { public IList<int> TopKFrequent(int[] nums, int k) { var dic = new Dict ...

  8. __getattr__ __delattr__ __setattr__ __getattribute__使用(重写python提供的错误信息)

    自己定义了这些attr 查找删除设置就会触发自己定义的逻辑,如果不重新,pyton会提供自己报错信息class Room: def __init__(self,name): self.name = n ...

  9. python_05 可变类型与不可变类型、集合、字符串格式化

    可变数据类型与不可变数据类型: 1.可变:列表,字典 2.不可变:字符串,数字,元组 访问顺序: 1.顺序访问:字符串,列表,元组 2.映射:字典 集合 由不同元素组成的集合,集合中是一组无序排列的可 ...

  10. poi横纵动态导入

    dao层 <insert id ="saveInTarget" parameterType="java.util.List" > INSERT IN ...