HTTP协议简要

HTTP协议是指超文本传输协议,简单来说就是一种规则,允许将HTML文档从Web服务器传送到Web浏览器。

HTTP请求

HTTP请求包括三部分:请求行(请求方法),请求头(消息报头)和请求正文。

例如:POST   /login.php HTTP/1.1                     //请求行

   HOST:www.xxser.com            //请求头

     User-Agent::Mozilla/5.0  (Windows NT 6.1; rv:15.0)  Gecko/20100101 Firefox/15.0

                              //空白行,代表请求头结束

     Username=admin&password=admin      //请求正文

请求行又可以分为三部分,一个是POST请求,一个是在域名根目录下的login.php里,还有一个是说明使用的是HTTP1.0版本;

请求头是第二行到空白行,HOST代表请求的地址,User-Agent(简称UA)是浏览器UA标识;

请求正文这一行最常出现在POST请求当中,而且可选。

HTTP响应

HTTP响应包括三部分:响应行,响应头(消息报头)和响应正文。

一般HTTP响应的第一行为响应行,其中有HTTP版本,状态码以及消息;第二行到空白行是响应头,是服务器发给客户端的;最后是响应正文,是服务器向客户端发送的HTML数据。

HTTP状态码

HTTP协议中的状态码一般由三位数字组成,第一位数字定义了相应的类型,只有五种。

1XX:请求已被成功接收,继续处理,范围100~101。

2XX:成功,服务器成功的处理了请求,范围200~206。

3XX:重定向,资源已经被移动,并且会告诉新的资源位置,浏览器重新访问。范围300~305。

4XX:客户端错误状态码,最常见的是请求了一个不存在URL,范围400~415。

5XX:Web服务器自身出错,服务器内部有问题。范围500~505。

常见的状态码有:

200:客户端请求成功。

302:重新定向。

400:客户端请求有语法错误,不能被服务器理解。

401:服务器请求未经授权。

403:服务器接收到了请求,但是拒绝提供服务。

404:访问资源不存在。

500:服务器内部出错。

503:当前服务器不能处理请求,请稍后再试。

HTTP消息

HTTP消息也叫HTTP头,分四部分,一是请求头,二是响应头,三是普通头,四是实体头。

请求头

请求头只出现在HTTP请求中,常用的HTTP请求头如下。

Host:用于指定请求资源的主机和端口号。

User-Agent:浏览器UA标识,可以向服务器显示用的浏览器和系统信息。

Referer:显示用户是从什么界面来到本界面的。例如:Referer:www.xxser.com/login.php。表示用户是从login.php界面来到本界面的。相当于一个显示上个页面的URL。

Cookie:一段文本,很重要,表示请求者身份。

Range:请求实体的部分内容,多线程下载含有Range头。

x-forward-for:代表请求端的IP。

Accept:指定客户端接受哪些类型的信息。例如:Accept:text/html,表明客户端希望接受HTML文本。

响应头

是服务器根据请求向客户端发送的HTTP头。常见的HTTP头如下。

Server:服务器使用的Web服务器的名称。

Set-cookie:向客户端设置Cookie,通过这个可以查看到服务器发送给客户端的Cookie信息。

Last-Modified:可以看到资源修改的最后时间。

Location:服务器通过这个告诉浏览器访问什么页面,通常配合302状态码使用。

Refresh:服务器通过这个告诉浏览器定时刷新浏览器。

实体头

请求和响应都能传送一个实体头。

Content-Type:向接收方指示实体的介质类型。

Content-Encoding:被用作媒体类型的修饰符,这个值指示了已经被应用到实体正文的附加内容的编码。

Content-Length:用于指明实体正文的长度,以字节方式储存的十进制数字来表示。

Last-Modified:用于指示资源的最后修改日期和时间。

