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. 【maven】之nexus常用的一些配置

    nexus私服主要是在项目和maven中央仓库中间做代理,一般在公司内网或者公司内部的一些私包,都需要这么个产品.下面主要是关于maven和nexus之间的一些配置 1.在pom中配置nexus私服 ...

  2. centos7如何查找文件?

    参考https://blog.csdn.net/allyli0022/article/details/77989664 一.find 根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为 ...

  3. 基于CentOS搭建个人Leanote云笔记本

    Leanote 依赖 MongoDB 作为数据存储,下面开始安装MongoDB: 1. 下载启动 MongoDB 下载 MongoDB 进入 /home 目录,并下载 MongoDB: cd /hom ...

  4. 自然语言处理(NLP)入门学习资源清单

    Melanie Tosik目前就职于旅游搜索公司WayBlazer,她的工作内容是通过自然语言请求来生产个性化旅游推荐路线.回顾她的学习历程,她为期望入门自然语言处理的初学者列出了一份学习资源清单. ...

  5. CUDA compiler driver nvcc 散点 part 1

    ▶ 参考[https://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/index.html] ▶ nvcc 预定义的宏 __NVCC__ // 编译 ...

  6. python爬虫之解析库Beautiful Soup

    为何要用Beautiful Soup Beautiful Soup是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式, 是一个 ...

  7. 远程桌面 把explorer关掉了

    用Ctrl+Alt+End调出远程桌面的任务管理器.然后,运行explorer.exe即可重启该服务.

  8. Linux的Namespace与Cgroups介绍

    Namespace 的概念 Linux Namespace 是kernel 的一个功能,它可以隔离一系列系统的资源,比如PID(Process ID),User ID, Network等等.一般看到这 ...

  9. 关于Encode in UTF-8 without BOM

    定义BOM(Byte Order Mark),字节顺序标记,出现在文本文件头部,Unicode编码标准中用于标识文件是采用哪种格式的编码.它的编码是FEFF. 说明 在 UTF-8 文件中放置 BOM ...

  10. suse linux安装lrzsz

    1.从下面的网站下载 lrzsz-1.12.20.tar.gz http://www.filewatcher.com/m/lrzsz-0.12.20.tar.gz.280938.0.0.html 2. ...