web请求流程与http方法剖析(更新版)

web请求流程与http方法剖析

(因为之前的排版太差了,又用的富文本编辑器,整理效果不好,抽了时间重新整理一下,这信息头也太难记了哈哈,最近要减少新知识摄入量,把总结都整理复习一遍,还是要学扎实点,最近看了一些面试题挺多这种基础的,比如这篇里的状态码分别的含义)

http请求与响应

HTTP超文本传输协议

		是今天所有WEB应用程序使用的通信协议
			使用一种用于消息的模型:客户端发出一条请求,服务端返回一条相应消息,该协议基本不需要连接,虽然HTTP使用有状态的TCP协议作为他的传输机制,但是每次请求与响应都会自动完成,并且有可能使用不同的TCP连接

请求消息头(header)

GET+页面 请求这个页面内容
或POST 表示提交

HTTP/1.1 协议的版本
1.1版本必须使用Host请求头
HOST+域名或者IP地址

Conection close或者keep close更好
获取到数据之后 服务器与客户断开为 close
keep用户量大会出现问题

Cache-control
用于向浏览器传送缓存指令
若没有则为no-cache
其他为有

Upgrade -Insecure-Requests:1
用于自动升级请求从HTTP升级到HTTPS,起到过渡作用,解决安全性问题
内容账户密码都是加密的,抓包都是加密数据包

Use-Agent
表示本机操作系统内核版本,浏览器等信息
可能有Mozilla,因为历史浏览器遗留问题

