Chinaunix首页 | 论坛 | 博客
  • 博客访问: 220073
  • 博文数量: 57
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 606
  • 用 户 组: 普通用户
  • 注册时间: 2013-04-26 18:48
个人简介

在生存面前,那纯洁的理想,原来是那么脆弱不堪!

文章分类

全部博文(57)

文章存档

2019年(4)

2018年(6)

2017年(6)

2016年(14)

2015年(10)

2014年(16)

2013年(1)

我的朋友

分类: 服务器与存储

2014-08-11 19:27:57

一起来看看http这个应用层协议是怎么运作的吧!

简易服务器。
    1)首先用有着“瑞士军刀”美誉的nc工具建立一个服务器,这个服务器将会输出所有接受到的内容。
        #nc -l 127.0.0.1 80
    2)然后用浏览器访问127.0.0.1,这时浏览器会显示正在加载,是的,咱们的nc服务器目前只管接受,并输出在标准输出,没有返回给客户端(即浏览器)。

    3)返回来看看nc的标准输出吧:

点击(此处)折叠或打开

  1. [root@pingshun Desktop]# nc -l 127.0.0.1 80
  2. GET / HTTP/1.1
  3. Host: 127.0.0.1
  4. User-Agent: Mozilla/5.0 (X11; Linux i686; rv:34.0) Gecko/20100101 Firefox/34.0
  5. Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
  6. Accept-Language: en-US,en;q=0.5
  7. Accept-Encoding: gzip, deflate
  8. Connection: keep-alive
  9. If-Modified-Since: Mon, 11 Aug 2014 17:52:47 GMT
  10. If-None-Match: "409e4-12c-5005e39039c78"
  11. Cache-Control: max-age=0
输出的便是浏览器发给服务器的请求,可以看到请求方式为GET 请求uri是/ 协议是http/1.1 Host(主机) 127.0.0.1 (本地地址)

模拟客户端:
    一个基本的http协议就是这样,下面我们访问www.baidu.com来验证一下。
    #nc www.baidu.com 80            ##此时把nc用作客户端 (也可用telnet代替)
    GET / HTTP/1.1        ##注意有两个空格
    Host: www.baidu.com     ##一个空格
    然后敲两次回车(这也是http协议的一部分,代表http头的结束)
    下面是操作演示:

点击(此处)折叠或打开

  1. [root@pingshun Desktop]# nc www.baidu.com 80
  2. GET / http/1.0
  3. Host: www.baidu.com

  4. HTTP/1.1 200 OK
  5. Date: Mon, 11 Aug 2014 11:23:13 GMT
  6. Content-Type: text/html; charset=utf-8
  7. Connection: Close
  8. Vary: Accept-Encoding
  9. Set-Cookie: BAIDUID=890DE889BC08F2B4604E95B66E13D8A6:FG=1; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.com
  10. Set-Cookie: BDSVRTM=0; path=/
  11. Set-Cookie: BD_HOME=0; path=/
  12. P3P: CP=" OTI DSP COR IVA OUR IND COM "
  13. Cache-Control: private
  14. Cxy_all: baidu+95669326e28ac777484e24416abbe01d
  15. Expires: Mon, 11 Aug 2014 11:22:35 GMT
  16. X-Powered-By: HPHP
  17. Server: BWS/1.1
  18. BDPAGETYPE: 1
  19. BDQID: 0x9f37349f00003867
  20. BDUSERID: 0

  21. <!DOCTYPE html><!--STATUS OK--><html><head><meta http-equiv="content-type" content="text/html;charset=utf-8"><link rel="dns-prefetch" href="//s1.bdstatic.com"/><link rel="dns-prefetch" href="//t1.baidu.com"/><link rel="dns-prefetch" href=。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。省略后面的html内容。
就会看到www.baidu.com返回给你的主页内容!    
阅读(431) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~