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. pwnable.kr-collision -Writeup

    bof html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,addres ...

  2. 点击弹窗后再刷新html页面

    当alert弹出框点击确定以后,再让页面重新加载一下 具体的代码如下: <script type="text/javascript"> alert("签到成功 ...

  3. Unsupported major.minor version 52.0错误解决 Ubuntu JDK8 安装配置

    Unsupported major.minor version 52.0错误一般是因为应用程序需要JDK8而ubuntu默认的是jdk7,所以需要切换到jdk8才能解决这个问题. 本文使用PPA方式安 ...

  4. shell变量数学运算

    shell变量数学运算 #!/bin/sh # 本脚本说明shell脚本中变量运算的用法 # 错误的用法var=1var=$var+1echo $var 输出:1+1 # 第一种用法,letvar=1 ...

  5. CSS sliod属性

    CSS solid 属性 制作过网页的人都有为画线而烦恼的经历,先来认识一下“Border”(画边框),它是CSS的一个属性,用它可以给能确定范围的HTML标记(如TD.DIV等等)画边框,它可以定义 ...

  6. C语言 extern4 全局数组

    headB.h中: #ifndef headB_H #define headB_H ; ]={,,,,}; #endif .c文件中: #include "headB.h" #in ...

  7. python书籍推荐

    python书籍推荐列表: 技巧:关于如何在windows平台上行获取目录下的文件名称.(我的python书籍的位置E:\Python\Python_book) D:\>e: E:\>cd ...

  8. JavaScript 闭包总结 (深入理解)

    什么是闭包 简单的说闭包就是函数里面的函数,<JavaScript高级程序设计>里是这样定义的 闭包是指有权访问另一个函数作用域中的变量的函数. 先看一道面试时经常被考的题目 代码1: & ...

  9. [DB] - Mysql创建定时任务

    mysql支持定时任务的创建,要求mysql服务器开始定时任务调度. 1. 查看是否开启定时任务执行 SHOW VARIABLES LIKE 'event_scheduler'; // OFF表示没有 ...

  10. http服务搭建

    http服务器搭建 主配置文件在 /etc/httpd/conf/httpd.conf 安装http  yum install httpd -y 启动http服务器  systemctl start ...