2019-06-03日 HTTP

HTTP协议(超文本传输协议)

一、用户浏览器输入域名(www.baidu.com)到屏幕显示内容 过程发生了什么?

  • 1、DNS解析

将域名转换为ip地址

  • 2、TCP/ip三次握手

与服务端建立连接

  • 3、HTTP请求报文

请求需要的东西(图片 文本 视频)

  • 4、空行

用来区分请求报文和响应报文

  • 5、HTTP响应报文

把你想要的东西给你

  • 6、TCP/i四次挥手

断开连接

2019-06-03日 HTTP_第1张图片
输入域名过程.jpg
2019-06-03日 HTTP_第2张图片
域名结构.png

TTL

(生存时间值)

TTL是 Time To Live的缩写,该字段指定IP包被路由器丢弃之前允许通过的最大网段数量。TTL是IPv4包头的一个8 bit字段。

二、DNS

  • 刷新缓存
[d:\~]$ ipconfig /flushdns
Windows IP 配置
已成功刷新 DNS 解析缓存。
  • 查看DNS缓存
[d:\~]$ ipconfig /displaydns
  • Windows hosts配置文件

C:\Windows\System32\drivers\etc\hosts

三、查询域名对应的ip地址 DNS解析

  • 查询方法一 dig 命令(详细)
dig  www.baidu.com 
dig  www.baidu.com www.jd.com
[root@web01 ~]# nslookup  www.baidu.com 
Server:     10.0.0.254
Address:    10.0.0.254#53

Non-authoritative answer:
Name:   www.baidu.com
Address: 182.61.200.6
Name:   www.baidu.com
Address: 182.61.200.7
  • 查询方法二 host (简洁)
[root@web01 ~]# host   www.baidu.com 
www.baidu.com has address 182.61.200.7
www.baidu.com has address 182.61.200.6
www.baidu.com is an alias for www.a.shifen.com.
www.baidu.com is an alias for www.a.shifen.com.
2019-06-03日 HTTP_第3张图片
HTTP.jpg

四、查看HTTP报文

-方法一 curl -v

[root@web01 ~]# curl -v   www.baidu.com/lidao.jpg
DNS解析  
* About to connect() to www.baidu.com port 80 (#0)
*   Trying 182.61.200.6...
TCP三次握手 
* Connected to www.baidu.com (182.61.200.6) port 80 (#0)
http请求报文  
请求起始行:> GET /lidao.jpg HTTP/1.1
用户浏览器:> User-Agent: curl/7.29.0
请求域名  :> Host: www.baidu.com
            > Accept: */*
空行        >



< HTTP/1.1 302 Found
< Cache-Control: max-age=86400  #控制缓存 
< Connection: Keep-Alive
< Content-Length: 222           #响应的文件的大小 
< Content-Type: text/html; charset=iso-8859-1
< Date: Mon, 03 Jun 2019 03:30:28 GMT
< Expires: Tue, 04 Jun 2019 03:30:28 GMT
< Location: https://www.baidu.com/search/error.html
< Server: Apache                #服务端信息     
<                               #空行  


302 Found

Found

The document has moved here.

* Connection #0 to host www.baidu.com left intact
  • 方法二 wget --debug www.boke111.cn
[root@web01 ~]# wget --debug   www.boke111.cn
DEBUG output created by Wget 1.14 on linux-gnu.

URI encoding = ‘UTF-8’
Converted file name 'index.html' (UTF-8) -> 'index.html' (UTF-8)
Converted file name 'index.html' (UTF-8) -> 'index.html' (UTF-8)
--2019-06-03 22:49:17--  http://www.boke111.cn/
Resolving www.boke111.cn (www.boke111.cn)... 8.8.8.8, 152.136.46.241
Caching www.boke111.cn => 8.8.8.8 152.136.46.241
Connecting to www.boke111.cn (www.boke111.cn)|8.8.8.8|:80... Closed fd 3
failed: Connection refused.
Connecting to www.boke111.cn (www.boke111.cn)|152.136.46.241|:80... connected.
Created socket 3.
Releasing 0x00000000014d59e0 (new refcount 1).

---request begin---
GET / HTTP/1.1
User-Agent: Wget/1.14 (linux-gnu)
Accept: */*
Host: www.boke111.cn
Connection: Keep-Alive

---request end---
HTTP request sent, awaiting response... 
---response begin---
HTTP/1.1 200 OK
Server: nginx
Date: Mon, 03 Jun 2019 08:21:31 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding
X-Powered-By: PHP/5.6.40
Link: ; rel="https://api.w.org/"

---response end---
200 OK
Registered socket 3 for persistent reuse.
URI content encoding = ‘UTF-8’
Length: unspecified [text/html]
Saving to: ‘index.html’

    [ <=>                                                                                         ] 11,569      --.-K/s   in 0s      

2019-06-03 22:49:38 (387 MB/s) - ‘index.html’ saved [11569]

  • 方法三 wireshark 抓包

wireshark过滤规则(windows Linux)
书写 协议 http tcp ssh
ip + 协议
ip.addr == 118.31.120.171 and http

待处理——

研究tcpdump抓包 (Linux)
根据ip抓包
根据端口
根据协议

单词整理:

request 请求
response 响应
source src 源
destition dst dest 目标
content 文件内容

你可能感兴趣的:(2019-06-03日 HTTP)