【渗透测试-web安全】URL和HTTP协议

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/harry_c/article/details/102323580

【渗透测试-web安全】URL和HTTP协议

URL和HTTP协议

URL:Uniform Resource Locator(统一资源定位系统)
基本格式
底层协议(HTTP、HTTPS、FTP等) + :+ host(主机域名或IP) + 【:端口】(服务器端口,http默认80,https默认443) + 资源地址 + 【?get请求时的传送数据】+【#】

#是用来指导浏览器动作的,表示特定位置,浏览器执行时会将#号标记的内容拖动到可视位置,注意 # 对服务器端完全无用。

HTTP请求头

Accept

浏览器可接受的MIME(多功能Internet邮件扩展)类型。

Accept-Charset

浏览器可接受的字符集。

Accept-Encoding

浏览器能够进行解码的数据编码方式,比如gzipServlet能够向支持gzip的浏览器返回经gzip编码的HTML页面。

Accept-Language

浏览器所希望的语言种类,当服务器能够提供一种以上的语言版本时要用到。

Authorization

授权信息,通常出现在对服务器发送的WWW-Authenticate头的应答中。

Connection

表示是否需要持久连接。HTTP 1.1默认进行持久连接,当页面包含多个元素时,显著地减少下载所需要的时间。

Content-Length

表示请求消息正文的长度。

Cookie

这是最重要的请求头信息之一,访问权限控制码。

From

请求发送者的email地址,由一些特殊的Web客户程序使用,浏览器不会用到它。

Host

初始URL中的主机和端口。

If-Modified-Since

只有当所请求的内容在指定的日期之后又经过修改才返回它,否则返回304“Not Modified”应答。

Pragma

指定“no-cache”值表示服务器必须返回一个刷新后的文档,即使它是代理服务器而且已经有了页面的本地拷贝。

Referer

包含一个URL,用户从该URL代表的页面出发访问当前请求的页面。

User-Agent

浏览器类型,如果Servlet返回的内容与浏览器类型有关则该值非常有用。

HTTP响应头

Allow

服务器支持哪些请求方法(如GET、POST等)。

Content-Encoding

文档的编码(Encode)方法。只有在解码之后才可以得到Content-Type头指定的内容类型。

Content-Length

表示内容长度。只有当浏览器使用持久HTTP连接时才需要这个数据。

Content-Type

表示后面的文档属于什么MIME类型。Servlet默认为text/plain,但通常需要显式地指定为text/html。

Date

当前的GMT时间。你可以用setDateHeader来设置这个头以避免转换时间格式的麻烦。

Expires

应该在什么时候认为文档已经过期,从而不再缓存它?

Last-Modified

文档的最后改动时间。客户可以通过If-Modified-Since请求头提供一个日期,该请求将被视为一个条件GET。

Location

表示客户应当到哪里去提取文档。Location通常不是直接设置的,而是通过HttpServletResponse的sendRedirect方法。

Refresh

表示浏览器应该在多少时间之后刷新文档,以秒计。注意Refresh头不属于HTTP 1.1正式规范的一部分,而是一个扩展。

Server

服务器名字。Servlet一般不设置这个值,而是由Web服务器自己设置。

Set-Cookie

设置和页面关联的Cookie。应使用HttpServletResponse提供的专用方法addCookie。参见下文有关Cookie设置的讨论。

WWW-Authenticate

客户应该在Authorization头中提供什么类型的授权信息?在包含401(Unauthorized)状态行的应答中这个头是必需的。

HTTP状态码

1开头的状态码

信息,服务器收到请求,需要请求者继续执行操作。(如101:切换协议)

2开头的状态码

成功,操作被成功接收并处理。(如200:请求成功)

3开头的状态码

重定向,需要进一步的操作以完成请求。(如302:临时转移)

4开头的状态码

客户端错误,请求包含语法错误或无法完成请求。(如400:错误的请求)

5开头的状态码

服务器错误,服务器在处理请求的过程中发生了错误。(如500:服务器内部问题)

猜你喜欢

转载自blog.csdn.net/harry_c/article/details/102323580