对于应用层HTTP协议的学习

<start>

在TCP/IP协议栈中,HTTP协议处于应用层,它在最顶层进行数据报转发给应用进程,它是最靠近用户的那一层。它的默认端口号为80。

HTTP协议是基于请求响应的协议,那么在传输中就会有标识等,像其他协议一样,HTTP协议也有属于自己的报头,因为它是基于请求响应的,所以报头分为请求报头,响应报头。

以下就是请求报头与响应报头的格式:

在请求报头中分三到四部分,因为正文部分可能是没有的,但是前三部分是一定存在的。在请求行中,分为请求方法,url,http版本号三部分。请求方法有很多种,但是在当前很多浏览器中支持最广泛的就是GET/POST这两种方法。

url 叫做统一资源定位符,用来表示从因特网上得到的资源位置和访问这些资源的方法。

空行是报头与有效载荷分隔的符号,必须存在。

正文则是根据请求方确定。

响应报头主要分为状态行,响应报头,空行和响应正文四部分,与请求报头相似,响应正文也可存在可不存在。

状态行分为HTTP版本号,状态码,以及状态码解释。目前常用的版本号为HTTP/1.1,状态码则分为五类,

1XX,2XX,3XX,4XX,5XX。404很常见,它表示请求的资源无法找到,通常显示为Not Found。而这个Not Found就叫做状态码解释。

空行同样是响应报头与有效载荷的分隔符。

HTTP协议定义了浏览器如何向www服务器请求文档,以及服务器如何把文档传送给浏览器。HTTP报文通常使用下层的TCP次协议连接传送。它本身是无连接的,虽然使用了TCP连接,但是在每次发http报文之前不需要建立连接,并且它是无记录的,每次发送都需要重新建立连接,由此非常浪费时间与资源,因此发布http/1.1版本,它使用持续连接,保持服务器在发送响应的一段时间后能够保持这条连接。

比较重要的一点是需要弄清当在链接栏输入一个域名或者IP地址点击回车之后发生了哪些事情。

  • 首先浏览器会解析链接栏里的URL
  • 浏览器请求DNS服务帮忙解析URL的IP地址
  • 当DNS解析出IP地址后就会返回给浏览器
  • 浏览器会对该IP地址的服务器提出 建立TCP连接
  • 服务器同意建立,浏览器发出HTTP请求,告诉对方我要以什么方式取什么资源
  • 服务器同意请求并给出响应,将资源发送给浏览器
  • TCP连接关闭
  • 浏览器将正文显示给用户

这一大串看起来繁琐的动作就是在点击浏览器之后后台所做的一切。

理解还需进一步加深,才能更好的理解浏览器一起服务器的工作方式。

<end>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值