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. JQuery获取和设置Select选项常用方法总结

    1.获取select 选中的 text: $("#cusChildTypeId").find("option:selected").text(); $(&quo ...

  2. 5. 星际争霸之php设计模式--抽象工厂模式

    题记==============================================================================本php设计模式专辑来源于博客(jymo ...

  3. oracle的面试问题

    1. Oracle跟SQL Server 2005的区别? 宏观上: 1). 最大的区别在于平台,oracle可以运行在不同的平台上,sql server只能运行在windows平台上,由于windo ...

  4. 一般处理程序 ashx中使用外部Session 出现不存在 解决方案

    MXS&Vincene  ─╄OvЁ  &0000004 ─╄OvЁ  MXS&Vincene MXS&Vincene  ─╄OvЁ:今天很残酷,明天更残酷,后天很美好 ...

  5. Android 带checkbox的listView 实现多选,全选,反选

    由于listview的一些特性,刚开始写这种需求的功能的时候都会碰到一些问题,重点就是存储每个checkbox的状态值,在这里分享出了完美解决方法:     布局文件: [html]   <?x ...

  6. 项目中的一个JQuery ajax实现案例

    /**  * brief 这些代码用于在线制图中 attention author <list of authors> <date> begin modify by  * nu ...

  7. android 项目学习随笔二十一(IM、语音识别、机器人、统计、扫描二维码、条形码)

    语音识别:科大讯飞语音云 http://www.xfyun.cn/ 语音机器人模拟 public class TalkBean { public String text; public boolean ...

  8. yum安装mysql后没有mysqld

    在Centos中用命令 yum install mysql安装数据库,但装完后运行mysqld启动mysql的时候提示找不到,通过 find / | grep mysqld 也没找到mysqld的目录 ...

  9. C#操作CSV存取类

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

  10. LCD参数解释及计算【转】

    转自:http://blog.csdn.net/longxiaowu/article/details/24319933 Linux内核的amba lcd控制器使用clcd_panel结构体表示一个LC ...