浅析http协议

上一篇 / 下一篇  2016-02-09 16:57:06 / 天气: 晴朗

     大年初二,老爸唱K,我在旁边写写http的个人学习理解~~祝大家新年快乐!

    Http的理论知识网上已经有很多,在这里就用实际例子简单直观描述,可以使用Fiddle等抓包工具,启动后打开浏览器请求网络资源,或者手机绑定Fiddler请求网络资源接口等,即可看到这些都是http或者https请求,在Inspector下的raw查看

 

     其中,   

一、Http协议URL     

    格式:http://host[":"port][abs_path],用来定位请求资源的位置

二、Http请求

    如请求网易新闻的一个网页,

GET http://web.stat.ws.126.net/stat/?project=news_world&event=initialized&etype=process&cost=649&uuid=b1d45e959fe399c2&unew=1&uctime=1455005833463&utime=1455005907295&ultime=0&uvcount=0&resolution=1920/1080&avlbsize=1903/979&pagesize=1903/3226&pagescroll=0/0&url=http%3A%2F%2Fnews.163.com%2Fworld%2F&ref=http%3A%2F%2Fnews.163.com%2F&cvar={%22trace_id%22:%221455005833426%22,%22email%22:%22%22,%22nvsf%22:%22%22}&r=0.7528014241252095_0602&pgr=b1d45e959fe399c214550059064275007&prev_pgr=7c36395bc0d694451455005833451754&sid=b1d45e959fe399c21455005833470 HTTP/1.1

Host: web.stat.ws.126.net

Connection: keep-alive

Accept: image/webp,image/*,*/*;q=0.8

User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36

Referer: http://news.163.com/world/

Accept-Encoding: gzip, deflate, sdch

Accept-Language: zh-CN,zh;q=0.8

Cookie: NTESLOGFE=1455005832.404

    请求由三部分组成,包括请求行、消息报头、请求正文

     raw下我们看到请求方式为GET请求,GET一般用来获取或者查询资源,另外还有其他请求方式,如一般用来提交数据的POST请求,还要HEADDELETE等,其中最为常用的为getpost,请求方法后面跟着请求的URL,然后是http的版本号,如HTTP/1.1

     请求host即请求的域名,Connection用来指定连接,例如指定连接是连续keep-alive,或者指定“close”选项,User-Agent是你使用的浏览器的名称和版本,Referer告诉服务器我是从哪个页面链接过来的,Accept-Encoding用于指定可接受的内容编码,Accept-Language表示浏览器所支持的语言类型,Cookie是由Web服务器保存在用户浏览器上的小文本文件,可以包含有关用户的信息,某些请求必须要带上cookie才可访问;

二、Http响应

      如访问某一请求返回

HTTP/1.1 200 OK

Server: Apache-Coyote/1.1

Content-Type: text/plain;charset=utf-8

Content-Length: 28

Date: Tue, 09 Feb 2016 08:56:04 GMT

 

doyoo.resp={"c":"e","es":[]}

 

      返回的内容HTTP请求包相似,由三个部分构成,分别是:协议-状态代码-描述,应答头,应答正文(服务器返回的资源的内容)其中响应状态取值:

1xx:指示信息--表示请求已接收,继续处理
2xx:成功--表示请求已被成功接收、理解、接受,如返回OK200
3xx:重定向--要完成请求必须进行更进一步的操作,如重定向302
4xx:客户端错误--请求有语法错误或请求无法实现,如查找不到对应资源,404
5xx:服务器端错误--服务器未能实现合法的请求,如服务器当前不能处理客户端的请求,503

 

    结合具体项目可慢慢体会理解~

 


TAG:

 

评分:0

我来说两句

我的栏目

日历

« 2024-04-24  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 9048
  • 日志数: 6
  • 建立时间: 2016-01-22
  • 更新时间: 2017-04-14

RSS订阅

Open Toolbar