HTTP 学习笔记(一)基础

参考书籍:《HTTP图解》


1. HTTP的来源

HTTP是HyperText Transfer Protocol的缩写,翻译为超文本传输协议,但这种译法不严谨,严谨译法为超文本转移协议。最初设想基本理念是:借助文档的相互关联形成超文本,连成可相互参阅的WWW。现在已提出的三项WWW构建技术:本文的标记语言HTML【ML是标置语言,GML作为第一代ML,在GML基础上整理出SGML,基于SGML抽取子集生成HTML,XML,…】,作为文档传递协议HTTP,指定文档所在位置URL。

2. TCP/IP协议族

  1. 概要:TCP/IP协议族是指利用 IP 进行通信时所必须用到的协议群的统称。具体来说,IP 或 ICMP、TCP 或 UDP、TELNET 或 FTP、以及 HTTP 等都属于 TCP/IP 协议。他们与 TCP 或 IP 的关系紧密,是互联网必不可少的组成部分。TCP/IP 一词泛指这些协议,因此,有时也称 TCP/IP 为网际协议群。
  2. 分层管理:计算机网络体系结构分层,包含OSI七层模型和TCP/IP概念层模型。TCP/IP分为四层:(1)应用层:决定了向用户提供应用服务时通信的活动,预存了各类通用的应用服务【如,FTP,DNS,HTTP,SNMP,Telnet,…】(2)传输层:为上层提供处于网络连接中的两台计算机之间的数据传输,有两种性质不同协议【有连接服务TCP,无连接服务UDP】(3)网络层:为数据包选择传输路线(路由选择),包含协议【IP,ICMP,RIP,OSPF,BGP,IGMP】(4)链路层:用来处理连接网络的硬件部分。
  3. TCP/IP网络通信传输流:(HTTP)发送端将HTTP数据自上而下添加首部进行封装,安全可靠传输到接受端,而后自下而上消除首部解封装数据。a. 应用层处理:应用程序进行编码处理,交给传输层;b. 传输层,TCP根据应用指示,负责建立连接,传输数据,断开连接,在建立连接时三次握手确保数据能到达,在传输数据时将应用层数据分割传输,在断开连接时四次握手确保连接资源不浪费。c. 网络层,IP通过路由表和路由算法得到数据传输的路线,负责数据的端到端的传输。d. 链路层,根据ARP协议通过IP得到MAC地址,确定数据链路传输数据。【可能不准确,具体参见《计算机网络》】

3. HTTP相关知识

  1. DNS协议:简单,提供域名到IP地址之间的解析服务。
  2. Web访问过程:a. 输入网址;b. 解析域名,先查询浏览器本地缓存,在查询DNS服务器,DNS服务器有多层,具体查询方式不讲述;c. 得到IP地址,加在HTTP请求报文中,提交给传输层;d. 传输层将数据进行分段,并加上首部交给网络层;e. 网络层为传输层提供传输服务,将TCP数据加上首部进行传输,路由器转发,省去数据层细节,传输到服务器网络层,进行解封;f. 在传输层将片段按顺序重组形成HTTP数据报交给服务器应用层进行处理和反馈。
  3. URL和URI:URL 统一资源定位符(uniform resource locator),URI 统一资源标识符(uniform resource identifier)。URI用字符串表示某一互联网资源,是由某个协议方案表示的资源的定位标识符,采用HTTP协议时,其协议方案就是http。URL是URI的一个特例,用于定位Web资源。在java类库中,URI不包含访问资源的方法,唯一作用是解析;URL类可以打开一个到达资源的流。
    URL格式:(登录信息,查询字符串,片段标识符为可选项)在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值