http协议

什么是http协议,简单来说,就是你网站访问网站需要的协议,当然这么说肯定不准确,但是做为一个新手这么理解是最为方便的。

http包含两个东西,一个是服务器端和一个是客户端,服务器端就是web服务器,客户端就是你的各种浏览器,例如chrom、Firefox、IE神马的。

安全所需要的大概就有以下几点,

http请求数据包

包的内容都是干啥的

返回内容都是什么样的

了解以下三点就OK,其他的是前端工程师需要看的,我们需要用的东西比较少,但是都得有个了解,所以我一直认为,安全工程师需要的是一个“杂而不精”。杂是指差不多的都得会点,不精是指只要会大概的理念和使用方法就OK,一般情况下不用了解更多。

OK,我们来聊聊第一个

http请求数据包

http请求分为两种,第一种是get请求,参数都在url里,第二种是post请求,请求参数一般情况下是看不到的,但是我们可以使用burpsuite进行截获数据包修改。当然这部分是以后讲解的东西

我们先来看一个实际案例

GET数据包部分

GET http://weibo.com/signup/signup.php?inviteCode=2388493434
Host: weibo.com
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8

GET:就是你所需要请求的URL,里面包含一个参数inviteCode,后面的2388493434是参数内容,一般我们需要在意的就是参数部分和cookie部分,cookie部分没有列举,这个以后会有讲解

Hots:就是一个域名,表明了你需要请求哪个网站的内容

Accept:表示浏览器支持的 MIME 类型;一般我们不用

POST数据包部分

POST /foo.php HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://localhost/test.php
Content-Type: application/x-www-form-urlencoded
Content-Length: 43

first_name=John&last_name=Doe&action=Submit

第一行,就是我们的post请求,包含需要请求的参数和地址,

Host:同上

Referer:表示来路就是说你上一个网页是从哪里来的,有极特殊情况下,网站会做来路验证,所以这个需要说一下

OK,HTTP部分完事,就是这么简单,咱们不说那么全,够用就好,如果有童鞋想看更多请谷歌或者百度查下HTTP协议,但是我们这一系列用的就这么点东西。