一、HTTP简介

  1、 HTTP协议:(hypertext transport protocol),即超文本传输协议。这个协议详细规定了浏览器和万维网服务器之间互相通信的规则(报文格式)。

  2、报文: 客户端与服务端通信时传输的内容我们称之为报文。客户端发送给服务器的称为”请求报文“,服务器发送给客户端的称为”响应报文“。

  3、 分类:

     请求报文:

          get请求

          post请求

     响应报文:

  4、报文格式:

      报文首部:包括报文首行和报文头部

二、get请求报文

  get请求报文只有:报文首部

    //报文首行

        GET /bookstore01/b.html?username=dfadf&pwd=dfa HTTP/1.1          //请求方式 请求路径?参数键值对&
      
    //报文头部【键值对格式】

        Host: localhost:8080 //请求目标ip地址和端口号
        User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101Firefox/27.0//当前浏览器

        Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
        //浏览器告诉服务器,浏览器可以接收什么格式的文件

        Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
        //可以判断你是在是哪个位置
        zh-cn:简体中文
        en-us:美式英语

        Accept-Encoding: gzip, deflate
        //浏览器告诉服务器浏览器可以识别的解压方式

        Referer: http://localhost:8080/bookstore01/index.html
        //Referer:指的是当前页面是从哪个页面跳转过来的

        Connection: keep-alive
        //keep-alive:表示浏览器告诉服务器这是一个长连接

  get请求没有空行和报文主体,get请求是通过地址栏传递参数的!

三、post请求报文

    //请求首行

        POST /bookstore01/b.html HTTP/1.1        //请求方式 请求路径 请求协议/版本号

    //请求头部

        Host: localhost:8080
        User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0
        Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
        Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
        Accept-Encoding: gzip, deflate
        Referer: http://localhost:8080/bookstore01/index.html
        Connection: keep-alive

        //空行

        username=zhangsan    //报文主体

    post请求有空行和请求体, post请求通过请求体传递请求参数!  

四、响应报文

     //响应首行:

        HTTP/1.1 200 OK         //协议名称/版本号 响应状态码 状态描述符

        Server: Apache-Coyote/1.1  
        Accept-Ranges: bytes
        Etag: W/"262-1510560961503"
        Last-Modified: Mon, 13 Nov 2017 08:16:01 GMT
        //格林威治时间:
        Content-Type: text/html
        Content-Length: 262
        Date: Mon, 13 Nov 2017 08:44:55 GMT

五、常见的响应状态码

    200 :响应成功
    302 : 重定向
    404 : 请求路径错误
    405 : 请求方式有问题 以4XXX开头的响应状态码,都表示是浏览器端的错误
    500 : 服务器端的错误,表示自己写的java、jsp代码有bug!

六、get与post请求的区别

  1、get请求通过地址栏传递参数,post请求通过请求体传递请求参数,相对安全一点!
   2、get请求没有空行和请求体,post请求有
  3、get请求传递的字符是有限制的,255个字符,而post请求通过请求体传递参数,没有大小限制

    总结:通常只有在form表单中,我们使用的是post请求,而在其它地方都是get请求!

