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—14—$location的作用

    废话不多说看下,我们直接来走代码看下效果如何 <!DOCTYPE html> <html lang="en"> <head> <meta ...

  2. Headless MSBuild Support for SSDT (*.sqlproj) Projects

    http://sqlproj.com/index.php/2012/03/headless-msbuild-support-for-ssdt-sqlproj-projects/ Update: bre ...

  3. 转:myeclipse 8.x 插件安装方法终极总结

    原文地址:http://shaomeng95.iteye.com/blog/945062 最近因为要指导新人顺便整理文档,懒得折腾eclipse,需要装的插件太多,于是乎装myeclipse 8.5吧 ...

  4. servlet、genericservlet、httpservlet之间的区别(转)

    当编写一个servlet时,必须直接或间接实现servlet接口,最可能实现的方法就是扩展javax.servlet.genericservlet或javax.servlet.http.httpser ...

  5. 使用node-webkit开发exe窗口程序

    首发:个人博客,更新&纠错&回复 ====关于原生程序与壳中程序的议论begin==== 在所有用户windows机器上都能直接跑的程序,如果不采用微软系的语言,如VB,C++,C#等 ...

  6. React笔记_(5)_react语法4

    ajax 数据应用场景 在真实的开发环境中,拿到了产品需求,第一件事不是逼着后台开发人员先完成,然后前端再介入开发,这样太浪费时间. 正确的做法是跟后端人员先商量好接口名称,请求参数,返回的数据格式等 ...

  7. Delphi中CoInitialize之探究

    CoInitialize(LPVOID),它将以特定参数调用CoInitializeEx,为当前单元初始化COM库,并标记协同模式为单线程模式.参数必须为NULL.这是关于OLE和COM的问题. Co ...

  8. Java中的TreeMap、Comparable、Comparator

    我们知道HashMap的存储位置是按照key这个对象的hashCode来存放的,而TreeMap则是不是按照hashCode来存放,他是按照实现的Comparable接口的compareTo这个方法来 ...

  9. jython语言学习笔记

    1.变量可以随便定义,不限制类型,不限制数值.开头空4个空格,使用def定义函数,可以嵌套,可以传参. 2.每个语句结束的时候没有分号.定义类的时候没有括号.在print语句的后面有格式转换时要加上% ...

  10. c# Beginlnvoke 委托

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...