博客
关于我
计算机网络 一:客户端的应用层
阅读量: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/

你可能感兴趣的文章
POJ 3411 DFS
查看>>
poj 3422 Kaka's Matrix Travels (费用流 + 拆点)
查看>>
Qt笔记——官方文档全局定义(二)Functions函数
查看>>
POJ 3468 A Simple Problem with Integers
查看>>
poj 3468 A Simple Problem with Integers 降维线段树
查看>>
poj 3468 A Simple Problem with Integers(线段树 插线问线)
查看>>
poj 3485 区间选点
查看>>
poj 3518 Prime Gap
查看>>
poj 3539 Elevator——同余类bfs
查看>>
Qt笔记——官方文档全局定义(三)Macros宏
查看>>
poj 3628 Bookshelf 2
查看>>
Qt笔记——官方文档全局定义(一)Types数据类型
查看>>
POJ 3670 DP LIS?
查看>>
POJ 3683 Priest John's Busiest Day (算竞进阶习题)
查看>>
POJ 3988 Selecting courses
查看>>
POJ 4020 NEERC John's inversion 贪心+归并求逆序对
查看>>
poj 4044 Score Sequence(暴力)
查看>>
POJ 基础数据结构
查看>>
POJ 题目3020 Antenna Placement(二分图)
查看>>
Poj(1797) Dijkstra对松弛条件的变形
查看>>