浅析HTTP协议get请求与post请求的更多相关文章

  1. 浅析HTTP协议的请求报文和响应报文

    1.HTTP协议与报文简介  HTTP(hypertext transport protocol),即超文本传输协议.这个协议详细规定了浏览器和万维网服务器之间互相通信的规则. 而客户端与服务端通信时 ...

  2. Http协议简单解析及web请求过程

    HTTP协议: HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统. 基于HTTP协议的客户端/服务器请求响应机制的信息交换过程包含下面几个步骤: 1)    ...

  3. Http协议入门、响应与请求行、HttpServletRequest对象的使用、请求参数获取和编码问题

    1 课程回顾 web入门 1)web服务软件作用: 把本地资源共享给外部访问 2)tomcat服务器基本操作 : 启动:  %tomcat%/bin/startup.bat 关闭: %tomcat%/ ...

  4. http协议以及get和post请求

    HTTP协议是网络传输信息的一种规范. 就好比两个人之间的交流,甲只会讲英语,乙只会说汉语,结果是他们必然无法开怀畅谈. HTTP协议也类   GET 请求获取 Request-URI 所标识的资源 ...

  5. http协议基础(二)请求和响应报文的构成

    http协议用于客户端和服务器之间的通信,请求访问资源的一方称为客户端,而提供资源响应的一方称为服务器端. 下面就是客户端和服务端之间简单的通信过程 PS:请求必须从客户端建立通信,服务端没收到请求之 ...

  6. HTTP协议详解之http请求分析

    当今web程序的开发技术真是百家争鸣,ASP.NET, PHP, JSP,Perl, AJAX 等等. 无论Web技术在未来如何发展,理解Web程序之间通信的基本协议相当重要, 因为它让我们理解了We ...

  7. Django---Http协议简述和原理,HTTP请求码,HTTP请求格式和响应格式(重点),Django的安装与使用,Django项目的创建和运行(cmd和pycharm两种模式),Django的基础文件配置,Web框架的本质,服务器程序和应用程序(wsgiref服务端模块,jinja2模板渲染模块)的使用

    Django---Http协议简述和原理,HTTP请求码,HTTP请求格式和响应格式(重点),Django的安装与使用,Django项目的创建和运行(cmd和pycharm两种模式),Django的基 ...

  8. 协议层安全相关《http请求走私与CTF利用》

    0x00 前言 最近刷题的时候多次遇到HTTP请求走私相关的题目,但之前都没怎么接触到相关的知识点,只是在GKCTF2021--hackme中使用到了 CVE-2019-20372(Nginx< ...

  9. [转] 浅析HTTP协议

    浅析HTTP协议 来源:http://www.cnblogs.com/gpcuster/archive/2009/05/25/1488749.html HTTP协议是什么? 简单来说,就是一个基于应用 ...

随机推荐

  1. ADO-添加msado15.dll及基本类对象的了解

    一.dll文件的导入 参考文献:https://blog.csdn.net/qq_31209383/article/details/51199762 要使用数据库,首先在stdafx.h中导入msad ...

  2. poj-2420 A Star not a Tree?(模拟退火算法)

    题目链接: A Star not a Tree? Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5219   Accepte ...

  3. PS 滤镜— —Marble 效果

    clc; clear all; close all; addpath('E:\PhotoShop Algortihm\Image Processing\PS Algorithm'); I=imread ...

  4. PLSQL查询最近编绎、创建、修改过的过程函数

    SELECT * FROM User_Objects t WHERE t.Object_Type IN ('PROCEDURE', 'PACKAGE BODY', 'FUNCTION') AND t. ...

  5. 数据结构-二叉搜索树的js实现

    一.树的相关概念 1.基本概念 子树 一个子树由一个节点和它的后代构成. 节点的度 节点所拥有的子树的个数. 树的度 树中各节点度的最大值 节点的深度 节点的深度等于祖先节点的数量 树的高度 树的高度 ...

  6. Bellman-Ford算法及其队列优化(SPFA)

    一.算法概述 Bellman-Ford算法解决的是一般情况下的单源最短路径问题.所谓单源最短路径问题:给定一个图G=(V,E),我们希望找到从给定源结点s属于V到每个结点v属于V的最短路径.单源最短路 ...

  7. NetScaler VPX在Azure上的部署(一)

    本文将介绍NetScaler的VPX部署在Azure China上.包括如何通过vhd文件上传.创建虚拟机,以及如何部署VPX. 一.首先将VHD文件解压,放到目录D:\Azure中.VHD文件的获得 ...

  8. HDOJ1073(gets 应用)

    练习操作字符串的好题. #include<cstdio> #include<algorithm> #include<cstring> using namespace ...

  9. 测试RDP回放

    Dim fso,num,flagflag=trueset bag=getobject("winmgmts:\\.\root\cimv2") Set fso=CreateObject ...

  10. 设置win7资源管理器启动时的默认位置-windows-操作系统-网页教学网

    设置win7资源管理器启动时的默认位置-windows-操作系统-网页教学网 如何设置win7资源管理器启动时的默认位置?我不太习惯 Win 7 的资源管理器默认总是打开库,我还是喜欢资源管理器打开树 ...