http协议学习

2018-12-08  本文已影响23人  你就像只铁甲小宝

今天学了下http协议,总结了以下几个问题。

1. 什么是http协议

  • http协议是基于TCP/IP通信协议来传递数据。
  • http协议又叫超文本传输协议,是万维网服务器传输超文本到本地浏览器的协议。

2. URI,URL和URN的理解。

首先我们来看下面这张图:


关系图.png

从这张图中很容易看出它们的关系。

1.URI包括了URN和URL。
2.URL和URN都是URI的一种,但URI却不一定是它们。

看到一个很贴切的比喻,我们把URI比作人,URN就是人的名字,URL就是人的地址。

URI,URL,URN的定义:

URI:

Uniform Resource Identifier,即统一资源标志符,用来唯一的标识一个资源。

URL:

Uniform Resource Locator,统一资源定位符。即URL可以用来标识一个资源,而且还指明了如何locate这个资源。(能知道这个资源的位置)

URN:

Uniform Resource Name,统一资源命名。即通过名字来表示资源的。
参考文章:

3.http中的request和response

request包和response包

http中resquest和response是对应的。

request中有请求行,请求头部,空行,和主体
response中有状态行,消息报头,空行,响应正文

用burpsuite抓的包

1.GET /osjson.aspx?query=%E9%AB%98%E6%9C%A8%E5%90%8C%E5%AD%A6&form=OSDJAS&language=zh-CN HTTP/1.1
2.Host: www.bing.com
3.User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0
4.Accept: */*
5.Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
6.Accept-Encoding: gzip, deflate
7.Connection: close
8.
  • 1是请求行,请求类型为GET,使用的是HTTP/1.1版本
  • 2~7是请求头部
  • 8是空行
  • 这个request包没有主体
1.HTTP/1.1 302 
2.Cache-Control: private
3.Content-Length: 208
4.Content-Type: text/html; charset=utf-8
5.Location: https://cn.bing.com/osjson.aspx?query=%E9%AB%98%E6%9C%A8&form=OSDJAS&language=zh-CN
Vary: Accept-Encoding
6.Set-Cookie: SNRHOP=TS=636798042541327291&I=1; domain=.bing.com; path=/
X-MSEdge-Ref: Ref A: 195BE0810738433CA3E8475AD27BBC3C Ref B: BJ1EDGE0214 Ref C: 2018-12-07T18:30:49Z
Date: Fri, 07 Dec 2018 18:30:48 GMT
7.Connection: close
8.
9.<html><head><title>Object moved</title></head><body>
10.<h2>Object moved to <a href="https://cn.bing.com/osjson.aspx?query=%E9%AB%98%E6%9C%A8&amp;form=OSDJAS&amp;language=zh-CN">here</a>.</h2>
12.</body></html>
  • 1.是状态行,状态码为302,协议版本是HTTP/1.1
  • 2~7是消息报头
  • 8是空行
  • 9~11是响应正文

HTTP中的一些请求方式

4.HTTP中的状态码

状态码是当浏览器发送请求时,网页所在服务器返回的一个信息头。

状态代码有三位数字组成,第一个数字定义了响应的类别,共分五种类:

常见的HTTP状态码
上一篇 下一篇

猜你喜欢

热点阅读