网络编程面试题

这篇博客详细介绍了网络编程面试中常见的问题,包括URL的形式、网络七层模型、HTTP请求头、TCP/IP协议相关概念,如三次握手、四次挥手、TIME-WAIT状态,以及HTTP和HTTPS的区别。此外,还讨论了Cookie与Session、POST和GET请求的区别,以及浏览器访问网站的完整流程。对于网络编程初学者和面试准备者来说,这是一个全面的知识点梳理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

url的形式

形式 scheme://host[:port#]/path/…/[?query-string][#anchor]
scheme:协议(例如:http,https,ftp)
host:服务器的IP地址或者域名
port:服务器的端口(如果是走协议默认端口,80 or 443)
path:访问资源的路径
query-string:参数,发送给http服务器的数据

七层模型

物理层:实际最终信号的传输是通过物理层实现的。通过物理介质传输比特流。规定了电平、速度和电缆针脚。常用设备有(各种物理设备)集线器、中继器、调制解调器、网线、双绞线、同轴电缆。这些都是物理层的传输介质。
数据链路层: 将比特组合成字节,再将字节组合成帧,使用链路层地址 (以太网使用MAC地址)来访问介质,并进行差错检测。数据链路层又分为2个子层:逻辑链路控制子层(LLC)和媒体访问控制子层(MAC)。
网络层:IP选址和路由选择。ICMP IGMP IP(IPV4 IPV6) ARP RARP
传输层:建立、管理和维护端到端的连接。TCP UDP
会话层:建立、管理和维护会话
表示层:数据格式转换、数据加密
应用层:为应用程序提供服务。HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP

HTTP常见请求头

Accept 设置接受的内容类型 Accept: text/plain
Accept-Charset 设置接受的字符编码 Accept-Charset: utf-8
Accept-Encoding 设置接受的编码格式 Accept-Encoding: gzip, deflate
Accept-Datetime 设置接受的版本时间 Accept-Datetime: Thu, 31 May 2007 20:35:00 GMT
Accept-Language 设置接受的语言 Accept-Language: en-US
Authorization 设置HTTP身份验证的凭证 Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Cache-Control 设置请求响应链上所有的缓存机制必须遵守的指令 Cache-Control: no-cache
Connection 设置当前连接和hop-by-hop协议请求字段列表的控制选项 Connection: keep-alive Connection: Upgrade
Content-Length 设置请求体的字节长度 Content-Length: 348
Content-MD5 设置基于MD5算法对请求体内容进行Base64二进制编码 Content-MD5: Q2hlY2sgSW50ZWdyaXR5IQ==
Content-Type 设置请求体的MIME类型(适用POST和PUT请求) Content-Type: application/x-www-form-urlencoded
Cookie 设置服务器使用Set-Cookie发送的htt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值