HTTP传送协议——学习笔记

  1. HTTP数据传输格式


基本格式为:

  • 请求或应答行
  • 请求或应答头部
  • 空行
  • 数据
  1. POST传送格式
  2. 底层数据通信:

客户端请求:

POST /response.php HTTP/1.1    ---请求行

Accept: application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, */*

Referer: http://local/

………………

Connection: Keep-Alive

Pragma: no-cache

 

w=12&h=23&s=276

服务器应答:

HTTP/1.1 200 OK    ---请求行

Date: Thu, 29 Jan 2015 15:08:17 GMT    ---请求头部

…………

Content-Type: text/html

 

��������Ϊ��276    ---应答信息

 

  1. PHP实现方法:

表单页PHP:

<form action="response.php" method="post">

<input type="text" name="w"><br>

<input type="text" name="h"><br>

………………

<input type="text" name="s">

<input type="submit">

</form>

应答页PHP:

可以使用 $_POST["s"]; 方法可以获得上传的变量值,最好使用脚本进行校验处理

  1. 总结:

POST方法将数据放在了数据部分

  1. GET传送格式
  2. 底层数据通信

客户端请求:

GET /response.php?w=12&h=122&s=1464 HTTP/1.1

Accept: application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, */*

………………

Connection: Keep-Alive

服务器应答:

HTTP/1.1 200 OK

Date: Thu, 29 Jan 2015 15:39:56 GMT

…………

Content-Type: text/html

 

����������1464

  1. PHP实现方法:

表单页PHP:

<form action="response.php" method="get">

<input type="text" name="w"><br>

<input type="text" name="h"><br>

………………

<input type="text" name="s">

<input type="submit">

</form>

应答页PHP:

可以使用 $_GET["s"]; 方法可以获得上传的变量值,最好使用脚本进行校验处理

  1. 总结:

在数据传输方面GET方法将数据放在了头部

  1. 错误应答格式

取值

描述

1××

保留。

2××

成功接收,比如"200"表示处理成功。

3××

客户需进一步细化请求。

4××

客户错误,比如"404"表示访问的指定资源不存在。

5××

服务器错误。

 

 

 

 

 

 

 

 

用户可以在.htaccess文件中设置错误的应答页

  1. 总结

本文介绍了HTTP通信的基本格式,详细的协议格式定义可以参考HTTP1.1(RFC2616文档),至于端口监测可以使用fiddler2软件进行底层查看,本软件由破解绿色版,可以轻松搞定。

Fiddler可以监测本地服务器端口,方便调试,可以在hosts文件中修改127.0.0.1为:

Local 127.0.01

浏览器中直接在地址栏输入local即可,如果需要在fiddler只监测local地址,则在过滤器中设置使用过滤器,并且在只显示以下主机的编辑框中输入local即可只显示到local的数据通信信息,另外可以在RAW栏中看到底层的详细通信数据,是纯文本的,方便分析。

 

 

 

^_^Bruce Lone

2015-1-30

HTTP传送协议的更多相关文章

  1. 计算机网络——超文本传送协议HTTP

    一.简述 每个万维网网点都有一个服务器进程,它不断地监听TCP的端口80,以便发现是否有浏览器向它发出连接建立请求.一旦监听到连接建立请求并建立了TCP连接之后,浏览器就向万维网服务器发出浏览某个页面 ...

  2. 超文本传送协议HTTP

    1. HTTP的操作过程: HTTP是面向事务的应用层协议.HTTP协议本身是无连接的,为了保证数据的可靠传输,HTTP使用了面向连接的TCP作为运输层协议.所以,在发送HTTP报文之前都需要先建立T ...

  3. 超文本传送协议 HTTP

    超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准. HTTP是一个属于应用层的面向对象的协议, ...

  4. 门面模式的典型应用 Socket 和 Http(post,get)、TCP/IP 协议的关系总结

    门面模式的一个典型应用:Socket 套接字(Socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元.它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息: 连接使用的 ...

  5. OSI七层模型详解 TCP/IP协议

      总结 OSI中的层 功能 TCP/IP协议族 应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 等等 表示层 数据格式化,代码转 ...

  6. TCP协议学习

    一.TCP参考模型  VS OSI参考模型 二.TCP/IP分层模型的四个协议层分别完成以下的功能 第一层 网络接口层 网络接口层包括用于协作IP数据在已有网络介质上传输的协议.实际上TCP/IP标准 ...

  7. 关于HTTP协议,一篇就够了

    HTTP简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送 ...

  8. TCP/IP协议(一)网络基础知识

    参考书籍为<图解tcp/ip>-第五版.这篇随笔,主要内容还是TCP/IP所必备的基础知识,包括计算机与网络发展的历史及标准化过程(简述).OSI参考模型.网络概念的本质.网络构建的设备等 ...

  9. http协议

    什么是协议 是指关于计算机通信的一整套规则,是为完成计算机网络通信而制订的规则.约定和标准. http协议是众多通信协议中的一种,超文本传输协议 (HTTP-Hypertext transfer pr ...

随机推荐

  1. 夺命雷公狗—angularjs—24—extend继承对象

    我们的angularjs中也是给我们留下了方法来做继承的,那么他就是传授中的extend... 不过要如下所示,第二个参数是继承到第一个对象里面的... <!DOCTYPE html> & ...

  2. zw版【转发·台湾nvp系列Delphi例程】HALCON OverpaintRegion1

    zw版[转发·台湾nvp系列Delphi例程]HALCON OverpaintRegion1 unit Unit1;interfaceuses Windows, Messages, SysUtils, ...

  3. win7 64位系统下 PL/SQL无法连接的问题

    第一步:下载oracle客户端 由于 PLSQL Developer 没有64位版本,所以在64位系统上运行该程链接64位Oracle时就会报错,笔者为这个问题纠结了好几天,后来通过请教Google ...

  4. Spring 复习笔记01

    Spring 框架 1. core:整个Spring框架构建在Core核心模块上,它是整个框架的的基础. 2. AOP:AOP模块提供了一个轻便但功能强大强大的AOP框架,让我们可以以AOP的形式增强 ...

  5. PL/SQL快捷键

    F8 执行所选中的SQL语句 当光标在sql语句末尾/开头 时 按Shift  Home /Shift  End 选中该语句

  6. linux下xargs命令用法详解 【转】

    转自:http://blog.chinaunix.net/uid-128922-id-289992.html xargs在linux中是个很有用的命令,它经常和其他命令组合起来使用,非常的灵活. xa ...

  7. c# 定时执行python脚本

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  8. Axure简介

    Axure RP(Rapid Prototyping快速原型) 是美国公司Axure Software Solution公司旗舰产品,是一个专业的快速原型设计工具,让负责定义需求和规格.设计功能和界面 ...

  9. JavaEE基础(八)

    1.面向对象(代码块的概述和分类)(了解)(面试的时候会问,开发不用或者很少用) A:代码块概述 在Java中,使用{}括起来的代码被称为代码块. B:代码块分类 根据其位置和声明的不同,可以分为局部 ...

  10. run loop 输入源

    做了一年多的IOS开发,对IOS和Objective-C深层次的了解还十分有限,大多还停留在会用API的级别,这是件挺可悲的事情.想学好一门语言还是需要深层次的了解它,这样才能在使用的时候得心应手,出 ...