HTTP传送协议
HTTP传送协议——学习笔记
- HTTP数据传输格式
基本格式为:
- 请求或应答行
- 请求或应答头部
- 空行
- 数据
- POST传送格式
- 底层数据通信:
客户端请求:
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 ---应答信息
- 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"]; 方法可以获得上传的变量值,最好使用脚本进行校验处理
- 总结:
POST方法将数据放在了数据部分
- GET传送格式
- 底层数据通信
客户端请求:
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
- 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"]; 方法可以获得上传的变量值,最好使用脚本进行校验处理
- 总结:
在数据传输方面GET方法将数据放在了头部
- 错误应答格式
取值 |
描述 |
1×× |
保留。 |
2×× |
成功接收,比如"200"表示处理成功。 |
3×× |
客户需进一步细化请求。 |
4×× |
客户错误,比如"404"表示访问的指定资源不存在。 |
5×× |
服务器错误。 |
用户可以在.htaccess文件中设置错误的应答页
- 总结
本文介绍了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传送协议的更多相关文章
- 计算机网络——超文本传送协议HTTP
一.简述 每个万维网网点都有一个服务器进程,它不断地监听TCP的端口80,以便发现是否有浏览器向它发出连接建立请求.一旦监听到连接建立请求并建立了TCP连接之后,浏览器就向万维网服务器发出浏览某个页面 ...
- 超文本传送协议HTTP
1. HTTP的操作过程: HTTP是面向事务的应用层协议.HTTP协议本身是无连接的,为了保证数据的可靠传输,HTTP使用了面向连接的TCP作为运输层协议.所以,在发送HTTP报文之前都需要先建立T ...
- 超文本传送协议 HTTP
超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准. HTTP是一个属于应用层的面向对象的协议, ...
- 门面模式的典型应用 Socket 和 Http(post,get)、TCP/IP 协议的关系总结
门面模式的一个典型应用:Socket 套接字(Socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元.它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息: 连接使用的 ...
- OSI七层模型详解 TCP/IP协议
总结 OSI中的层 功能 TCP/IP协议族 应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 等等 表示层 数据格式化,代码转 ...
- TCP协议学习
一.TCP参考模型 VS OSI参考模型 二.TCP/IP分层模型的四个协议层分别完成以下的功能 第一层 网络接口层 网络接口层包括用于协作IP数据在已有网络介质上传输的协议.实际上TCP/IP标准 ...
- 关于HTTP协议,一篇就够了
HTTP简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送 ...
- TCP/IP协议(一)网络基础知识
参考书籍为<图解tcp/ip>-第五版.这篇随笔,主要内容还是TCP/IP所必备的基础知识,包括计算机与网络发展的历史及标准化过程(简述).OSI参考模型.网络概念的本质.网络构建的设备等 ...
- http协议
什么是协议 是指关于计算机通信的一整套规则,是为完成计算机网络通信而制订的规则.约定和标准. http协议是众多通信协议中的一种,超文本传输协议 (HTTP-Hypertext transfer pr ...
随机推荐
- 把所有特权给root '%'所有IP
grant all privileges on *.* to root@'%' identified by 'root'; --把所有特权给root '%'所有IP
- oracle的系统文件的查询
1:查看实例和数据库的相关信息 --查看实例 select instance_name,version,status,archiver,database_status from v$instance; ...
- 夺命雷公狗—angularjs—7—多条数据的遍历
我们这里可以来玩玩angular的块级的遍历方法了,本热感觉有点像是PHP中的以前刚入门时候的遍历方法,嘻嘻,, 不过要注意的是中间的双层汉堡{{}} 里面只能放表达式,不能放判断语句 <!do ...
- SSO系统的分析与架构
随着公司子系统越来越多,一直以来使用ucenter的同步登录方式的性能以及效率问题显得越来越大,重新构建一个SSO系统显得势在必行. 通过google搜索关于SSO单点登录文章,发现以下文章关于新浪微 ...
- [Ubuntu] Ubuntu13.04, the desktop freezed after login
My os version is Ubuntu13.04, today, after started and logined, my desktop freezed. But i can still ...
- Report launcher to run SSRS report subscriptions on demand
http://www.mssqltips.com/sqlservertip/3078/report-launcher-to-run-ssrs-report-subscriptions-on-deman ...
- MVC架构剖析--ASP.NET MVC图解(二)
- linux文件所属用户和组
使用chown命令可以修改文件或目录所属的用户: 命令:chown 用户 目录或文件名 例如:chown -R qq /home/qq (把home目录下的qq目录的拥有者改为qq用户) 使用chg ...
- 【原创】Nexus搭建Maven私服
前言: 公司一般都有个自己的私服来管理各种jar包,原因大概有这么3个,分别是: 1.有的公司不能访问外网,只能通过私服来管理jar包和插件: 2.公司网速比较慢,通过公司的私服来获取jar包比较快: ...
- org.apache.cxf.transport.servlet.CXFServlet cannot be cast to javax.servlet.Servlet
java.lang.ClassCastException: org.apache.cxf.transport.servlet.CXFServlet cannot be cast to javax.se ...