<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Network on 学无止境</title>
		<link>https://sunnnnner.github.io/categories/network/</link>
		<description>Recent content in Network on 学无止境</description>
		<generator>Hugo</generator>
		<language>en-us</language>
		
		
		
		
			<lastBuildDate>Tue, 12 Jul 2022 14:37:53 +0800</lastBuildDate>
		
			<atom:link href="https://sunnnnner.github.io/categories/network/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>网络协议与抓包分析</title>
				<link>https://sunnnnner.github.io/posts/%E7%BD%91%E7%BB%9C/tcp%E7%BC%96%E7%A8%8B/</link>
				<pubDate>Tue, 12 Jul 2022 14:37:53 +0800</pubDate>
				<guid>https://sunnnnner.github.io/posts/%E7%BD%91%E7%BB%9C/tcp%E7%BC%96%E7%A8%8B/</guid>
				<description></description>
			</item>
			<item>
				<title>WAP服务器</title>
				<link>https://sunnnnner.github.io/posts/%E7%BD%91%E7%BB%9C/wap%E6%9C%8D%E5%8A%A1%E5%99%A8/</link>
				<pubDate>Tue, 12 Jul 2022 14:37:29 +0800</pubDate>
				<guid>https://sunnnnner.github.io/posts/%E7%BD%91%E7%BB%9C/wap%E6%9C%8D%E5%8A%A1%E5%99%A8/</guid>
				<description>&lt;hr&gt;&#xA;&lt;h1 id=&#34;网络层复习&#34;&gt;网络层复习&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;应用层：解决要传递什么数据&lt;/li&gt;&#xA;&lt;li&gt;传输层：解决如何传递数据，使用udp,tcp理解位快递公司&lt;/li&gt;&#xA;&lt;li&gt;网络层：定位目标的ip地址&lt;/li&gt;&#xA;&lt;li&gt;链路层：使用工具进行传输&lt;/li&gt;&#xA;&lt;li&gt;建立链接的三次握手&lt;/li&gt;&#xA;&lt;li&gt;数据传输&lt;/li&gt;&#xA;&lt;li&gt;断开链接的四次挥手&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
			</item>
			<item>
				<title>什么是跨域及解决办法</title>
				<link>https://sunnnnner.github.io/posts/django/%E4%BB%80%E4%B9%88%E6%98%AF%E8%B7%A8%E5%9F%9F%E5%8F%8A%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/</link>
				<pubDate>Mon, 09 Sep 2019 11:39:55 +0800</pubDate>
				<guid>https://sunnnnner.github.io/posts/django/%E4%BB%80%E4%B9%88%E6%98%AF%E8%B7%A8%E5%9F%9F%E5%8F%8A%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/</guid>
				<description>&lt;h2 id=&#34;1-跨域基础概念&#34;&gt;1. 跨域基础概念&lt;/h2&gt;&#xA;&lt;h3 id=&#34;11-什么是跨域&#34;&gt;1.1 什么是跨域&lt;/h3&gt;&#xA;&lt;p&gt;浏览器出于安全考虑，对不同源的请求进行限制，这就是同源策略。&lt;/p&gt;&#xA;&lt;h3 id=&#34;12-同源策略要求&#34;&gt;1.2 同源策略要求&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;协议相同（http/https）&lt;/li&gt;&#xA;&lt;li&gt;域名相同&lt;/li&gt;&#xA;&lt;li&gt;端口相同&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;2-jsonp跨域方案&#34;&gt;2. JSONP跨域方案&lt;/h2&gt;&#xA;&lt;h3 id=&#34;21-基本原理&#34;&gt;2.1 基本原理&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;JSONP利用&lt;code&gt;&amp;lt;script&amp;gt;&lt;/code&gt;标签不受同源策略限制的特性&lt;/li&gt;&#xA;&lt;li&gt;通过函数调用的方式包装JSON数据&lt;/li&gt;&#xA;&lt;li&gt;需要服务端配合返回特定格式的数据&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;22-实现示例&#34;&gt;2.2 实现示例&lt;/h3&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&#xA;// 客户端实现&#xA;function jsonp(url, callback) {&#xA;    const script = document.createElement(&amp;#39;script&amp;#39;);&#xA;    script.src = `${url}?callback=${callback}`;&#xA;    document.body.appendChild(script);&#xA;    &#xA;    // 请求完成后删除script标签&#xA;    script.onload = function() {&#xA;        document.body.removeChild(script);&#xA;    };&#xA;}&#xA;&#xA;// 服务端实现（Python示例）&#xA;def jsonp_view(request):&#xA;    callback = request.GET.get(&amp;#39;callback&amp;#39;)&#xA;    data = {&amp;#39;name&amp;#39;: &amp;#39;test&amp;#39;, &amp;#39;value&amp;#39;: 123}&#xA;    return HttpResponse(f&amp;#39;{callback}({json.dumps(data)})&amp;#39;)&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;23-jsonp限制&#34;&gt;2.3 JSONP限制&lt;/h3&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;只支持GET请求&lt;/li&gt;&#xA;&lt;li&gt;需要服务器配合&lt;/li&gt;&#xA;&lt;li&gt;错误处理能力有限&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;3-cors跨域方案&#34;&gt;3. CORS跨域方案&lt;/h2&gt;&#xA;&lt;h3 id=&#34;31-基本概念&#34;&gt;3.1 基本概念&lt;/h3&gt;&#xA;&lt;p&gt;CORS（Cross-Origin Resource Sharing）是W3C标准的跨域解决方案。&lt;/p&gt;&#xA;&lt;h3 id=&#34;32-请求类型&#34;&gt;3.2 请求类型&lt;/h3&gt;&#xA;&lt;h4 id=&#34;简单请求&#34;&gt;简单请求&lt;/h4&gt;&#xA;&lt;p&gt;满足以下条件的请求：&lt;/p&gt;</description>
			</item>
			<item>
				<title>什么是RPC</title>
				<link>https://sunnnnner.github.io/posts/%E7%BD%91%E7%BB%9C/%E4%BB%80%E4%B9%88%E6%98%AFrpc/</link>
				<pubDate>Sat, 07 Sep 2019 11:36:55 +0800</pubDate>
				<guid>https://sunnnnner.github.io/posts/%E7%BD%91%E7%BB%9C/%E4%BB%80%E4%B9%88%E6%98%AFrpc/</guid>
				<description></description>
			</item>
	</channel>
</rss>
