python-インタビュー(面接 - 質問) - ネットワークプログラミング-02

免責事項:この記事はブロガーオリジナル記事です、続くBY-SAのCC 4.0を著作権契約、複製、元のソースのリンクと、この文を添付してください。
このリンク: https://blog.csdn.net/weixin_44786482/article/details/102763641

4、ブラウザにアクセスするための手順を説明しwww.baidu.com

先要解析出 baidu.com 对应的 ip 地址
要先使用 arp 获取默认网关的 mac 地址
组织数据发送给默认网关(ip 还是 dns 服务器的 ip,但是 mac 地址是默认网关的 mac 地址)
默认网关拥有转发数据的能力,把数据转发给路由器
路由器根据自己的路由协议,来选择一个合适的较快的路径转发数据给目的网关
目的网关(dns 服务器所在的网关),把数据转发给 dns 服务器
dns 服务器查询解析出 baidu.com 对应的 ip 地址,并原路返回请求这个域名的 client
得到了 baidu.com 对应的 ip 地址之后,会发送 tcp 的 3 次握手,进行连接
使用 http 协议发送请求数据给 web 服务器
web 服务器收到数据请求之后,通过查询自己的服务器得到相应的结果,原路返回给浏览器。
浏览器接收到数据之后通过浏览器自己的渲染功能来显示这个网页。
浏览器关闭 tcp 连接,即 4 次挥手结束,完成整个访问过程

5、ポスト・要望差を取得しますか?

GET 请求,请求的数据会附加在 URL 之后,以?分割 URL 和传输数据,多个参数用&连接。URL 的编码格式采用的是 ASCII 编码,而不是 uniclde,即是说所有的非 ASCII 字符都要编码之后再传输。
POST 请求:POST 请求会把请求的数据放置在 HTTP 请求包的包体中。

そのため、要求されたGETデータは、アドレスバーに公開され、POSTリクエストはしていません。

(1)データ送信のサイズ:

在 HTTP 规范中,没有对 URL 的长度和传输的数据大小进行限制。但是在实际开发过程中,对于 GET,特定的浏览器和服务器对 URL 的长度有限制。因此,在使用 GET 请求时,传输数据会受到 URL 长度的限制。
对于 POST,由于不是 URL 传值,理论上是不会受限制的,但是实际上各个服务器会规定对 POST提交数据大小进行限制,Apache、IIS 都有各自的配置。

(2)セキュリティ:

POST 的安全性比 GET 的高。这里的安全是指真正的安全,而不同于上面 GET 提到的安全方法中的安全,上面提到的安全仅仅是不修改服务器的数据。
比如,在进行登录操作,通过 GET 请求,用户名和密码都会暴露再 URL 上,因为登录页面有可能被浏览器缓存以及其他人查看浏览器的历史记录的原因,此时的用户名和密码就很容易被他人拿到了。除此之外,GET 请求提交的数据还可能会造成 Cross-site request frogery 攻击。

(3)効率性:

GET 比 POST 效率高。

(4)プロセスPOSTリクエスト:

浏览器请求 tcp 连接(第一次握手)
服务器答应进行 tcp 连接(第二次握手)
浏览器确认,并发送 post 请求头(第三次握手,这个报文比较小,所以 http 会在此时进行
第一次数据发送)
服务器返回 100 continue 响应
浏览器开始发送数据
服务器返回 200 ok 响应

(5)申請手続きをGET:

浏览器请求 tcp 连接(第一次握手)
服务器答应进行 tcp 连接(第二次握手)
浏览器确认,并发送 get 请求头和数据(第三次握手,这个报文比较小,所以 http 会在此时
进行第一次数据发送)
服务器返回 200 OK 响应

おすすめ

転載: blog.csdn.net/weixin_44786482/article/details/102763641