博客
关于我
计算机网络 一:客户端的应用层
阅读量:365 次
发布时间:2019-03-04

本文共 854 字,大约阅读时间需要 2 分钟。

计算机网络的工作原理是基于多层协议架构,应用层、传输层、网络层、数据链路层和物理层从上到下逐步处理数据。应用层是最上面的层次,接收用户的请求并将数据格式化为网络可以处理的形式。随着数据向下传递,每一层都会对其进行处理,直到从客户端的物理层发送到服务器,再从服务器的物理层接受并逐层处理,最终呈现给应用程序。

当用户输入网址或填写表单数据后点击发送按钮,HTTP协议会生成请求消息。请求消息包括方法和URI两部分,方法主要有GET和POST两种。GET方法将数据附加到URI中,适用于小数据传输,而POST方法将数据存储在消息体中,适用于大数据或图片等内容。

URI在请求消息中指定了服务器上的文件、程序或资源路径,例如网站地址www.csdn.net/index.html。浏览器通过HTTP协议将GET或POST方法和URI构成请求消息。消息头记录了请求的附加信息,如Accept-Language、Host和Connection,而消息体则存储了表单数据。

GET请求的数据会被直接附加到URI中,这也是为什么GET传输的数据相对较小的原因。POST请求则将数据包装在消息体中,可以传输较大的数据量,如图片或文字描述。

DNS解析是将域名转换为IP地址的过程。浏览器会调用DNS解析器查询DNS服务器,获取目标服务器的IP地址。DNS服务器分为根域、顶级域和二级域,每个域都有对应的DNS记录。客户端通过递归查询逐步找到目标服务器的IP地址。

IP地址由四个8位组成,表示网络和主机号。子网掩码指定了IP地址的网络号和主机号范围,例如255.255.255.0表示24位子网。浏览器通过DNS解析得到服务器IP后,会将其发送到协议栈,完成数据传输。

在实际应用中,应用程序通过Socket库调用gethostbyname函数获取IP地址,制作HTTP请求报文,并使用socket、connect、write、read和close函数进行通信。这些库函数将应用程序的数据包装在协议报文中,传输到目标服务器。

转载地址:http://wtbr.baihongyu.com/

你可能感兴趣的文章
python filter过滤器的使用_python基础知识分享:zip()、filter函数和reduce如何使用?...
查看>>
python flask 请求code 400, message Bad request version
查看>>
Python UI自动化测试集成UnitTest
查看>>
Python UTC 日期时间对象的 ISO 格式不包括 Z(祖鲁语或零偏移)
查看>>
python valueerror object2_python遇到错误记录
查看>>
python vars的作用
查看>>
Python virtualenv
查看>>
python vue3实现大文件分段续传(断点续传)--带暂停和继续功能
查看>>
Python WebDriver如何打印整个页面源(html)
查看>>
Python WebSocket自动化测试:构建高效接口测试框架
查看>>
Python Web开发
查看>>
Redis 配置文件杂项。
查看>>
Python web自动化测试 —— 文件上传
查看>>
Python web自动化测试 —— 文件上传!
查看>>
Python Web自动化测试开发环境搭建(附安装包与虚拟机环境)
查看>>
python win32api键盘_Python win32api.keybd_event模拟键盘输入
查看>>
python Windows显示当前鼠标坐标
查看>>
python Workbook 表格宽度
查看>>
python | flanker,一个神奇的 Python 库!
查看>>
python | flower,一个强大的 Python 库!
查看>>