1、http请求

http请求分为三部分:请求行,请求头,请求正文

1. 请求行

  1. 请求方式  GET   POST
  2. 请求资源路径
  3. 协议版本

GET与POST请求区别?

  1. get只能传递1kb以下数据,POST可以传递大数据;
  2. get请求如果有请求参数,那么,浏览器上会显示请求参数;
  3. post请求不会,所以post请求会更安全;
  4. 如果是get请求,有请求参数,请求参数是在http请求行的资源路径上。

如果是post请求,有请求参数,请求参数是在请求正文中

2. 请求头

格式 :  名称:值1,值2,.

重要的http请求头

它是用于描述请求是从哪个位置来的,使用它可以进行防盗链。

这个头可以与http响应头last-modify组合完成服务器缓存策略

3. 请求正文

请求正文与请求行之间有一空白行,对于请求正文,只有在请求方式是POST的情况下,并且有请求参数,才会有请求正文。

2、http响应

http响应由三部分组成:响应行,响应头,响应正文

1. 响应行:包括相应协议版本,响应状态码,状态码描述

在响应行中最重要的是响应状态码

一共分为五种

  • 1xx 代表浏览器向服务器发送请求,服务器没有做任何操作;
  • 2xx 服务器正确响应,并且响应成功;
  • 3xx 代表浏览器向服务器发送主求,服务器完成一部分工作,通知浏览器继续执行其它的操作;
  • 4xx 浏览器端错误;
  • 5xx 服务器端错误。

最常见的状态码

  • 200 响应成功;
  • 302 可以与一个响应头location组合完成重定向;
  • 304 代表服务器端资源没有改变,使用浏览器的缓存;
  • 404  资源访问不到;
  • 405 浏览器请求时请求的方式get/post没有与之对应的方法;
  • 500 服务器端错误。

2. 响应头

响应头格式   name:值1,值2,…

  • Location 它与302状态码组合可以完成重定向功能。(response对象)
  • Content-type:服务器响应回的数据mimeType类型。
  • refresh 可以实现定时跳转
  • content-disposition 可以完成文件下载
  • expires
  • cache-control
  • pragma

这三个头可以实现禁用浏览器缓存。

Last-modified 它与304状态码及http请求头  if-modify-since组合完成服务器缓存策略。

3. 响应正文

对于http响应正文,它是真正被浏览器解析并显示在浏览器上的。

Http相关的更多相关文章

  1. 嵌入式单片机STM32应用技术(课本)

    目录SAIU R20 1 6 第1页第1 章. 初识STM32..................................................................... ...

  2. java中的字符串相关知识整理

    字符串为什么这么重要 写了多年java的开发应该对String不陌生,但是我却越发觉得它陌生.每学一门编程语言就会与字符串这个关键词打不少交道.看来它真的很重要. 字符串就是一系列的字符组合的串,如果 ...

  3. SQL Server相关书籍

    SQL Server相关书籍 (排名不分先后) Microsoft SQL Server 企业级平台管理实践 SQL Server 2008数据库技术内幕 SQL Server性能调优实战 SQL S ...

  4. dotNET跨平台相关文档整理

    一直在从事C#开发的相关技术工作,从C# 1.0一路用到现在的C# 6.0, 通常情况下被局限于Windows平台,Mono项目把我们C#程序带到了Windows之外的平台,在工作之余花了很多时间在M ...

  5. 在ASP.NET Core应用中如何设置和获取与执行环境相关的信息?

    HostingEnvironment是承载应用当前执行环境的描述,它是对所有实现了IHostingEnvironment接口的所有类型以及对应对象的统称.如下面的代码片段所示,一个HostingEnv ...

  6. virtualbox linux虚拟机相关

    linux虚拟机设置为静态IP 在virtualbox中安装好linux虚拟机后,如果采用的是NAT方式的话,linux虚拟机默认采用dhcp方式自动上网,而且用的是NetworkManager服务而 ...

  7. WebGIS中等值面展示的相关方案简析

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 等值面是气象.环保等相关项目上常用到的效果展示.在传统的CS项 ...

  8. .NET同步与异步之相关背景知识(六)

    在之前的五篇随笔中,已经介绍了.NET 类库中实现并行的常见方式及其基本用法,当然.这些基本用法远远不能覆盖所有,也只能作为一个引子出现在这里.以下是前五篇随笔的目录: .NET 同步与异步之封装成T ...

  9. zookeeper集群的搭建以及hadoop ha的相关配置

    1.环境 centos7 hadoop2.6.5 zookeeper3.4.9 jdk1.8 master作为active主机,data1作为standby备用机,三台机器均作为数据节点,yarn资源 ...

  10. mysql 5.7中的用户权限分配相关解读!

    这篇文章主要介绍了MySQL中基本的用户和权限管理方法,包括各个权限所能操作的事务以及操作权限的一些常用命令语句,是MySQL入门学习中的基础知识,需要的朋友可以参考下 一.简介 各大帖子及文章都会讲 ...

