浏览器与服务器通信过程(HTTP协议)

这篇具有很好参考价值的文章主要介绍了浏览器与服务器通信过程(HTTP协议)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1 概念

2 常见的 web 服务器有

3 浏览器与服务器通信过程

3.1 DNS

3.2 URL

4 HTTP请求方法和应答状态码

4.1 HTTP请求报文段实例

4.2 HTTP请求方法

5 HTTP应答报头和应答状态

5.1 HTTP的应答报头结构

5.2 HTTP的应答状态


1 概念

浏览器与 web 服务器在应用层通信使用的是 HTTP 协议(超文本传输协议),而 HTTP协议在传输层使用的是 TCP 协议。那么浏览器需要和 web 服务器三次握手建立连接后,才可以发送 HTTP 请求报文,服务器收到请求报文后,向浏览器回复 HTTP 应答报文

浏览器向服务器发起连接前,需要得到服务器的IP 及端口。用户在浏览器中通常只输入网址(网站域名)浏览器会通过 DNS 服务查询获取到服务器的 IP 地址。 对于端口来讲,使用 HTTP 协议的程序一般默认使用80 端口。

浏览器服务器建立连接后,如果两次以上的请求复用同一个 TCP 连接,则称之为长连接。如果浏览器发送次请求报文,服务器回复一次应答就断开连接,下次交互再重新进行三次握手建立连接,那么就被称作短连接。使用长连接显然是更好一些,可以减少网络中的同步报文,也使得服务器的响应速度变快。
http属于应用层,它在传输层使用的是tcp协议:

传输层协议:tcp 协议和udp协议;

浏览器与服务器通信过程(HTTP协议),计算机网络,http,网络协议,网络

2 常见的 web 服务器有

Apache: 简单、速度快、性能稳定,并可做代理服务器使用

llS(InternetInformation Server):安全性、强大、灵活

Nginx:小巧而高效,可以做高效的负载均衡反向代理

Tomcat:技术先进、性能稳定、免费

3 浏览器与服务器通信过程

浏览器与服务器通信过程(HTTP协议),计算机网络,http,网络协议,网络

(1)浏览器从URL中解析出服务器的主机名

(2)浏览器将服务器的主机名转换成服务器的!P地址;

(3)浏览器将端口号(如果有的话)从URL中解析出来

(4)浏览器建立一条与Web服务器的TCP连接:

(5)浏览器向服务器发送一条HTTP请求报文

(6)服务器向浏览器回送一条HTTP响应报文

(7)关闭连接,浏览器显示文档; 

3.1 DNS

