【网络安全入门】HTTP协议入门

【网络安全入门】HTTP协议入门1

环境介绍:借助多文档之间的相互关联形成的超文本,连成相互参阅的万维网

所涉及的技术:

  • 页面的文本标记语言(超文本标记语言

  • 作为文档传递的协议,HTTP 协议

  • 指定文档所在地址的UPL(统一资源定位符

目前所使用的HTTP协议为HTTP/1.1,所以也称之为驻足不前http协议

URI和URL的关系

URI:统一资源标识符{规定统一的格式,标识资源},因此可见URL是一种具体的URI,也就是说URL是URI的子集

【网络安全入门】HTTP协议入门

客户端与服务器端

客户端:用来发送请求

请求报文格式

【网络安全入门】HTTP协议入门

Get与Post的区别

  • 较比与Get,Post更加安全。Get请求的文本会直接作为url的一部分,而且数据会被缓存起来,会减短下一次请求时间,Post不会作为url的一部分,不会缓存、保存在服务器日志、以及浏览器浏览记录中。

  • Post传输数据要比Get慢。Post包含更多的请求头,需要在请求的body部分包含数据,最主要的是Post在真正接收数据之前会先将请求头发送给服务器进行确认,然后才真正发送数据,较比于Get传输,相同点都需要先进行Tcp的三次握手

{

第一次握手:浏览器请求Tcp连接

第二次握手:服务器答应进行tcp连接

第三次握手:浏览器确认,并发送Post 请求头

}

此时Post需要服务器返回100

Continue相应,然后浏览器发送数据后在服务器返回200 OK响应,而Get直接进行服务器200

OK响应

  • Post发送的数据更大,而Get受到Url的限制。http协议并未规定get和post的长度限制 ,get的最大长度限制是因为浏览器和web服务器限制了URL的长度, 不同的浏览器和web服务器,限制的最大长度不一样 。

  • Post用于修改和写入数据,get一般用于搜索排序和筛选之类的操作,目的是资源的获取,读取数据。

  • Post能发送给更多的数据类型,而get只能发送ASCll码,Post不能进行管道化的传输。

服务器:用来响应请求

响应报文格式【网络安全入门】HTTP协议入门

状态码

职责是当客户端向服务器端发送请求时,描述返回请求的结果

类别 原因短语 相关操作
1XX informational(信息性状态码) 接收的请求正在处理
2XX Success(成功状态码) 请求正常处理完毕 200 OK ,204请求成功没有资源,206请求部分的资源
3XX Redirectionl(重定向状态码) 需要进行附加操作以完成请求 301永久性重定向 ,302临时重定向,303状态码明确表示客户端应当采用GET方法获取资源,304状态码返回时,不包含任何响应的主体部分,307临时重定向会遵照浏览器标准
4XX Client Error(客户端错误状态码) 服务器无法处理请求 400错误的请求,401未授权,403拒绝访问没有权限,404没有找到
5XX ServerError(服务器错误状态码) 服务器处理请求出错 500,503服务器未找到