随机推荐

  1. Python 黑帽编程 4.2 Sniffer之数据本地存储和加载

    在上一节,我们完成了编写一个简易的Sniffer的第一步--数据捕获. 很多时候,我们需要将捕获的数据先保存到磁盘上,之后再使用工具或者自己编写代码来进行详细分析. 本节我们在上一节的基础上来讲解保存 ...

  2. hashcode的一些了解

    1.hashcode的作用? hashcode代表对象的特征,在集合类中广泛的使用. 2.hashcode是如何生成的? 在普通的对象中,获得对象的内存的地址,经过一些算法,不同对象生成不同的hash ...

  3. C/C++中慎用宏(#define)

    宏的定义在程序中是非常有用的,但是使用不当,就会给自身造成很大的困扰.通常这种困扰为:宏使用在计算方面. 本例子主要是在宏的计算方面,很多时候,大家都知道定义一个计算的宏,对于编译和编程是多么的有用. ...

  4. react-router3.x hashHistory render两次的bug,及解决方案

    先写一个简单App页面,其实就是简单修改了react-router的官方例子中的animations例子,修改了两个地方: 1.路由方式由browserHistory修改为hashHistory 2. ...

  5. SpringMVC总结的部分教程及使用方法

    注:本文只用注解来实现 SpringMVC各种流程图流程图(其他的各种流程图)jsp.xml.action彼此之间的关系,都如何使用spring-mvc.xml如何配置,放在哪里?action中如何转 ...

  6. (三) Angular2项目框架搭建心得

    前言: 在哪看到过angular程序员被React程序员鄙视,略显尴尬,确实Angular挺值得被调侃的,在1.*版本存在的几个性能问题,性能优化的"潜规则"贼多,以及从1.*到2 ...

  7. 【前端】:Dom

    前言: 昨天写了篇关于JavaScript的,今天写篇Dom的(插入4个实例),写完之后感觉知识点还不少~ 内容当然会用到[前端]:JavaScript的知识.下篇博客会写关于jQuery~~ 一.D ...

  8. 第十三篇 一个安装、管理windows服务的桌面程序

    在网上看到一个修改程序入口的程序去把windows 服务修改成控制台的程序,然后利用控制台的程序把服务安装和管理,也想起自己原来也写了一个对windows 报务管理的程序,不过是winform的.   ...

  9. 云服务器spark集群搭建

    ---恢复内容开始--- 1:去官网下载spark http://spark.apache.org 2:解压,然后在自己的机器上编译conf中的两个文件 mv slaves.template slav ...

  10. 【2-24】for循环嵌套,跳转语句,异常语句,穷举法、迭代法

    For循环嵌套与if嵌套相似,是在for中再套for,其结构如下: For(;;) { For(;;){} }经典题型为打印星星例: Console.Write("请输入一个奇数:" ...