域名系统(英文:Domain Name system,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用UDP端口53。

浏览器要将URL解析为IP地址,解析域名就要用到DNS协议,首先主机会査询DNS的缓存,如果没有就给本地DNS发送查询请求。DNS查询分为两种方式,一种是递归查询,一种是迭代查询。如果是迭代查询,本地的DNS服务器,向根域名服务器发送査询请求,根域名服务器告知该域名的一级域名服务器,然后本地服务器给该一级域名服务器发送査询请求,然后依次类推直到査询到该域名的IP地址。DNS服务器是基于UDP的,因此会用到UDP协议。

3.2 URL

URL:统一资源定位符,URL是资源标识符最常见的形式

URL描述了一台特定服务器上某资源的特定位置,它们可以明确说明如何从一个精确,固定的位置获取资源

浏览器与服务器通信过程(HTTP协议),计算机网络,http,网络协议,网络

了解URI:统一资源标识符(现在,几乎所有的URI都是URL);

URI的第二种形式就是统一资源名(URN) 

4 HTTP请求方法和应答状态码

HTTP请求报头结构

浏览器与服务器通信过程(HTTP协议),计算机网络,http,网络协议,网络

4.1 HTTP请求报文段实例

浏览器与服务器通信过程(HTTP协议),计算机网络,http,网络协议,网络

index.html指定资源文件的名称,这里指的是服务器根目录(站点的根目录,而不是服务器的文件系统根目录"/"中的索引文件.


注意:Keep-Alive首部只是请求将连接保持在活跃状态.发出keep-alive请求之后,客户端和服务器端并不一定会统一进行keep-alive会话,它们可以在任意时刻关闭空闲的keep-alive连接,并可随意限制keep-alive连接所处理事务的数量. 

4.2 HTTP请求方法

浏览器与服务器通信过程(HTTP协议),计算机网络,http,网络协议,网络

5 HTTP应答报头和应答状态

5.1 HTTP的应答报头结构

浏览器与服务器通信过程(HTTP协议),计算机网络,http,网络协议,网络

5.2 HTTP的应答状态

浏览器与服务器通信过程(HTTP协议),计算机网络,http,网络协议,网络文章来源地址https://www.toymoban.com/news/detail-840438.html

到了这里,关于浏览器与服务器通信过程(HTTP协议)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 为chrome浏览器单独设置代理服务器

    默认的chrome浏览器的代理服务器都是采用的PC设置, 但是有的时候在某一些情况下我们不希望使用PC的设置, 懂得都懂,那就需要让chrome不走PC的代理 只要下载一个chrome的插件, proxyswitchOmega, 然后设置好代理,enable这个插件就可以了 插件下载地址国内的可以用如下地址:

    2024年02月11日
    浏览(83)
  • 服务器上配置jupyter并使用浏览器远程连接

    执行两条安装命令: 通过这个命令创建就在**~/.jupyter/**下面生成了配置文件jupyter_notebook_config.py 输入的密码会保存到 .jupyter/jupyter_notebook_config.json文件中 在配置文件~/.jupyter/jupyter_notebook_config.py中找到下面几行修改并且取消注释 建立一个目录workspace作为jupyter的工作环境,并启

    2024年02月09日
    浏览(39)
  • 使用ssh隧道连接远程服务器本地浏览器上网

    1,终端输入命令 ssh -N -D 127.0.0.1:8080 remote_server_name@remote_server_ip_address remote_server_name 参数是远程服务器的用户名 remote_server_ip_address 参数是远程服务器的IP地址 -N 参数表示只建立 SSH 连接,而不启动远程 shell。通常用于只想建立端口转发或隧道的情况下,以避免不必要的远程

    2024年02月13日
    浏览(36)
  • nodejs配置express服务器,运行自动打开浏览器

    查看专栏目录 Network 灰鸽宝典专栏主要关注服务器的配置,前后端开发环境的配置,编辑器的配置,网络服务的配置,网络命令的应用与配置,windows常见问题的解决等。 作为前端开发的项目,有的时候打包完后就想在本地测试是什么样子的,另外一些如cesium等程序,需要在

    2024年02月04日
    浏览(40)
  • 电脑有网但是浏览器无法连接到服务器

    一、将服务器的IP地址和DNS地址设置为自动获取 。 1、鼠标右键点击网络,打开“网络和Internet设置”  2、打开“更改适配器选项” 3、选择电脑此时连接的网络,右键点击选择“ 属性 ”  4、双击选择 Internet协议版本4(TCP/IPv4) 5、将下面这两项都选为 自动获得。    5、一路点

    2024年02月05日
    浏览(32)
  • 云服务器配合CookieCloud插件,实现浏览器网站Cookie同步

      CookieCloud是由方糖开发的一个浏览器网站Cookie同步工具,Cookie是一个可以短时间代表我们登录身份的凭证,CookieCloud同步Cookie其实就是在同步登录状态,由一个浏览器插件和一个可以自行搭建的服务器端组成,可以定时地、在本地加密后把Cookie传输到服务器,然后就可以在很

    2024年02月07日
    浏览(38)
  • 在外web浏览器远程访问jupyter notebook服务器详细教程

    Jupyter Notebook,它是一个交互式的数据科学和计算环境,支持多种编程语言,如Python、R、Julia等。它在数据科学、机器学习、深度学习、教育和文档编写等领域都有很广泛的应用。 重要的是,Jupyter Notebook可以在Web浏览器中使用,所以我们可以在服务器端开启服务,在外通过网

    2024年02月12日
    浏览(35)
  • 本地浏览器查看--服务器上运行的可视化,如tensorboard

    特别提醒 :注意看 本地 端和 服务器 端 解释 :将服务器的6008端口 映射 到本地的6008端口,-p  443  是你服务器上的IP后面紧跟的那个端口,root是自己的服务器名字 参考: 在远程服务器上使用tensorboard方法_tensorboard远程服务器-CSDN博客 本地查看服务器端运行的Tensorboard方法

    2024年01月16日
    浏览(39)
  • 在外web浏览器远程访问jupyter notebook服务器【内网穿透】

    转载自远控源码文章:公网远程访问jupyter notebook【cpolar内网穿透】 Jupyter Notebook,它是一个交互式的数据科学和计算环境,支持多种编程语言,如Python、R、Julia等。它在数据科学、机器学习、深度学习、教育和文档编写等领域都有很广泛的应用。 重要的是,Jupyter Notebook可以

    2023年04月12日
    浏览(81)
  • Web网页浏览器远程访问jupyter notebook服务器【内网穿透】

    Jupyter Notebook,它是一个交互式的数据科学和计算环境,支持多种编程语言,如Python、R、Julia等。它在数据科学、机器学习、深度学习、教育和文档编写等领域都有很广泛的应用。 重要的是,Jupyter Notebook可以在Web浏览器中使用,所以我们可以在服务器端开启服务,在外通过网

    2024年02月12日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包