squid的处理request和reply的流程
request处理:
Breakpoint , SQUID_MD5Final (
digest=0x764d00 "\021dZcaFe\270\273a\020,\304j\222\347\227\372\364\206%B\245#\203\352\275It\357\266\343\003I\322`\225\250\370\204<k?I\275\353O9", ctx=0x7fff24ec0e80) at md5.c:
{
(gdb) bt
# SQUID_MD5Final (
digest=0x764d00 "\021dZcaFe\270\273a\020,\304j\222\347\227\372\364\206%B\245#\203\352\275It\357\266\343\003I\322`\225\250\370\204<k?I\275\353O9", ctx=0x7fff24ec0e80) at md5.c:
# 0x0000000000489e35 in storeKeyPublicByRequestMethod (request=0x1d544a0, method=) at store_key_md5.c:
# 0x00000000004809c7 in storeGetPublicByRequestMethod (req=0x1d544a0, method=) at store.c:
# 0x00000000004809f1 in storeGetPublicByRequest (req=0x1d544a0) at store.c:
# 0x0000000000428c1b in clientProcessRequest2 (http=0x1d54058) at client_side.c:
# 0x00000000004293aa in clientProcessRequest (http=0x1d54058) at client_side.c:
# 0x000000000042026b in clientCheckNoCacheDone (answer=, data=0x1d54058) at client_side.c:
# 0x000000000040af87 in aclCheckCallback (checklist=0x1d66718, answer=ACCESS_ALLOWED) at acl.c:
# 0x000000000040ad7e in aclCheck (checklist=0x1d66718) at acl.c:
# 0x000000000040b3db in aclNBCheck (checklist=0x1d66718, callback=0x420211 <clientCheckNoCacheDone>,
callback_data=0x1d54058) at acl.c:
# 0x00000000004201e7 in clientCheckNoCache (http=0x1d54058) at client_side.c:
# 0x000000000041f8dd in clientAccessCheck2 (data=0x1d54058) at client_side.c:
# 0x000000000041fa65 in clientFinishRewriteStuff (http=0x1d54058) at client_side.c:
# 0x000000000042f2ac in clientStoreURLRewriteDone (data=0x1d54058, result=0x0) at client_side_storeurl_rewrite.c:
# 0x000000000042f0ef in clientStoreURLRewriteStart (http=0x1d54058) at client_side_storeurl_rewrite.c:
# 0x000000000042ec44 in clientRedirectDone (data=0x1d54058, result=0x0) at client_side_rewrite.c:
# 0x000000000042e45a in clientRedirectAccessCheckDone (answer=, data=0x1d54058) at client_side_rewrite.c:
# 0x000000000040af87 in aclCheckCallback (checklist=0x1d54b98, answer=ACCESS_DENIED) at acl.c:
# 0x000000000040ae1e in aclCheck (checklist=0x1d54b98) at acl.c:
# 0x000000000040b3db in aclNBCheck (checklist=0x1d54b98, callback=0x42e246 <clientRedirectAccessCheckDone>,
---Type <return> to continue, or q <return> to quit---
callback_data=0x1d54058) at acl.c:
# 0x000000000042e51f in clientRedirectStart (http=0x1d54058) at client_side_rewrite.c:
# 0x000000000041fbe5 in clientAccessCheckDone (answer=, data=0x1d54058) at client_side.c:
# 0x000000000040af87 in aclCheckCallback (checklist=0x1d54a18, answer=ACCESS_ALLOWED) at acl.c:
# 0x000000000040ad7e in aclCheck (checklist=0x1d54a18) at acl.c:
# 0x000000000040b3db in aclNBCheck (checklist=0x1d54a18, callback=0x41fa67 <clientAccessCheckDone>,
callback_data=0x1d54058) at acl.c:
# 0x000000000041f862 in clientAccessCheck (data=0x1d54058) at client_side.c:
# 0x000000000041f80f in clientCheckFollowXForwardedFor (data=0x1d54058) at client_side.c:
# 0x000000000042b7aa in clientTryParseRequest (conn=0x1d52d98) at client_side.c:
# 0x000000000042bd75 in clientReadRequest (fd=, data=0x1d52d98) at client_side.c:
# 0x0000000000432bd9 in comm_call_handlers (fd=, read_event=, write_event=) at comm_generic.c:
# 0x00000000004334de in do_comm_select (msec=) at comm_epoll.c:
# 0x0000000000432fc3 in comm_select (msec=) at comm_generic.c:
# 0x0000000000466c9a in main (argc=, argv=0x7fff24ec1fd8) at main.c:
(gdb) bt
# SQUID_MD5Final (digest=0x764d20 "", ctx=0x7fff811cd960) at md5.c:
# 0x0000000000489c02 in storeKeyPrivate (url=0x1cad320 "http://127.0.0.1:70/hello", method=, id=)
at store_key_md5.c:
# 0x0000000000480b00 in storeSetPrivateKey (e=0x1cad3e0) at store.c:
# 0x000000000048340c in storeCreateEntry (url=0x1cad290 "http://127.0.0.1:70/hello", flags=..., method=)
at store.c:
# 0x0000000000420b06 in clientProcessExpired (http=0x1c830f8) at client_side.c:
# 0x000000000042085b in clientRefreshCheckDone (data=0x1c830f8, fresh=, log=0x0) at client_side.c:
# 0x00000000004765e7 in refreshCheckSubmit (entry=0x1c81d80, callback=0x4207d0 <clientRefreshCheckDone>,
callback_data=0x1c830f8) at refresh_check.c:
# 0x00000000004207ce in clientRefreshCheck (http=0x1c830f8) at client_side.c:
# 0x00000000004262a9 in clientCacheHit (data=0x1c830f8, rep=0x1cabb10) at client_side.c:
# 0x000000000041f6b0 in storeClientCopyHeadersCB (data=0x1c830f8, buf=0x1c9e1b0 "", size=) at client_side.c:
# 0x0000000000486af5 in storeClientCallback (sc=0x1c9e138, sz=) at store_client.c:
# 0x0000000000487bd2 in storeClientReadHeader (data=0x1c9e138, buf=0x1c9e1b0 "", len=) at store_client.c:
# 0x000000000049c10c in storeUfsReadDone (fd=<value optimized out>, buf=0x1c9e1b0 "", len=<value optimized out>,
errflag=, my_data=0x1c81308) at ufs/store_io_ufs.c:
# 0x0000000000434dec in diskHandleRead (fd=, data=0x1c81380) at disk.c:
# 0x0000000000434ec8 in file_read (fd=, buf=0x1c9e1b0 "", req_len=, file_offset=,
handler=0x49c050 <storeUfsReadDone>, client_data=0x1c81308) at disk.c:
# 0x00000000004865c4 in storeRead (sio=0x1c81308, buf=0x1c9e1b0 "", size=, offset=,
callback=0x48747a <storeClientReadHeader>, callback_data=0x1c9e138) at store_io.c:
# 0x00000000004872c6 in storeClientFileRead (sc=0x1c9e138) at store_client.c:
---Type <return> to continue, or q <return> to quit---
# 0x0000000000487202 in storeClientCopy3 (e=0x1c81d80, sc=0x1c9e138) at store_client.c:
# 0x0000000000486eab in storeClientCopy2 (e=0x1c81d80, sc=0x1c9e138) at store_client.c:
# 0x0000000000486ce2 in storeClientCopy (sc=0x1c9e138, e=0x1c81d80, seen_offset=, copy_offset=, size=,
buf=0x1c9e1b0 "", callback=0x41f5c4 <storeClientCopyHeadersCB>, data=0x1c830f8) at store_client.c:
# 0x000000000041f73c in storeClientCopyHeaders (sc=0x1c9e138, e=0x1c81d80, callback=0x425520 <clientCacheHit>,
callback_data=0x1c830f8) at client_side.c:
# 0x000000000042953b in clientProcessRequest (http=0x1c830f8) at client_side.c:
# 0x000000000042026b in clientCheckNoCacheDone (answer=, data=0x1c830f8) at client_side.c:
# 0x000000000040af87 in aclCheckCallback (checklist=0x1c95998, answer=ACCESS_ALLOWED) at acl.c:
# 0x000000000040ad7e in aclCheck (checklist=0x1c95998) at acl.c:
# 0x000000000040b3db in aclNBCheck (checklist=0x1c95998, callback=0x420211 <clientCheckNoCacheDone>,
callback_data=0x1c830f8) at acl.c:
# 0x00000000004201e7 in clientCheckNoCache (http=0x1c830f8) at client_side.c:
# 0x000000000041f8dd in clientAccessCheck2 (data=0x1c830f8) at client_side.c:
# 0x000000000041fa65 in clientFinishRewriteStuff (http=0x1c830f8) at client_side.c:
# 0x000000000042f2ac in clientStoreURLRewriteDone (data=0x1c830f8, result=0x0) at client_side_storeurl_rewrite.c:
# 0x000000000042f0ef in clientStoreURLRewriteStart (http=0x1c830f8) at client_side_storeurl_rewrite.c:
# 0x000000000042ec44 in clientRedirectDone (data=0x1c830f8, result=0x0) at client_side_rewrite.c:
# 0x000000000042e45a in clientRedirectAccessCheckDone (answer=, data=0x1c830f8) at client_side_rewrite.c:
# 0x000000000040af87 in aclCheckCallback (checklist=0x1c83d58, answer=ACCESS_DENIED) at acl.c:
# 0x000000000040ae1e in aclCheck (checklist=0x1c83d58) at acl.c:
# 0x000000000040b3db in aclNBCheck (checklist=0x1c83d58, callback=0x42e246 <clientRedirectAccessCheckDone>,
callback_data=0x1c830f8) at acl.c:
---Type <return> to continue, or q <return> to quit---
# 0x000000000042e51f in clientRedirectStart (http=0x1c830f8) at client_side_rewrite.c:
# 0x000000000041fbe5 in clientAccessCheckDone (answer=, data=0x1c830f8) at client_side.c:
# 0x000000000040af87 in aclCheckCallback (checklist=0x1c83ba8, answer=ACCESS_ALLOWED) at acl.c:
# 0x000000000040ad7e in aclCheck (checklist=0x1c83ba8) at acl.c:
# 0x000000000040b3db in aclNBCheck (checklist=0x1c83ba8, callback=0x41fa67 <clientAccessCheckDone>,
callback_data=0x1c830f8) at acl.c:
# 0x000000000041f862 in clientAccessCheck (data=0x1c830f8) at client_side.c:
# 0x000000000041f80f in clientCheckFollowXForwardedFor (data=0x1c830f8) at client_side.c:
# 0x000000000042b7aa in clientTryParseRequest (conn=0x1c81e38) at client_side.c:
# 0x000000000042bd75 in clientReadRequest (fd=, data=0x1c81e38) at client_side.c:
# 0x0000000000432bd9 in comm_call_handlers (fd=, read_event=, write_event=) at comm_generic.c:
# 0x00000000004334de in do_comm_select (msec=) at comm_epoll.c:
# 0x0000000000432fc3 in comm_select (msec=) at comm_generic.c:
# 0x0000000000466c9a in main (argc=, argv=0x7fff811cf088) at main.c:
(gdb)
reply报文的处理过程:
(gdb)
# SQUID_MD5Final (digest=0x764d20 "\237:\027", ctx=0x7fff811ceb70) at md5.c:
# 0x0000000000489c02 in storeKeyPrivate (url=0x1cad2c0 "http://127.0.0.1:70/hello", method=, id=)
at store_key_md5.c:
# 0x0000000000480b00 in storeSetPrivateKey (e=0x1c81d80) at store.c:
# 0x000000000048329e in storeSetPublicKey (e=0x1cad3e0) at store.c:
# 0x000000000044ef4e in httpMakePublic (entry=0x1cad3e0) at http.c:
# 0x00000000004500cd in httpProcessReplyHeader (httpState=0x1cada28,
buf=0x70cee0 "HTTP/1.0 200 OK\r\nAge: 3000\r\nCache-control: public,max-age=6000\r\nLast-modified: Mon,09 Jun 2014 06:20:32 GMT\r\nExpire: Mon,16 Jun 2014 06:20:32 GMT\r\nEtag: ", 'x' <repeats times>, "\r\nContent-Type: text; charset=I"..., size=) at http.c:
# 0x00000000004515b6 in httpReadReply (fd=, data=0x1cada28) at http.c:
# 0x0000000000432bd9 in comm_call_handlers (fd=, read_event=, write_event=) at comm_generic.c:
# 0x00000000004334de in do_comm_select (msec=) at comm_epoll.c:
# 0x0000000000432fc3 in comm_select (msec=) at comm_generic.c:
# 0x0000000000466c9a in main (argc=, argv=0x7fff811cf088) at main.c:
squid的处理request和reply的流程的更多相关文章
- Salesforce Integration 概览(二) Remote Process Invocation—Request and Reply(远程进程调用--请求和响应)
本篇参考:https://resources.docs.salesforce.com/sfdc/pdf/integration_patterns_and_practices.pdf 我们在项目中,经常 ...
- [WCF]设置拦截器捕捉到request和reply消息
WCF进阶学习ing... 在熟练掌握了ABC的使用以后,就开始想着去了解WCF是怎么通信的了.首先是服务描述语言wsdl,它定义了服务的描述等等,用于让外界知道这个服务的ABC是什么.另外一个比较重 ...
- 【转】WCF设置拦截器捕捉到request和reply消息
原文:https://www.cnblogs.com/yanglang/p/7063743.html 我们需要拦截消息,并把消息打印出来,那么我们就需要一个拦截器,叫做MessageInspector ...
- github Pull Request合入全流程介绍
图解全流程 详细步骤 1. fork仓库 2. clone fork仓库到本地 3. 关联upstream原仓库 在fork本地仓库输入下面命令进行关联: git remote add upstrea ...
- django的request介绍和APIView流程分析和CBV的流程分析
首先get请求的数据都在request.GET中,request.body中没有,因为只有post请求有请求体,request.body中的数据是请求体的数据 首先,我们还是用cbv的方式来讲解 我们 ...
- squid源码安装下的conf文件默认值和提示
# WELCOME TO SQUID 3.0.STABLE26# ----------------------------## This is the default Squid c ...
- squid ACL 大全
Access Controls in Squid Contents Access Controls in Squid The Basics: How the parts fit together AC ...
- zookeeper原理解析-服务器端处理流程
1)处理器链 这部分内容我们主要讲解zookeeper请求在zookeeper server端的处理流程,对于不同角色的zookeeper具有不同的处理流程, ZookeepeerServer的sta ...
- github的pull request是指什么意思?有什么用处
github的pull request是指什么意思? 来看看某乎某位阿牛的理解,多么的简单粗暴! 我尝试用类比的方法来解释一下 pull reqeust.想想我们中学考试,老师改卷的场景吧.你做的试卷 ...
随机推荐
- Vue 系列(一): Vue + Echarts 开发可复用的柱形图组件
目录 前置条件 安装echarts 引入echarts 柱形图组件开发 在何时初始化组件? 完整的代码 记得注册组件!!! 本文归柯三(kesan)所有,转载请注明出处 https://www.cnb ...
- .net几种timer区别
概述:.net框架不同名称控件都包含了各种timer,但每个timer有什么具体区别呢? 一.System.Threading private static void ThreadingTimer() ...
- Docker下载镜像出现failed to register layer: symlink....问题
在用Docker下载RabbitMQ的时候出现如下问题 个人解决方案:重启Docker. 若重启还是无法解决问题,可以先关闭Docker systemctl stop docker 然后把已下载的相关 ...
- wpf Textbox 回车就换行
将 TextWrapping 属性设置为 Wrap 会导致输入的文本在到达 TextBox 控件的边缘时换至新行,必要时会自动扩展 TextBox 控件以便为新行留出空间. 将 AcceptsRetu ...
- Laravel 向公共模板赋值
开发过程中许多时候都会向公共模板赋值,比如顶部导航栏,页面底部等等,不可能在每个控制器中都赋值一遍. Laravel 中解决办法如下:修改 App\Providers\AppServiceProvid ...
- Ubuntu 双网卡route
ip route flush table sz ip route add default via 183.2.218.254 dev eth0 src 183.2.218.4 table sz ip ...
- 对OO原则的个人理解
1.单一职责原则.(Single Responsibility Principle) 注解:社会化大生产分工要细.具体每个人最好只做一件事(不要一人兼多职),这样如果这个人请假或辞职,对生产不会产生影 ...
- BZOJ - 1036 树的统计Count (LCT)
LCT试炼题(代码量居然完爆树剖?) #include<bits/stdc++.h> using namespace std; ,inf=0x3f3f3f3f; ],flp[N],n,m, ...
- Shiro(二)
1 Shiro的授权 1.1 授权流程 1.2 授权方式 shiro支持三种方式的授权 1.2.1 编程式 通过编写if/else完成授权代码. if(subject.hasRole("ro ...
- PS使用滤镜制作光晕效果
滤镜制作光晕效果 新建图层,将背景色填充为黑色 滤镜->渲染->镜头光晕 调整好光晕大小 通过滤色(图层两字下面一点点的位置,有个下拉菜单,点开就在里面),去黑留白 如果觉得光线不够,可以 ...