WEB安全入门基础

来源:互联网 发布:淘宝网图片保护网址 编辑:程序博客网 时间:2024/04/29 00:44


1.1 URL的含义

URL是 uniform resource locator 的缩写,即统一资源定位器。

1.2URL的作用

统一资源定位器(URL)是一个识别Internet中哪里有信息资源,并且将Internet提供的服务统一编址的系统。

对(可以从互联网上得到的资源)的 位置 和访问方法 的一种简洁表示,是互联网上标准资源的地址。

互联网上每一个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它

1.3  URL的结构

        schema://host[:port#]/path/.../[?query-string][#anchor]

协议://用户名:密码@子域名.域名.顶级域名:端口号/目录/文件名.文件后缀?参数=值#标志


schema:底层协议(例如:http,https,ftp等)

host:服务器的域名或者IP地址

[:port#]:服务器端口,http默认端口是80(可省略),其他端口要指明。

path:访问资源的路径。

[?query-string]:    发送给http服务器的数据。

[#anchor]:    锚。

2.HTTP(Hyper Text Transfer Protocol)

2.1 HTTP是什么?

HTTP即超文本传输协议,是互联网上应用最广泛的一种网络协议。客户端和服务端沟通所遵守的协议。


2.2 HTTP报文

HTTP报文是面向文本的,报文中的每一个字段都是一些ASCII码,各个字段的长度是不确定的。HTTP有两类报文,请求报文和响应报文。

2.2.1请求报文2.2.2响应报文

请求行(request line)状态行(status-line)
请求头部(header)消息报头(headers)
空行(blank line)空行(blank line)
请求数据(request-body)响应正文(response-body)

2.3 HTTP常见请求方法

GET从指定的服务器中获取数据

POST提交数据给指定的服务器处理

DELETE通过http请求删除指定URL上的资源

OPTIONS返回服务器支持的HTTP方法

HEAD与GET请求类似,不同在于服务器只返回HTTP头部信息,没有页面内容

PUT上传指定URL的描述

TRACE

CONNECT转换为透明TCP/IP隧道的链接请求

GET方法:

使用GET方法时,查询字符串(键值对)被附加在URL地址后面一起发送到服务器:

/test/demo_form.jsp?name1=value1&name2=value2

GET特点:

GET请求能够被缓存

GET请求会被保存在浏览器的浏览记录中

GET请求的URL能够保存为浏览器书签

GET请求有长度限制

GET请求主要用以获取数据

POST方法:

使用POST方法时,查询字符串在POST信息中单独存在,和HTTP请求一起发送到服务器:

POST /test/demo_form.jsp HTTP/1.1
Host:w3school.com
name1=value1&name2=value2

POST特点:

POST请求不能被缓存下来

POST请求不会保存在浏览器浏览记录中
POST请求的URL无法保存为浏览器书签
POST请求没有长度限制

方法指什么?

方法就是客户端向服务器发起的请求命令。例如GET、POST、DELETE等

状态码及其含义?

1xx:指示信息--表示请求已接收,继续处理。

2xx:成功--表示请求已被成功接收、理解、接受。

3xx:重定向--要完成请求必须进行更进一步的操作。

4xx:客户端错误--请求有语法错误或请求无法实现。

5xx:服务器端错误--服务器未能实现合法的请求。

常见状态代码、状态描述的说明如下:

200 OK:客户端请求成功。

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

401Unauthorized:请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用。

403 Forbidden:服务器收到请求,但是拒绝提供服务。

404 Not Found:请求资源不存在,举个例子:输入了错误的URL。

500 InternalServer Error:服务器发生不可预期的错误。

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

在一次网络请求中,分别经历那些过程?

(a)浏览器从url中解析处服务器的主机名;
(b)浏览器将服务器的主机名转换成服务器的的ip地址;(可能经过去dns服务器查询)
(c)浏览器将端口号(如果有的话)从url中解析出来;
(d)浏览器建立一条与web服务器的tcp连接;
(e)浏览器向服务器发送一条http请求报文;
(f)服务器向浏览器回送一条http响应报文;
(g)关闭连接,浏览器显示文档

http协议有哪些版本?

http/0.9这个版本有严重设计权限
http/1.0广泛使用
http/1.0+ 非官方的http/1.0的扩展版本
http/1.1目前正在使用的版本,修复的相关设计缺陷,增加的相关特性
http-NG 将来使用与否正在商讨中

web中的一些结构组件

A:主要有代理、缓存、网关以及隧道!分别简介如下:

代理:

代理位于客户端和服务器之间,接收所有客户端的HTTP请求,并把这些请求转发给服务器(可能会对请求进行修改之后转发)。对用户来说,这些应用程序就是一个代理,代表用户访问服务器。代理的主要作用有过滤、屏蔽等!(还有需要注意一点:代理既可以代表服务器对客户端进行响应,又可以代表客户端对服务器进行请求!)

缓存

首先说明一下,缓存某种意义上来说也是一种代理服务器。它主要使用代理服务器对客户端进行响应。发送预先缓存好的资源的副本。这样会加快事务响应速度、同时也会减少服务器的负载、减轻带宽等问题!

网关:

网关是一种特殊的服务器,面对客户端时好像它就是服务器,而对于服务器,他又充当客户端的角色,它的主要作用是协议转换!例如HTTP/FTP网关。

隧道:

就是一个连接通道,用于在http信道上发送非http协议的资源。

Agent代理:

说白了就是我们平时所说的浏览器,以及web机器人、爬虫等!



原创粉丝点击