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. 廖雪峰Java6 IO编程-3Reader和Writer-2Writer

    1.java.io.Writer和java.io.OutputStream的区别 OutputStream Writer 字节流,以byte为单位 字符流,以char为单位 写入字节(0-255):v ...

  2. 会话保持及Form表单

    1,cookie技术视图views里面:def index(request): #获取请求中的cookie num = request.COOKIES.get('num') if num: num = ...

  3. 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用) ...ubuntu 18.04 安装vim遇到的错误

    安装vim: sudo apt-get install vim-gtk 问题: E:无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用) E:无法锁定管理目录(/ ...

  4. Oracle + Mybatis批量插入数据,xml.mapper种的写法

    1,把表中去年所有的信息全部复制作为今年的数据,即查询出去年所有的数据然后复制插入 <insert id="cover" parameterType="java.l ...

  5. 记录 Ext 日历月份选择控件bug解决过程结果

    目录 背景 代码 背景 项目使用 Ext.NET 2.2.0.40838 , 对应 Ext JS4.2 版本. 结果 2017/3/31 号的时候偶然间点日历选择控件选择2月,10月等月份突然就跳到3 ...

  6. 配置iis支持json解析,配置ssi

    配置json解析: 添加mime:*.json  类型 text/json 安装iis应用程序开发中的asp功能 添加处理程序映射: 添加脚本映射 请求路径:*.json 可执行文件:C:\Windo ...

  7. 3-hive、sqoop

    1.HIVE 1.交互命令 use db_name; create database db_name //创建数据库 create database if not exists db_name //创 ...

  8. js运算符逻辑!和instanceof的优先级

    写js时间长了,运算符优先级很可能自然而然的就形成习惯了,也不需要特别注意优先级的问题. 至少到目前为止,我也没有真正了解过js当中所有运算符的具体优先级.也没有出过什么重大的问题. 但是直到今天,在 ...

  9. js的快速搜索

    公司这几天项目很紧张,然后一直有各种乱七八糟的事,突然说要整个搜索的功能,第一时间想到的就是用php的模糊搜索,但是性能耗的很大,并且调取出的数据的速度贼慢,在百度上找到一个通过js来搜索的功能分享给 ...

  10. 如何在ORACLE中查询某一用户下所有的空表

    先分析表 select 'analyze table '||table_name||' compute statistics;' from user_tables; 把查询结果依次执行 把所有表分析一 ...