http请求详解 防盗链技术

原创 2013年12月07日 12:35:09

http协议:超文本传输协议

1、建立在tcp/ip协议基础上.

2、我们的web开发数据的传输都是依赖于http协议。


http协议的 http请求(request)

基本结构

请求行

消息头

消息体(实体内容)(若有数据需要处理)

在服务器端我们可以通过$_SERVER来获取我们需要的信息

HTTP_ACCEPT=image/jpeg, application/x-ms-application, image/gif, application/xaml+xml, image/pjpeg, application/x-ms-xbap, application/x-shockwave-flash, */*
HTTP_ACCEPT_LANGUAGE=zh-CN
HTTP_CACHE_CONTROL=no-cache
HTTP_USER_AGENT=Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)
HTTP_ACCEPT_ENCODING=gzip, deflate
HTTP_HOST=192.168.1.100
HTTP_CONNECTION=Keep-Alive
PATH=C:\Program Files\NVIDIA Corporation\PhysX\Common;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;D:\杞欢\Windows7Master;C:\myenv\mysql5\bin;d:\Windows7Master;C:;D:\Windows7Master;
SystemRoot=C:\windows
COMSPEC=C:\windows\system32\cmd.exe
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
WINDIR=C:\windows
SERVER_SIGNATURE=
SERVER_SOFTWARE=Apache/2.2.17 (Win32) PHP/5.3.5
SERVER_NAME=192.168.1.100
SERVER_ADDR=192.168.1.100
SERVER_PORT=80
REMOTE_ADDR=192.168.1.100      指的是访问页面的IP
DOCUMENT_ROOT=C:/myenv/apache/htdocs   apach的主目录

SERVER_ADMIN=2890241141@qq.com
SCRIPT_FILENAME=C:/myenv/apache/htdocs/RemoteSystemsTempFiles/mywork_http.php
REMOTE_PORT=1940
GATEWAY_INTERFACE=CGI/1.1
SERVER_PROTOCOL=HTTP/1.1
REQUEST_METHOD=GET
QUERY_STRING=
REQUEST_URI=/RemoteSystemsTempFiles/mywork_http.php   请求的资源名
SCRIPT_NAME=/RemoteSystemsTempFiles/mywork_http.php
PHP_SELF=/RemoteSystemsTempFiles/mywork_http.php
REQUEST_TIME=1386167388

http 请求有两种主要的方式

get    /    post

get和post的区别有哪些

都是向服务器发数据

1、安全性       get请求的数据会显示在地址栏上。

                         post请求的数据,放在http协议的消息体中。

2、从可以提交数据的大小来看,我们可以认为:

     2.1   http协议本身并没有显示数据的大小。

     2.2 浏览器在对get和post请求做显示,get 请求数据  2K+35   post没有显示。

     2.3 get请求方便整理到收藏夹。


HTTP请求头信息:

GET /RemoteSystemsTempFiles/testb.php HTTP/1.1   (发送请求时get请求,资源目录是: /RemoteSystemsTempFiles/testb.php  用的HTTP协议时1.1版本)
Accept: image/jpeg, application/x-ms-application, image/gif, application/xaml+xml, image/pjpeg, application/x-ms-xbap, application/x-shockwave-flash, */*  (可以接收的资源类型)
Accept-Language: zh-CN     (编码格式)
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)
Accept-Encoding: gzip, deflate   (压缩格式)
Host: localhost   (主机名)
Connection: Keep-Alive

HTTP响应头信息:

HTTP/1.1 200 OK      200表示客户端请求成功
Date: Sat, 07 Dec 2013 03:02:14 GMT       
Server: Apache/2.2.17 (Win32) PHP/5.3.5      
X-Powered-By: PHP/5.3.5
Content-Length: 47   给浏览器回送的数据有47个字节
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive

Cache-Control: private  【缓存】

Content-Type: text/html  文档类型

<a href='testa.php?$filename=1234'>点击查询</a>

HTTP响应状态码:

202:成功接收亲戚,并处理完整个过程

302:为完成请求,客户端需要在做进一步的细化请求,(资源已经挪动了地址)

304:资源没有修改,不用重新获取(页面在本地有缓存文件,并且资源与服务器的资源相同(比如图片的时间,大小)则就在浏览器缓存中取。)

404:客户端请求有错误

500:服务器端出现错误

302 ,304码运用

当a页面中写下如下代码:

header("Loacation:http://www.sohu.com"); 此时返回给浏览器的响应头会有302码。

header可以往http响应头里写入内容

Loation可以指定访问该页面时,跳转到一个新页面。

值得注意的是:跳转是发生在客户端浏览器上,而不是发生在apache服务器










相关文章推荐

HTTP解读-文件下载、中文乱码、请求重定向、定时刷新、缓存、url编解码、gzip压缩、防盗链等

一、HTTP请求头:     Accept: text/html,image/*    客户端可以接受的数据类型     Accept-Charset: ISO-8859-1     客户端接受数据需...

php学习之路-http协议,防盗链

asdasda

nginx 的第三方模块ngx_http_accesskey_module 来实现下载文件的防盗链步骤(linux系统下)

nginx 的第三方模块ngx_http_accesskey_module 来实现下载文件的防盗链步骤(linux系统下),安装Nginx和HttpAccessKeyModule模块(参考LNMP环境...

使用 rewrite 技术实现 Apache 防盗链

本文参考自以下文章: http://my.oschina.net/baobao/blog/17524 本地有两个虚拟目录:localhost/t/和localhost/js/,设置Apache使l...

第五节 http防盗链

1. 我的实现防盗链的做法,也是参考该位前辈的文章。基本原理就是就是一句话:通过判断request请求头的refer是否来源于本站。(当然请求头是来自于客户端的,是可伪造的,暂不在本文讨论范围内)。...

javaWeb安全篇(1)——防盗链技术的实现

原理描述: 检测请求头中的Referer属性,如果请求头中Referer属性是以http://www.163.com 开头的,则说明是从合法网站链接过来的请求,如果不是(比如是以非法网站http:/...

Web基础之盗链与简单防盗链技术

Web基础之盗链技术与简单防盗链技术 一、盗链简介: 盗链是指服务提供商自己不提供服务的内容,通过技术手段绕过其它有利益的最终用户界面(如广告),直接在自己的网站上向最终用户提供其它服务提供商的服务内...

ASP.NET_防盗链技术

  • 2009年09月25日 11:25
  • 645KB
  • 下载

绕过防盗链技术

  • 2016年05月28日 10:05
  • 1.69MB
  • 下载

网站中防盗链技术

在网站开发中要实现防盗链主要是通过URL的请求头:Referer 1.请求头Referer Referer请求头的值是发送请求的超链接所属页面的URL。下面通过一个案例来详细了解Referer请求...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:http请求详解 防盗链技术
举报原因:
原因补充:

(最多只允许输入30个字)