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. 转wave 文件解析

    转 1 WAVE 文件格式分析 WAVE 文件作为多媒体中使用的声音波形文件格式之一,它是以RIFF(Resource Interchange File Format)格式为标准的.每个WAVE文件的 ...

  2. 开源ERP系统Odoo搭建文档

    本文参考链接地址: https://devecho.com/v/209/ https://www.cnblogs.com/wxylog/p/6386974.html 什么是Odoo 为什么选择Odoo ...

  3. Activiti流程设计工具

    在Actitivi工程的src/main/resources新建一个文件夹diagrams 然后右键,创建一个activiti Diagram 取名为helloWorld后finish 中间区域,是我 ...

  4. NodeJS client code websocket

    var WebSocketClient = require('websocket').client; var client = new WebSocketClient(); client.on('co ...

  5. 195. Spring Boot 2.0数据库迁移:Flyway

    [视频&交流平台] àSpringBoot视频:http://t.cn/R3QepWG à SpringCloud视频:http://t.cn/R3QeRZc à Spring Boot源码: ...

  6. 格式化hdfs后,hadoop集群启动hdfs,namenode启动成功,datanode未启动

    集群格式化hdfs后,在主节点运行启动hdfs后,发现namenode启动了,而datanode没有启动,在其他节点上jps后没有datanode进程!原因: 当我们使用hdfs namenode - ...

  7. mac无密登陆到linux

    最近弄了台linux云服务器,然而每次登陆linux都好麻烦,所以倒腾了下ssh无密登陆. linux:centos 6.5,自带ssh mac:yosemite,自带ssh 步骤: 1. 创建key ...

  8. [Python]查询oracle导出结果至Excel并发送邮件

    环境:Linux +python2.7+oracle11g 1.提前安装xlwt(excel写入操作模块),cx_Oracle(oracle操作模块) cx_Oracle的安装步骤详见链接:https ...

  9. <记录>TP5 关联模型使用(嵌套关联、动态排序以及隐藏字段)

    在数据库设计中,常常会有如下这种关联模型,分类表中一条分类对应多个商品表中的商品 如果要获得分类表中每条分类 以及 对应的商品的信息,则需要先查询分类表中的数据,然后根据结果遍历查询商品表,最后把数据 ...

  10. TCC细读 - 3 恢复流程

    重试定时任务,通过外部调度实现 package org.mengyun.tcctransaction.spring.recover; import org.mengyun.tcctransaction ...