连接tcp,ip协议,http

http://hao123.com  时间:2021-03-01  阅读:()

编号_______________

本资料为word版本可以直接编辑和打印感谢您的下载tcp, ip协议,http甲 方___________________

乙 方___________________

日 期___________________

tcp, ip协议,http

篇一 h tt p协议基础及tc p-i p协议解析

1 、 http协议http(hypertexttran sferprotocol) 是一套计算机通过

网络进行通信的规则。计算机专家设计出 h tt p使h tt p客

户(如web浏览器)能够从http服务器(web服务器)请求信息和服务 http目前协议的版本是l . l .http是一种无状态的协议无状态是指web浏览器和web服务器之间不需要建立持久的连接这意味着当一个客户端向服务器端发出请求然后web服务器返回响应(response),连接就被关闭了在服务器端不保留连接的有关信息 .http遵循请求(Request)/

应答(Response)模型。web浏览器向web服务器发送请求 web服务器处理请求并返回适当的应答。 所有h tt p连接都被

构造成一套请求和应答。http通信机制是在一次完整的 http通信过程中 web

浏览器与web服务器之间将完成下列 7个步骤

(1)建立tcp连接

在h tt p工作开始之前 w e b浏览器首先要通过网络与web服务器建立连接,

该连接是通过tcp来完成的该协议与ip协议共同构

建internet  即著名的tcp/ip

协议族 因此internet乂被称作是tcp/ip网络。 http是比tcp更高层次的应用

层协议根据规则只有低层协议建立之后才能进行更高层协议的连接 因此

先要建立tcp连接一般tcp连接的端口号是80

(2) web浏览器向web服务器发送请求命令

一旦建立了tcp连接web浏览器就会向web服务器发送请求命令

例如:get/sample/hel lo.jsphttp/1 .1

(3) web浏览器发送请求头信息

浏览器发送其请求命令之后还要以头信息的形式向web服务器发送一些别的

信息之后浏览器发送了一空白行来通知服务器它已经结束了该头信息的发

送。

(4) web服务器应答

客户机向服务器发出请求后服务器会客户机回送应答http/1.1200ok

应答的第一部分是协议的版本号和应答状态码

(5) web服务器发送应答头信息

正如客户端会随同请求发送关于自身的信息一样服务器也会随同应答向用户

发送关于它自己的数据及被请求的文档。

(6) web服务器向浏览器发送数据web服务器向浏览器发送头信息后它会发送一个空白行来表示头信息的发送

到此为结束接着它就以content-type应答头信息所描述的格式发送用户所

请求的实际数据

(7) web服务器关闭tc p连接

一般情况下一旦web服务器向浏览器发送了请求数据它就要关闭tcp连接

然后如果浏览器或者服务器在其头信息加入了这行代码connection:keep-al ivetcp连接在发送后将仍然保持打开状态于是浏览器可以继续通过相同的连

接发送请求。保持连接节省了为每个请求建立新连接所需的时间还节约了网

络带宽。

http请求格式

当浏览器向web服务器发出请求时它向服务器传递了一个数据块也就是请

求信息 http请求信息由3部分组成l请求方法uRi协议/版本l请求头(Requestheader)l请求正文