HTTP协议简要的更多相关文章

  1. TCP/UDP协议简要梳理

    TCP/UDP协议简要梳理 TCP TCP,Transmission Control Protocol,传输控制协议是一种面向连接的.可靠的.基于字节流的传输层通信协议.在因特网协议族中,TCP所在的 ...

  2. HTTP协议简要介绍

    1. 网络基础 TCP/IP 通常使用的网络是在TCP/IP协议簇基础上运作的. HTTP属于它内部的一个子集. TCP/IP分为4个层次, 应用层, 传输层, 网络层, 链路层. (Applicat ...

  3. i2c协议简要分析(转载)

    声明 本文大部分内容为转载,因此标定为转载 源地址: http://www.cnblogs.com/zym0805/archive/2011/07/31/2122890.html http://blo ...

  4. Rsyslog的三种传输协议简要介绍

    rsyslog的三种传输协议 rsyslog 可以理解为多线程增强版的syslog. rsyslog提供了三种远程传输协议,分别是: 1. UDP 传输协议 基于传统UDP协议进行远程日志传输,也是传 ...

  5. 微店APP协议简要分析

    1.通过抓包软件charles进行抓包,点击微信收款后,抓包内容都是加密处理过  2.加载分析定位这些字段的加密函数. WDTNThorParameterProcessor HTTPBody:task ...

  6. FPGA作为从机与STM32进行SPI协议通信---Verilog实现 [转]

    一.SPI协议简要介绍 SPI,是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接口.SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用 ...

  7. FPGA作为从机与STM32进行SPI协议通信---Verilog实现

    一.SPI协议简要介绍 SPI,是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接口.SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用 ...

  8. Modbus 协议

    转载:https://www.cnblogs.com/DreamRecorder/p/9081127.html 一.Modbus 协议简介     Modbus 协议是应用于电子控制器上的一种通用语言 ...

  9. MQTT 协议学习:000-有关概念入门

    背景 从本章开始,在没有特殊说明的情况下,文章中的MQTT版本均为 3.1.1. MQTT 协议是物联网中常见的协议之一,"轻量级物联网消息推送协议",MQTT同HTTP属于第七层 ...

随机推荐

  1. Robot Framework(13)- RF 循环的详细使用

    如果你还想从头学起Robot Framework,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1770899.html 前言 RF用   ...

  2. 50个SQL语句(MySQL版) 问题八

    --------------------------表结构-------------------------- student(StuId,StuName,StuAge,StuSex) 学生表 tea ...

  3. Autofac依赖注入

    简介 Autofac 是一款超赞的.NET IoC 容器 . 它管理类之间的依赖关系, 从而使 应用在规模及复杂性增长的情况下依然可以轻易地修改 .它的实现方式是将常规的.net类当做 组件 处理. ...

  4. Chisel3 - util - Mux

    https://mp.weixin.qq.com/s/TK1mHqvDpG9fbLJyNxJp-Q   Mux相关电路生成器.   参考链接: https://github.com/freechips ...

  5. 跨域解决方案 - 跨域资源共享cors

    目录 1. cors 介绍 2. 原理 3. cors 解决跨域 4. 自定义HTTP 头部字段解决跨域 5. 代码演示 5. 参考链接 1. cors 介绍 cors 说的是一个机制,其实相当于一个 ...

  6. Java实现 LeetCode 494 目标和

    494. 目标和 给定一个非负整数数组,a1, a2, -, an, 和一个目标数,S.现在你有两个符号 + 和 -.对于数组中的任意一个整数,你都可以从 + 或 -中选择一个符号添加在前面. 返回可 ...

  7. Java实现 LeetCode 240 搜索二维矩阵 II(二)

    240. 搜索二维矩阵 II 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target.该矩阵具有以下特性: 每行的元素从左到右升序排列. 每列的元素从上到下升序排列. ...

  8. Java实现选号码

    选号码 Description CF打算换个手机号码,但是他去营业厅选号码的时候却把移动的客服小姐烦得不行,因为他太挑三捡四啦. 对于一个手机号的后六位数字(前面五位他就无所谓了)CF有很严格的要求, ...

  9. C++实现车轮轨迹

    标题:车轮轴迹 栋栋每天骑自行车回家需要经过一条狭长的林荫道.道路由于年久失修,变得非常不平整.虽然栋栋每次都很颠簸,但他仍把骑车经过林荫道当成一种乐趣. 由于颠簸,栋栋骑车回家的路径是一条上下起伏的 ...

  10. Burpsuite intruder模块 越过token进行爆破,包含靶场搭建

    安装靶场 链接:https://pan.baidu.com/s/19X0oC63oO2cQKK6UL5xgOw 提取码:yq7f 下载完成放入网站根目录 点击初始化安装 出现错误,进行跟踪 发现是数据 ...