前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >网络基础 HTTP协议之http url简介

网络基础 HTTP协议之http url简介

作者头像
授客
发布2019-09-11 10:02:56
6080
发布2019-09-11 10:02:56
举报
文章被收录于专栏:授客的专栏授客的专栏

http url简介

http url通过http协议,用于定位网络资源,是一种特殊类型的URI(统一资源定位)

http_url = http://host[:port][abs_path[?query]]

说明:

host:合法的主机名或ip地址

port:端口,缺省为80

abs_path:指定请求资源的URI,如果URL中没给出abs_path,那么当它被当作资源请求的URI使用时必须以“/”的形式给出,通常浏览器自动帮我们完成了,如果abs_path为空,则等同于值为“/”的abs_path

例如

1. 浏览器输入http://www.fjou.tmc,浏览器自动转换为http://www.fjou.tmc/

2. http://192.168.206.8:8080/jsp/setNotice.jsp

url访问过程

以以下过程为例,对HTTP的操作过程进行说明

例子:浏览器中打开一个网页,比如http://ishouke.blog.sohu.com,然后关闭浏览器。

操作过程:

1. 预处理操作(比如查找缓存,分析连接指向的页面URL)以及等待网络连接可用

2. DNS查找:浏览器进程调用解析程序,成为DNS的一个客户,把待解析的域名ishouke.blog.sohu.com,放在DNS请求报文中,以UDP用户数据报方式发给本地域名服务器。本地域名服务器在查找域名后,把对应的IP地址放在回答报文中返回。浏览器进程获得域名对应的的IP地址后才能进行通信

注意:若本地域名服务器不能回答该请求,则此域名服务器暂时成为DNS中的另一个客户,并向其它域名服务器发出查询请求。这种过程直到找到能够回答该请求的域名服务器为止。

3. 建立TCP连接

浏览器找到主机ip,即域名ishouke.blog.sohu.com对应的ip地址地址后,向服务器发送TCP请求报文,请求建立TCP连接。

服务器有一个服务进程,不断的监听TCP的端口80,以便发现是否有建立连接的请求。建立过程也就是所谓的“3次握手”,如图

4. 发送HTTP请求报文

一旦监听到连接建立请求并建立了TCP连接之后,浏览器向web服务器发出浏览某个页面的请求,即获取文件指令,比如:

get http://ishouke.blog.sohu.com/

get http://ishouke.blog.sohu.com/page/widget.do?ebi=506e9d91a2&m=view&

type=categories

5. 发送HTTP响应报文

服务器收到浏览器发送的HTTP请求报文后,返回请求的页面作为响应.

6. 浏览器展示返回的页面

7. 释放TCP连接

浏览器关闭web页面后,释放TCP连接,释放过程也就是所谓的4次挥手

说明:

1.HTTP协议使用了面向连接的TCP作为运输层协议,保证了数据的可靠传输。HTTP不必考虑数据在传送过程中被丢弃后又怎样重传。但是,HTTP协议本身是无连接的。这就是说,虽然HTTP使用了TCP连接,但通信的双方在交换HTTP报文之前不需要建立HTTP连接。

2.HTTP协议是无状态的,也就是说,同一个客户第二次访问同一个服务器上的页面时,服务器的响应和第一次被访问时的相同(假定被访问页面未更新),服务器并不记得曾经访问过的这个客户,也不记得为该客户服务过多少次。HTTP的无状态特性简化了服务器的设计,以便支持大量并发的HTTP请求。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2014-12-04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档