Accept
表示浏览器支持的MIME类型
若*/*则表示支持任何类型
优先顺序从左到右
如果服务端没有客户端需要的类型,406错误
0.8后面没有则可以任意类型

MIME类型分类
Text:用于标准化表示文本信息,文本消息可以是多重字符集或格式的
text/html:表示html文档
applicition:表示传输应用程序数据或者二进制数据
application/xhtml+xml
表示xhtml文档
application/xml
表示xml文档

Refer
到目标的页面之前一开始的起始页面
防下载,盗链
可以判断非法链接

ACCEPT-Encoding
压缩字段,代表请求的页面是压缩的
展示效果好
服务器压力大

ACCEPT-Language
优先语言
zh-cn简体中文
zh中文
从0到1优先级从小到大,0为不接受

Cookie
登录时用到,用户信息内容可能存在本地Cookie

x_FORWARDED_FOR
是用来识别通过HTTP代理或负载均衡方式连接到Web服务器的客户端的最原始的IP地址的一个请求头字段
突破阿里云云WARF
加127.0.0.1,假装是本地访问,不会被拦截

Authorization
为一种内置HTTP身份验证向服务器提交证书

Origin
指出请求的域

响应消息头

http/1.1 200 ok
可以访问

Server
对方服务器型号

Data
日期
与缓存有关,并不同步

Connect-type
请求和返回类型,还有编码格式

Expires
控制缓存失效时间,指出响应内容已经过期

Pragmar
用于向浏览器传送缓存指令,指示浏览器不要将响应保存在缓存中
例如no-cache

Cache-control
缓存控制

X—Powered By
使用的框架

Vary:Accept-Encoding
表示网站启用了GZip压缩

Content_Length
HTML大小

ETag
浏览器根据HTTP请求的ETag验证请求资源是否变化
未变化
返回304 Not Modified响应,并且紫圆葱浏览器缓存中读取,这样就不必再次下载请求

Location
说明重定向访问的目标

WWW-Authenticate
用在带401状态码响应中,提供与服务器所持的身份验证有关的信息
跟服务器的身份验证有关

X-Fram-Options
指示浏览器框架是否以及如何加载当前响应

http方法,URL,cookie,状态码

HTTP方法(可以用于安全测试)

		get
			请求获取某一资源
		post
			提交表单
		opptions
			返回服务器各种信息
		put
			生成上传文件数据包
		move
			改名数据包
		copy
			复制数据包
		delete
			删除数据
		propfind
			生成返回有浏览目录权限的内容目录的数据包,最后点提交数据包把生成的数据包提交到服务器

URL

		web资源唯一标识符,可通过它获取其标识的资源
			默认80端口,写在域名后
			?id=1 取出数据库id为1的数据返回
		在WWW上,每一信息资源都有统一的且在网上唯一的地址,该地址就叫URL(Uniform Resource Locator,统一资源定位符),它是WWW的统一资源定位标志,就是指网络地址。
			URL由三部分组成:资源类型、存放资源的主机域名、资源文件名。
			也可认为由4部分组成:协议、主机、端口、路径

cookie

		概念
			HTTP是无状态协议,客户端和服务器交换数据完毕就会断开连接,再请求,再连接,这就造成服务器单从网络连接上无法知道用户身份
				为了解决,每次有新用户来的时候,就给它发一个身份证,下次访问就知道如何处理了
					本质是一个很小的文本文件,储存在用户机器上
						会话cookie
							临时
						持久cookie
							可以设置有效时间
		属性
			域domain
				可以控制哪些站点可以使用
			路径PATH
				可以为服务器特定文档指定cookie
			secure
				只能在HTTPS协议加密情况下才会发送
		第三方cookie
			cookie的域域地址栏中的域不匹配
				通常用在第三方广告网站,为了追踪记录收集浏览习惯

状态码

		1XX
			提供信息
		2XX
			请求被成功提交
		3XX
			客户端被重定到其他资源
		4XX
			请求包含某种错误
		5XX
			服务器执行请求遇到错误

特殊状态码

			100Continue
				表示已经收到请求消息头
			200OK
				成功提交请求
			201Created
				put请求已经成功提交
			301Moved Permanently
				将浏览器永久重定向另外一个在Location消息头中制定的URL ,之后的客户端使用新的URL替换原有的
			302found
				恢复原始URL
			304NOT Modifide
				使用缓存中保存的所请求的资源的副本
			400 Bad Request
				提交了一个无效的HTTP请求
			401 Unauthorized
				HTTP身份验证
			403 Forbidden
				不管是否通过身份验证,禁止任何人访问被请求资源,主页没有配置
			404 Not Found
				资源已经被删除
			405 Method Not Allowed
				指定URL不接受请求中使用的方法
			413 Request Entity Too Large
				请求主体过长
			414 Request URI Too long
				请求中URL过长
			500 Internal Server Error
				服务器执行请求时遇到错误
					仔细检查响应内容
			503Service Unavaiable
				web服务器正常,应用程序无法响应
					检查网关,服务器,中间件

HTTPS

		使用普通非加密TCP作为传输机制,安全传输机制是安全套接层SSL

http身份验证

		Basic
			请求消息头中随每条信息以Base64编码字符串形式发送用户证书
		NTLM
			NTLMV2 与Kerberos验证体系
		Digest
			响应式机制

web应用程序编码

URL编码(许多工具都可以转换)

		%3d
			=
		%25
			%
		%20和+
			空格
		%0a
			换行
		%00
			空字节

Unicode编码

HTML编码

		跨站脚本漏洞时发挥作用

Base64

十六进制编码

	远程和序列化框架

知识点

	静态 动态语言区别
		动态语言:服务端和客户端代码不一致(如 html) 
		静态语言:服务端和客户端代码一致(如: asp,php,aspx,jsp) 
	3.3.1 常见的脚本语言有那些 
		asp 、php、 aspx、 jsp、 cgi、 war、 do、 py、 pl 
	3.3.1 常见的数据库有那些 
		 access mysql mssql(sqlserver) oracle postsql db2 
	3.3.1 常见的数据库与脚本语言搭配 
		asp+access,asp+mssql,php+mysql,aspx+mssql aspx+oracle,jsp+oracle, jsp+mssql 等 
	3.3.1 系统、脚本语言、中间件如何组合 
		Windows2003/2008/2012+asp、aspx、php+iis6.0/7.0+7.5 
		Apache+Windows/Linux+PHP Windows/Linux+Tomcat+JSP 
	3.3.1 渗透测试过程中如何查看对方网站平台 
		1、工具(RASS、天镜、NMAP、X-SCAN) 2、第三方平台(seo.chinaz.com) 3、通过 ping 观看 TTL 值 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值