web安全系列:http初探

web安全系列的第二篇

首先,我们先来理解两个名词C/S架构和B/S架构。

所谓C/S架构,就是客户机/服务器架构,而B/S架构就是浏览器/服务器架构。C/S是通常的桌面程序的架构方式,而B/S就是网站的架构方式。所以,我们需要深入掌握B/S架构。

那么浏览器是如何访问服务器的呢?这分为几步。首先,流浪器需要通过你输入的域名发送一个HTTP请求。

那什么是HTTP呢?HTTP的全称是HyperText Transfer Protocol,即超文本传输协议。它详细规定了浏览器和服务器之间相互通信的规则。

那么问题就非常明了了,当我们输入一个网址,又叫URL(统一资源定位符)并按下回车后,浏览器就发送了一个数据包,成为HTTP请求,在经过服务器确认后,服务器返回一个数据包叫HTTP响应,每个响应承载着网页的一部分,很多个这种响应经过浏览器的组织就成为了我们所看到的网页。

想观看这一过程也很简单,我们打开浏览器,随便输入一个网址,回车,然后按下F12,之后选中网络或者Network即可看到我们发送出去或者接收到的请求和响应了。

如上图所示,我们选中一个链接,再选中Headers就能看到请求和返回头。

那么请求和返回头又是什么呢?

响应和请求一样由响应行、响应头和响应正文组成,具体内容也和请求一样,细微区别可以自行查找,但是问题不大。

下面介绍一些请求方法。

常见的请求方法有两个,GET和POST。它们都是用于获取请求页面的指定信息。不同的是GET方法只能向服务器发送少量的数据,但是POST能发送大量的数据。同时,GET会将数据显示在浏览器端,而POST不会。其他一些方法如PUT、DELETE等可自行查阅,后面遇到再进行说明。

很多时候,我们都会在浏览器中看到404,那么这是什么呢?下面我们一起来看看。

所谓的404其实是HTTP状态码,最常见的404代表请求资源不存在。其中最开头的4代表客户端错误,也就是你自己的网络等的错误。以1开头的状态码表示信息提醒,请求已经被成功接收,继续处理。以2开头表示服务器成功地处理了请求;以3开头表示一种重定向,即表示访问资源已经被迁移,浏览器自动跳转;以5开头表示web服务器自身出现了问题。具体的代码表示什么也请自行查阅,后面遇到时会进行讲解。

下面介绍HTTP消息,也就是HTTP头。它有四种:请求头、响应头、普通头和实体头。这是很重要的一部分,很多时候我们通过修改这些东西就能成功突破一些低端防火墙的拦截。

首先是请求头,它的常用字段有:

Host--用于指定主机和端口号

Referer--表示用户从什么地方过来的

Cookie--表示请求者身份等信息

Range--用于请求实体的一部分内容

x-forward-for--代表请求端的IP

Accept--表示客户端接收的MIME类型的信息

Accept-Charset--表示客户端接收的字符集

下面是响应头:

Server--表示web服务器名称

Set-Cookie--向客户端设置Cookie

Last-Modified--告诉浏览器资源的最后修改时间

Location--配合跳转

Refresh--告诉浏览器定时刷新浏览器

普通头对我们的工作用处不大(暂时不大),所以不做说明

实体头:

Content-Type--向接收方指示实体的介质类型

Content-Encoding--表示媒体类型的编码

Content-Length--表示正文的长度

Last-Modified--指示资源的最后修改日期和时间

以上就是常用的头了,这里只是简单的介绍,具体的可以通过上面说的F12方法查看,通过搜索可以了解更多关于这方面的内容。

以上就是本次的内容,有什么错误的地方希望指出,也欢迎大家评论转载和讨论。

(以上内容仅供学习交流使用,遵守法律人人有责)

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190410A00EFV00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励