FoRexample:get/sample.jsphttp/1.1accept: image/gif. image/jpeg,*/*accept-language:zh-cnconnection:keep-al ivehost: local hostuser-agent:mozi la/4.0(compatible;msie5.01;windownt5

.0)accept-encoding:gzip,deflateusername=jinqiaosocket是发动机提供了网络通信的能力。对于从c#编程的角度来讲为了方便你可以直接选择已经制造好的轿车 http来与服务器交互。但是有时候往

往因为环境因素或者其他的一些定制的请求必须要使用tcp协议这时就需

要使用socket编程然后自己去处理获取的数据。就像是你用已有的发动机自己造了一辆卡车 去从服务器交互。http/1.0和http/1.1都把tcp作为底层的传输协议。 http客户首先发起建立与服务器 tcp连接。一旦建立连接

浏览器进程和服务器进程就可以通过各自的套接字来访问tcp。如前所述客户端套接字是客户进程和 tcp连接之间

的“门”服务器端套接字是服务器进程和同一 tcp连接之

间的“门”。客户往自己的套接字发送 http请求消息也从

自己的套接字接收http响应消息。类似地服务器从自己的套接字接收http请求消息也往自己的套接字发送 http

响应消息。客户或服务器一旦把某个消息送入各自的套接字 这个消息就完全落入tcp的控制之中。 tcp给http提供一个可靠的数据传输服务这意味着由客户发出的每个 http请求

消息最终将无损地到达服务器 由服务器发出的每个 http

响应消息最终也将无损地到达客户。c#代码连接远程数据库用的是 tcp协议。每次new一个connection 的时候 connection.open就打开了这个 tcp连 接。connection.close 的时候就关闭了这个连接。 Ftp的底

层也是tcp,不过是长连接的。传输大文件比较快。需要看具体场景。在服务器端如果程序是采取的长连接的方式 那么就能控制同时连接到这个服务器的

连接个数防止同时有多个连接。但是采取短连接的方式那么就不能控制同时

连接到这个服务器上的连接的个数这也是一个优点可以同时处理大虽连接请求。但是如果连接请求虽太大的话可能造成服务器停止工作。webservice不需要连接一秒中至少可以支持上万 /十

万的请求每次请求然后释放没有空余的内存消耗。一般不会限制同时连接的个数 这是优势。messagequeue需要建

立连接支持上千的连接就很吃力了。因为每个连接即使没有在请求数据也会在内存中占用一定的空间存储。 会限制

比如sqlserver数据库服务器一般最多同时连接 16个。http协议一定通过指定的端口 80,所以一般计算机上

不会限制这个端口所以http协议能够顺利通过所有机器上的防火墙。而使用socket编程的话就需要自己指定特定的端口那么很可能这个端口是在某个环境中禁用的那么就无法穿透防火墙。 i is使用的是80端口也就是这个程序一直在监听着这个端口。一旦发现有人要建立到这个端口的连接他就会响应然后建立连接。这里说的连接都是短连接。所以你对服务器上的网址的请求都是通过 80端口

送到网站程序的。然后通过这个端口发送的客户端浏览器。

篇三 tcp协议http协议理解tcp协议为何要三次握手

本来这是一个早已失效的报文段。但 server收到此失

效的连接请求报文段后就误认为是 cl ient再次发出的一

个新的连接请求。于是就向cl ient发出确认报文段 同意

建立连接。假设不采用“三次握手”那么只要server发出

确认新的连接就建立了。 由于现在cl ient并没有发出建

立连接的请求 因此不会理睬 server的确认也不会向server发送数据。但server却以为新的运输连接已经建立

并一直等待cl ient发来数据。这样 server的很多资源就

白白浪费掉了。采用“三次握手”的办法可以防止上述现象

发生。例

如刚才那种情况 cl ient不会向server的确认发出确

认。 server由于收不到确认就知道cl ient并没有要求建

立连接。 ”。主要目的防止server端一直等待浪费资源。tcp协议为何要四次挥手

由于tcp连接是全双工的 因此每个方向都必须单独进

行关闭。这个原则是当一方完成它的数据发送任务后就能发

送一个Fin来终止这个方向的连接。收到一个

Fin只意味着这一方向上没有数据流动一个tcp连接

在收到一个Fin后仍能发送数据。首先进行关闭的一方将执行主动关闭而另一方执行被动关闭。

(1) 客户端a发送一个Fin用来关闭客户a到服务器

b的数据传送(报文段4)。

(2)服务器b收到这个Fin它发回一个ack,确认序

号为收到的序号加1 (报文段5)。和syn一样一个Fin将

占用一个序号。

3 服务器b关闭与客户端a的连接发送一个Fin给客户端a 报文段6 。

4 客户端a发回ack报文确认并将确认序号设置为收到序号加1

报文段7

为什么建立连接协议是三次握手而关闭连接却是四次握手呢

这是因为服务端的l isten状态下的socket当收到syn报文的建连请求后它可以把ack和syn ack起应答作用 而syn起同步作用放在一个报文里来发送。但关闭连接时 当收到对方的Fin报文通知时它仅仅表示对方没有数据发送给你了但未必你所有的数据都全部发送给对方了所以你可以未必会马上会关闭 socket,也即你可能还需要发送一

些数据给对方之后再发送 Fin报文给对方来表示你同意现

在可以关闭连接了所以它这里的 ack报文和Fin报文多数

情况下都是分开发送的。http协议

客户端用g et或post开始服务器回h tt p/1 .1200ok.

一个页面的打开有多个g et或post ,所以也会有多个htt p/1.1200ok.

DMIT:香港国际线路vps,1.5GB内存/20GB SSD空间/4TB流量/1Gbps/KVM,$9.81/月

DMIT怎么样?DMIT是一家美国主机商,主要提供KVM VPS、独立服务器等,主要提供香港CN2、洛杉矶CN2 GIA等KVM VPS,稳定性、网络都很不错。支持中文客服,可Paypal、支付宝付款。2020年推出的香港国际线路的KVM VPS,大带宽,适合中转落地使用。现在有永久9折优惠码:July-4-Lite-10OFF,季付及以上还有折扣,非 中国路由优化;AS4134,AS4837 均...

Sharktech$129/月,1Gbps不限流量,E5-2678v3(24核48线程)

Sharktech最近洛杉矶和丹佛低价配置大部分都无货了,只有荷兰机房还有少量库存,商家又提供了两款洛杉矶特价独立服务器,价格不错,CPU/内存/硬盘都是高配,1-10Gbps带宽不限流量最低129美元/月起。鲨鱼机房(Sharktech)我们也叫它SK机房,是一家成立于2003年的老牌国外主机商,提供的产品包括独立服务器租用、VPS主机等,自营机房在美国洛杉矶、丹佛、芝加哥和荷兰阿姆斯特丹等,主...

香港服务器租用多少钱一个月?影响香港服务器租用价格因素

香港服务器租用多少钱一个月?香港服务器受到很多朋友的青睐,其中免备案成为其特色之一。很多用户想了解香港云服务器价格多少钱,也有同行询问香港服务器的租赁价格,一些实际用户想要了解香港服务器的市场。虽然价格是关注的焦点,但价格并不是香港服务器的全部选择。今天小编介绍了一些影响香港服务器租赁价格的因素,以及在香港租一个月的服务器要花多少钱。影响香港服务器租赁价格的因素:1.香港机房选择香港机房相当于选择...

http://hao123.com为你推荐
如何免费开通黄钻如何免费开通黄钻深圳公交车路线深圳公交车路线个性qq资料`谁有最新 最有个性的QQ个性资料二叉树遍历二叉树三种遍历方式原则?商标注册查询官网如何在网上查询商标是否注册?云挂机云挂机每天2+元你提了吗?网站优化方案网站优化方案怎么写?blogcn南京明城墙(太平门一带某些地区)的城砖上为什么会有一些小洞(每块砖两个洞洞……)?网页窗口最大化怎样才能打开网页窗口自己最大化小米什么时候抢购小米再一次抢购在什么时候?!
海外域名注册 免费申请网站域名 免费申请域名 hawkhost NetSpeeder 商务主机 浙江独立 本网站服务器在美国 美国在线代理服务器 免费高速空间 umax120 web服务器安全 常州联通宽带 下载速度测试 ledlamp 域名和主机 小夜博客 月付空间 机柜尺寸 服务器是什么 更多