Http协议详解

HTTP(HyperText Transfer Protocol)超文本传输协议

Linux系统可以通过curl+url发起一次http请求,如果想查看请求头信息,可加上-I

Http协议详解:

http是一种无状态协议,即web浏览器与web服务器之间不需要建立持久的链接,当web服务器返回响应后,链接就被关闭

HTTP请求

http请求包括请求行,请求头,请求体(请求正文)

其中请求头与请求体之间有一个空白行

HTTP响应

http响应也由三部分组成,分别是响应行,响应头,响应正文

响应正文与响应头之间有一空白行

HTTP请求方法

1.GET

get方法没有请求内容

2.HEAD

HEAD请求方法不返回消息主体,只能起到测试的效果。攻击者在编写扫描工具时,常用head方法,因为只测试资源是否存在,所以一定是最快的

3.POST

与GET方法类似,但有请求内容,向服务器传输大量数据时通常会使用POST方法

4.PUT

PUT方法用于请求服务器把请求中的实体存储在请求资源下,如果请求资源在服务器中存在,则替换,如果不存在,将会创建这个资源。

例如:

PUT	/input.txt
HOST: www.xsser.com
Content-Length: 6

123456

上述请求会在服务器根目录下创建一个input.txt文件,内容为123456

通常服务器会关闭PUT请求,属于危险的方法之一

5.DELETE

用于请求资源服务器删除指定资源,服务器一般会关闭此方法,也属于危险方法之一

6.TRACE

7.CONNECT

8.OPTIONS

HTTP状态码

http状态码位于响应行中,总体上分为以下5种:

1xx:信息提示,表示请求已经成功被接收(100-101)

2xx:请求成功(200-206)

3xx:重定向,重定向状态码用于告诉客户端,它们访问的资源已经被移动,并告诉客户端新的资源地址(300-305)

4xx:客户端错误(400-415)

5xx:服务器内部出错(500-505)

常见的状态码:

200:请求成功

302:重定向

404:请求资源不存在

400:客户端请求有语法错误,不能被服务器所理解

401:请求未经授权

403:服务器拒绝提供服务

500:服务器内部错误

503:服务器当前不能处理客户端的请求,一段时间后可能回复正常

HTTP请求头

1.Host

2.User-Agent:记录客户端浏览器,系统信息

3.Referer:代表当前访问的URL的上一个URL,即客户端是从哪一个URL跳转过来的。

4.Cookie:用来表示请求者的身份

5.Range:range可以请求实体的部分内容,多线程下载一定会用到此头

6.x-forward-for(XFF),代表请求端的IP,可以有多个,逗号隔开。

7.Accept:指定客户端接收哪些MIME类型的信息,如Accept:text/html

​ 说明客户端希望接收html文本

8.Accept-Charset:用于指定客户端接收的字符集

HTTP响应头

1.Server:服务器所使用的的Web服务器名称,如Server:Apache/1.3.6(Unix)

2.Set-Cookie:向客户端设置Cookie

3.Last-Modified:资源最后的修改时间

4.Location:服务器通过这个头告诉浏览器去访问哪个页面,通常配合状态码(302)使用

5.Refresh:告诉浏览器定时刷新

HTTP实体头

实体头定义了关于实体正文和请求所标识的资源的元信息(实体内容的属性)

1.Content-Type:用于向接收方指示实体的介质类型。

2.Content-Encoding:指示了实体正文附加内容的编码

3.Content-Length:实体正文的长度,以字节方式存储的十进制数字来表示。

4.Last-Modified:资源的最后修改时间

HTTP与HTTPS的区别

https是以安全为标准的http通道,其实就是http的升级版本。

https的安全基础为SSL,即在HTTP下加入SSL层,简单来说,HTTPS通过安全传输机制进行数据传送,这种机制可以保护网络传送的所有数据的隐秘性与完整性。

  • HTTP是超文本传输协议,信息明文传输。HTTPS具有安全性的SSL加密传输协议
  • HTTP与HTTPS协议使用的是完全不同的链接方式,HTTP采用80端口,HTTPS采用443端口
  • HTTPS协议需要到ca申请证书,而HTTP协议不需要
  • HTTP连接相对简单,无状态,而HTTPS协议是由SSL+HTTP协议构建的可进行加密传输,身份认证的网络协议。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值