网络编程(三)

HTTP

HTTP协议

Content-Type指示响应的内容,浏览器依靠其判断响应的内容是网页还是图片。
HTTP使用URI来传输数据和建立连接。
URI是统一资源标识符,URL是统一资源定位符,URI分为URL和URN,统一资源名称。

URL

一个完整的URL包括以下几个部分
http://www.enjoyedu.com:8080/news/index.asp?boardID=5&ID=24618&page=1#name

  1. 协议部分:该URL的协议部分是http:
  2. 域名部分:该URL的域名为:www.enjoyedu.com。一个URL中,也可以使用IP地址作为域名使用 。
  3. 端口部分:跟着域名后的是端口,如果省略,使用默认端口。
  4. 虚拟目录,第一个/开始到最后一个/为止。
  5. 文件名部分,从最后一个/到?为止。本域名为index.asp
  6. 锚部分:从#到最后,本域名为name
  7. 参数部分,从?到#之间的部分。
一次完整的http请求过程
  1. 进行DNS域名解析(先从本地浏览器缓存,操作系统缓存或DNS服务器中查找)
  2. 建立TCP连接,三次握手
  3. 客户端向服务器发送请求命令
    如:GET/sample/hello.jsp HTTP/1.1
  4. 客户端发送请求头信息
    发送请求命令后,还需要以头信息的形式向服务器发送一些别的信息。之后客户端发送了一行空白行来通知服务器,已经结束了该头信息的发送。
  5. 服务器应答
    如HTTP/1.1 200 OK
  6. 服务器返回响应头信息
  7. 服务器向客户端发送数据
    会发送一个空白行来表示头信息的发送到此为结束,接着,以Cotent-Type响应头信息所描述的格式发送用户所请求的实际数据。
  8. 服务器关闭TCP连接
    如果客户端或服务器在头信息中加入了Connection:keep-alive,TCP将保持长连接,节约了新连接所需的时间,还节约的网络带宽。
HTTP协议报文结构

在这里插入图片描述
请求报文结构:

响应报文结构:
在这里插入图片描述

UDP协议

UDP是面向无连接的通讯协议,包括目的端口号和源端口号信息,由于通讯不需要连接,所以可以实现广播发送。
其和TCP位于同一层,但不管数据包的顺序,错误和重发,因此主要用于面向查询,应答的服务,相比ftp或Telnet,这些服务需要交换的信息量较小。
TCP侧重于可靠传输。
UDP侧重于高速传输和实时性要求较高的通信。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值