存档

‘network’ 分类的存档

TCP Close 流程

2012年4月28日 没有评论

TCP CLOSE流程

特征

u       发送一个FIN报文表示结束本端数据的发送,但是还可以接收数据,称之为半关闭

u       TCP是一个全双工的协议,两端全部close才完成了一个连接的关闭;

u       首先发起close(发送FIN),我们称之为主动关闭,对端的close我们称为被动关闭;

u       同时关闭;

 

半关闭

发送一个FIN报文表示结束本端数据的发送,继续接收对端发送的数据的状态,我们称之为半关闭。通过调用shutdown可以实现这个目的。

 

主动关闭

前提

应用层知道连接的存在:1、客户端已经发起connect2、服务器已经accept一个连接

 

初品

TCP各状态下,主动关闭时状态迁移分析:

1、  本端还没有收到对端的SYN报文报文(状态为CLOSED, LISTEN, SYN_SENT),直接释放TCP连接和SOCKET资源;

2、  本端已经接收到对端的SYN报文,但是之前没有关闭连接的动作(SYN_RCVD, ESTABLISHED状态),发送FIN报文给对端,状态转为FIN_WAIT_1

3、  对端已经关闭连接(half-close),本端还没有关闭(CLOSE_WAIT状态),发送FIN报文给对端,状态转为LAST_ACK

4、  本端已经发送FIN报文,连接还没有完全关闭(其他状态),保持状态不变,不做任何操作。

 

细尝

 

情况1已经完成了关闭TCP连接的过程,情况3属于被动关闭,在后续章节再仔细分析,情况4没有改变状态,因此就情况2后的细节进行分析。

现在连接已经处于FIN_WAIT_1状态,那么:

1、  接收到FINACK报文,进入FIN_WAIT_2状态,等待对端关闭连接;

2、  接收对端的FIN/ACK报文, 发送ACK,进入TIME_WAIT状态,2MSL时间后丢弃连接(先处理ACK,再处理FIN);

3、  接收到对端的FIN,回ACK,进入CLOSING状态(同时关闭,后续章节分析);

4、  FIN发送超时,连续若干次发送失败,丢弃连接;

5、  接收到对端的RST报文,丢弃连接。

 


概念:
TIME_WAIT状态又成为  2MSL状态,一个主动关闭的连接在进入TIME_WAIT状态后,必须等待2MSL的时间后再关闭,防止最后发送的ACK丢失。

深究

Ø      FIN_WAIT_2状态

FIN_WAIT_2是一个等待状态,可能:

1、  对端仍有数据需要发送,等待接收对端的数据;

2、  对端发送FIN报文,回ACK,进入TIME_WAIT状态;

3、  对端因意外崩溃导致不能发送FIN报文过来,连接一直僵死到inactive超时为止;

如果在一个系统资源紧张的系统中,出现情况2是不可饶恕的问题。如何解决?启动2MSL定时器,在这段时间还没有接收到对端的FIN报文直接丢弃连接。

Ø      2MSL等待状态

 

注意点:

12MSL是基于IP报文的跳数,而不是时间;

2、当TCP处于2MSL状态,不可以创建同一连接;

 

 

被动关闭

 

这里研究接收到对端发送过来的FIN报文处理的情况,包括但不限于被动关闭:

1、  本端没有发送和接收过FIN报文(SYN_RCVDESTABLISHED状态),回ACK,进入CLOSE_WAIT状态,等待应用程序关闭;

2、  本端已经发送过FIN报文但没有被确认(FIN_WAIT_1状态),进入CLOSING状态(同时关闭);

3、  本端已经发送过FIN报文并被确认(FIN_WAIT_2状态),进入TIME_WAIT状态;

4、  连接已主动关闭但没有丢弃(TIME_WAIT状态),说明对端没有收到ACK,重传ACK,并重启2MSL定时器;

5、  其他状态下不处理。

 

总结

为了方便理解状态的变迁,不妨认为SYN报文表明发送者想发送数据,FIN报文表明发送者停止发送报文。所以SYN_SENT状态只能主动发送FIN,而SYN_RCVD状态下即可发送FIN,也可以接收FIN

 


分类: network 标签:

VLAN的通讯:单臂路由配置实例

2011年5月16日 没有评论

在学习单臂路由的配置之前,建议大家先学好VLAN,起码要知道VLAN是怎么配置的,这样学单臂路由就轻松多了。

先来了解一下什么是单臂路由,为什么要用到单臂路由。VLAN(虚拟局域网)技术是路由交换中非常基础的技术。在网络管理实践中,通过在交换机上划分适当数目的vlan,不仅能有效隔离广播风暴,还能提高网络安全系 数及网络带宽的利用效率。划分vlan之后,vlan与vlan之间是不能通信的,只能通过路由或三层交换来实现。我们知道路由器实现路由功能通常是数据 报从一个接口进来然后另一个接口出来,现在路由器与交换机之间通过一条主干现实通信或数据转发,也就是说路由器仅用一个接口实现数据的进与出,因为我们形 象地称它为单臂路由。单臂路由是解决vlan间通信的一种廉价而实用的解决方案。

下面请看图,PC-A和PC-B分别属于vlan10和vlan20,Switch2950是一个cisco的二层交换机,型号2950,欲实 现vlan10和vlan20的通信,我们要增加一个路由器来转发vlan之间的数据包,路由器与交换机之间使用单条链路相连(图中画红线),这条链路也 叫主干,所有数据包的进出都要通过路由器2600的f0/0端口来现实数据转发。

接下来,结合以上网络拓扑探讨一下单臂路由的配置。图中路由器是cisco的2600系列,交换机采用cisco的2950.

一、配置交换机

二、配置路由器

三、验证

最后配置PC-A和PC-B的IP地址和子网掩码,具体请看图。下面试试PC-A 主机 ping  PC-B主机。实验结果能Ping通,配置成功。

验结果能Ping通,配置成功。

分类: network 标签:

cisco命令大全

2011年5月12日 没有评论

收录最常用的Cisco命令分类如下:
cisco命令大全

1. switch配置命令
(1)模式转换命令
用户模式—-特权模式,使用命令”enable”
特权模式—-全局配置模式,使用命令”config t”
全局配置模式—-接口模式,使用命令”interface+接口类型+接口号”
全局配置模式—-线控模式,使用命令”line+接口类型+接口号”
注:
用户模式:查看初始化的信息.
特权模式:查看所有信息、调试、保存配置信息
全局模式:配置所有信息、针对整个路由器或交换机的所有接口
接口模式:针对某一个接口的配置
线控模式:对路由器进行控制的接口配置
(2)配置命令
show running config 显示所有的配置
show versin 显示版本号和寄存器值
shut down 关闭接口
no shutdown 打开接口
ip add +ip地址 配置IP地址
secondary+IP地址 为接口配置第二个IP地址
show interface+接口类型+接口号 查看接口管理性
show controllers interface 查看接口是否有DCE电缆
show history 查看历史记录
show terminal 查看终端记录大小
hostname+主机名 配置路由器或交换机的标识
config memory 修改保存在NVRAM中的启动配置
exec timeout 0 0 设置控制台会话超时为0
service password-encryptin 手工加密所有密码
enable password +密码 配置明文密码
ena sec +密码 配置密文密码
line vty 0 4/15 进入telnet接口
password +密码 配置telnet密码
line aux 0 进入AUX接口
password +密码 配置密码
line con 0 进入CON接口
password +密码 配置密码
bandwidth+数字 配置带宽
no ip address 删除已配置的IP地址
show startup config 查看NVRAM中的配置信息
copy run-config atartup config 保存信息到NVRAM
write 保存信息到NVRAM
erase startup-config 清除NVRAM中的配置信息
show ip interface brief 查看接口的谪要信息
banner motd # +信息 + # 配置路由器或交换机的描素信息
description+信息 配置接口听描素信息
vlan database 进入VLAN数据库模式
vlan +vlan号+ 名称 创建VLAN
switchport access vlan +vlan号 为VLAN为配接口
interface vlan +vlan号 进入VLAN接口模式
ip add +ip地址 为VLAN配置管理IP地址
vtp+service/tracsparent/client 配置SW的VTP工作模式
vtp +domain+域名 配置SW的VTP域名
vtp +password +密码 配置SW的密码
switchport mode trunk 启用中继
no vlan +vlan号 删除VLAN
show spamming-tree vlan +vlan号 查看VLA怕生成树议

2. 路由器配置命令
ip route+非直连网段+子网掩码+下一跳地址 配置静态/默认路由
show ip route 查看路由表
show protocols 显示出所有的被动路由协议和接口上哪些协议被设置
show ip protocols 显示了被配置在路由器上的路由选择协议,同时给出了在路由选择协议中使用的定时器等信息
router rip 激活RIP协议
network +直连网段 发布直连网段
interface lookback 0 激活逻辑接口
passive-interface +接口类型+接口号 配置接口为被动模式
debug ip +协议 动态查看路由更新信息
undebug all 关闭所有DEBUG信息
router eigrp +as号 激活EIGRP路由协议
network +网段+子网掩码 发布直连网段
show ip eigrp neighbors 查看邻居表
show ip eigrp topology 查看拓扑表
show ip eigrp traffic 查看发送包数量
router ospf +process-ID 激活OSPF协议
network+直连网段+area+区域号 发布直连网段
show ip ospf 显示OSPF的进程号和ROUTER-ID
encapsulation+封装格式 更改封装格式
no ip admain-lookup 关闭路由器的域名查找
ip routing 在三层交换机上启用路由功能
show user 查看SW的在线用户
clear line +线路号 清除线路

3. 三层交换机配置命令
配置一组二层端口
configure terminal 进入配置状态
nterface range {port-range} 进入组配置状态
配置三层端口
configure terminal 进入配置状态
interface {{fastethernet | gigabitethernet} interface-id} | {vlan vlan-id} | {port-channel port-channel-number} 进入端口配置状态
no switchport 把物理端口变成三层口
ip address ip_address subnet_mask 配置IP地址和掩码
no shutdown 激活端口
例:
Switch(config)# interface gigabitethernet0/2
Switch(config-if)# no switchport
Switch(config-if)# ip address 192.20.135.21 255.255.255.0
Switch(config-if)# no shutdown
配置VLAN
configure terminal 进入配置状态
vlan vlan-id 输入一个VLAN号, 然后进入vlan配态,可以输入一个新的VLAN号或旧的来进行修改。
name vlan-name 可选)输入一个VLAN名,如果没有配置VLAN名,缺省的名字是VLAN号前面用0填满的4位数,如VLAN0004是VLAN4的缺省名字
mtu mtu-size (可选) 改变MTU大小

Switch# configure terminal
Switch(config)# vlan 20
Switch(config-vlan)# name test20
Switch(config-vlan)# end

Switch# vlan database
Switch(vlan)# vlan 20 name test20
Switch(vlan)# exit
将端口分配给一个VLAN
configure terminal 进入配置状态
interface interface-id 进入要分配的端口
switchport mode access 定义二层口
switchport access vlan vlan-id 把端口分配给某一VLAN

Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# interface fastethernet0/1
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 2
Switch(config-if)# end
Switch#

配置VLAN trunk
configure terminal 进入配置状态
interface interface-Id 进入端口配置状态
switchport trunk encapsulation {isl | dot1q | negotiate}配置trunk封装ISL 或 802.1Q 或自动协商
switchport mode {dynamic {auto | desirable} | trunk} 配置二层trunk模式。
dynamic auto—自动协商是否成为trunk
dynamic desirable—把端口设置为trunk如果对方端口是trunk, desirable, 配置Native VLAN(802.1q)
或自动模式,trunk—设置端口为强制的trunk方式,而不理会对方端口是否为trunk
switchport access vlan vlan-id 可选) 指定一个缺省VLAN, 如果此端口不再是trunk
switchport trunk native vlan vlan-id 指定802.1Q native VLAN号
例:
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# interface fastethernet0/4
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk encapsulation dot1q
Switch(config-if)# end
定义TRUNK允许的VLAN
configure terminal子 进入配置状态
interface interface-id 进入端口配置
switchport mode trunk 配置二层口为trunk
switchport trunk allowed vlan {add | all | except | remove} vlan-list可选) 配置trunk允许的VLAN.使用add, all, except, remove关健字
no switchport trunk allowed vlan 允许所有VLAN通过

Switch(config)# interface fastethernet0/1
Switch(config-if)# switchport trunk allowed vlan remove 2
Switch(config-if)# end
配置Native VLAN(802.1q)
configure terminal 进入配置状态
interface interface-id 进入配置成802.1qtrunk的端口
switchport trunk native vlan vlan-Id 配置native VLAN号
no switchport trunk native vlan 端口配置命令回到缺省的状态
配置基于端口权值的负载均衡
configure terminal 进入Switch 1配置状态
vtp domain domain-name 配置VTP域
vtp mode server 将Switch 1配置成VTP server.
show vtp status 验证VTP的配置
show vlan 验证VLAN
configure terminal 进入配置状态
interface fastethernet 0/1 进入F0/1端口
switchport trunk encapsulation {isl | dot1q | negotiate}配置trunk封装
switchport mode trunk 配置成trunk
show interfaces fastethernet0/1 switchport 验证VLAN配置
按以上步骤对想要负载均衡的接口进行配置

在另一个交换机上进行此配置
show vlan 当trunk已经起来,在switch2上验证已经学到相的vlan配置
configure terminal 在Switch 1上进入配置状态
interface fastethernet0/1 进入要配置的端口
spanning-tree vlan 8 port-priority 10 将端口权值10赋与VLAN 8.
spanning-tree vlan 9 port-priority 10 将端口权值10赋与VLAN 9.
spanning-tree vlan 10 port-priority 10 将端口权值10赋与VLAN 10.
interface fastethernet0/2 进入F0/2
spanning-tree vlan 3 port-priority 10 将端口权值10赋与VLAN 3.
spanning-tree vlan 4 port-priority 10 将端口权值10赋与VLAN 4
spanning-tree vlan 5 port-priority 10 将端口权值10赋与VLAN 5
spanning-tree vlan 6 port-priority 10 将端口权值10赋与VLAN 10
end 退出
show running-config 验证配置
copy running-config startup-config 保存配置

配置STP路径值的负载均衡
Trunk1走VLAN8-10,Trunk2走VLAN2-4

configure terminal 进入 Switch 1配置状态
interface fastethernet 0/1 进入F0/1
switchport trunk encapsulation {isl | dot1q | negotiate}配置封装
switchport mode trunk 配置Trunk,缺省是ISL封装
exit 退回
在F0/2口上重复2-4步骤
exit 退回
show running-config 验证配置
show vlan验证switch1 已经学到Vlan
configure terminal 进入配置状态
interface fastethernet 0/1 进入F0/1
spanning-tree vlan 2 cost 30 设置Vlan2生成树路径值为30
spanning-tree vlan 3 cost 30 设置Vlan3生成树路径值为30
spanning-tree vlan 4 cost 30 设置Vlan4生成树路径值为30
end 退出
在switch1的F0/2上重复9-11步骤设置VLAN8,9,10生成树路径值为30
end 退出
show running-config 验证配置
copy running-config startup-config 保存配置
补充:CISCO命令集——路由选择协议及排障
*ip route命令

Router(config)# ip route <目录网络或子网号> [子网掩码] <下一路由器IP地址 | 从本地出口的地址> [管理距离0~255,默认为1]
(注:静态地址配置)

*ip default-network命令

Router(config)# ip default-network <目标网络号>
(注:配合路由协使用,用其中的一个动态路由号作默认路由配置)
Router(config)# ip route 0.0.0.0 0.0.0.0 <下一路由器IP地址 | 从本地出口的地址>
(注:只有一个公网地址时,在出口路由器上的配置)

*内部路由选择协议

*使用router和network命令

Router(config)# router <路由协议rip | igrp | eigrp | ospf | is-is等> [自主系统号]
Router(config-router)# network <直接相连的要用此路由协议的网络号>
Router(config-router)# network <直接相连的要用此路由协议的网络号>

*路由信息协议RIP

Router(config)# router rip
Router(config-router)# network <直接相连的要用rip协议的有类别网络号>
Router# show ip protocols
Router# show ip route
Router# debug ip rip

*内部网关路由协议IGRP

Router(config)# router igrp <自主系统号>
Router(config-router)# network <直接相连的要用igrp协议的有类别网络号>
Router# show ip interface
Router# show ip protocols
Router# show ip route
Router# debug ip rip

*排除网络故障

排除网络故障的一个总体模型

Router# ping <有故障的主机 | 有故障的IP地址>
Router# show ip route
Router# show interface <有故障的接口>
Router# show run

*IP的故故障排除

检查可用的路由

Router# show ip route <有故障的IP地址>
27.4.4 跟踪路由(Tracing the Route)
SUN-A> traceroute <有故障的主机 | 有故障的IP地址>
C:\windows\> winipcfg
C:\windows\> ipconfig
C:\windows\> ipconfig / all
C:\windows\> tracert <有故障的主机 | 有故障的IP地址>

使用扩展的ping来跟踪连接性

Router# ping

*其它可能的故障

一个地址解析(ARP)的故障

Router# show arp
Router# show interface <有故障的接口>
C:\windows\> arp -a
SUN-A> arp –a

验证终端系统的路由表
C:\windows\> netstat –rn
C:\windows\> route –f add 0.0.0.0 mask 0.0.0.0 <需要添加入的网关地址>
C:\windows\> route [–f ] [[print | add | delete | change] [destination] [mask netmask] [gateway]]
C:\windows\> route add mask <网络掩码> <网关ip地址>
C:\windows\> route delete mask <网络掩码> <网关ip地址>
C:\windows\> nbtstat <相应的参数>
SUN-A> netstat -rn路由器

分类: network 标签:

运行在TCP协议上的协议

2011年2月21日 没有评论
运行在TCP协议上的协议:

  • HTTP(Hypertext Transfer Protocol,超文本传输协议),主要用于普通浏览。
  • HTTPS(Hypertext Transfer Protocol over Secure Socket Layer, or HTTP over SSL,安全超文本传输协议),HTTP协议的安全版本。
  • FTP(File Transfer Protocol,文件传输协议),由名知义,用于文件传输。
  • POP3(Post Office Protocol, version 3,邮局协议),收邮件用。
  • SMTP(Simple Mail Transfer Protocol,简单邮件传输协议),用来发送电子邮件 。
  • TELNET(Teletype over the Network,网络电传),通过一个终端(terminal)登陆到网络。
  • SSH(Secure Shell,用于替代安全性差的TELNET),用于加密安全登陆用。
运行在UDP协议上的协议:

  • BOOTP(Boot Protocol,启动协议),应用于无盘设备。
  • NTP(Network Time Protocol,网络时间协议),用于网络同步。
其他:

  • DNS(Domain Name Service,域名服务),用于完成地址查找,邮件转发等工作(运行在TCP和UDP协议上)。
  • ECHO(Echo Protocol,回绕协议),用于查错及测量应答时间(运行在TCP和UDP协议上)。
  • SNMP(Simple Network Management Protocol,简单网络管理协议),用于网络信息的收集和网络管理。
  • DHCP(Dynamic Host Configuration Protocol,动态主机配置协议),动态配置IP地址。
  • ARP(Address Resolution Protocol,地址解析协议),用于动态解析以太网硬件的地址。
分类: network 标签:

TCP/IP各层之间的协议类型

2011年2月21日 没有评论

不同计算机运行的不同协议

  • 一个简单的路由器上可能会实现ARP,IP,ICMP,UDP,SNMP,RIP
  • WWW用户端使用ARP,IP,ICMP,UDP,TCP,DNS,HTTP,FTP
  • 一台用户电脑上还会运行如TELNET,SMTP,POP3,SNMP,ECHODHCPSSHNNTP
  • 无盘设备可能会在固件,比如ROM中实现了ARP,IP,ICMP,UDPBOOT,TFTP(均为面向数据包的协议,实现起来相对简单)。

下面的图表试图显示不同的TCP/IP和其他的协议在最初OSI模型中的位置:

7 应用层 例如HTTP、SMTP、SNMP、FTPTelnetSIPSSH、NFS、RTSPXMPP、Whois、ENRP
6 表示层 例如XDRASN.1SMBAFPNCP
5 会话层 例如ASAP、TLS、SSH、ISO 8327 / CCITT X.225、RPCNetBIOSASPWinsock、BSD sockets
4 传输层 例如TCP、UDP、RTPSCTPSPXATPIL
3 网络层 例如IP、ICMP、IGMP、IPX、BGP、OSPF、RIP、IGRP、EIGRP、ARP、RARP、 X.25
2 数据链路层 例如以太网令牌环、HDLC、帧中继、ISDN、ATMIEEE 802.11、FDDI、PPP
1 物理层 例如线路无线电、光纤、信鸽

 4层模型 

4 应用层
(OSI
5 到 7层)
例如HTTP、FTP、DNS
(如BGP和RIP这样的路由协议,尽管由于各种各样的原因它们分别运行在TCP和UDP上,仍然可以将它们看作网络层的一部分)
3 传输层
(OSI
4 和 5层)
例如TCP、UDPRTPSCTP
(如OSPF这样的路由协议,尽管运行在IP上也可以看作是网络层的一部分)
2 网络互连层
(OSI
3层)
对于TCP/IP来说这是因特网协议(IP)
(如ICMP和IGMP这样的必须协议尽管运行在IP上,也仍然可以看作是网络互连层的一部分;ARP不运行在IP上)
1 网络接口层
(OSI
1和2层)
例如以太网Wi-Fi、MPLS等。
分类: network 标签: , ,

HTTP协议及其POST与GET操作差异

2011年2月17日 3 条评论

HTTP协议我想任何IT人士都耳熟能详了,大家都能说出个所以然来。但是如果我问你HTTP协议的请求方法有哪些?POST与GET的差异?GET或POST传送数据量的大小有限制吗?HTTP响应的状态有哪些?

1、HTTP概述

为了唤醒你对HTTP协议的记忆或使你能够对HTTP协议有所了解,首先简单一下HTTP协议。超文本传输协议HTTPHyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。

HTTP的发展是万维网协会(World Wide Web Consortium)和Internet工作小组(Internet Engineering Task Force)合作的结果,(他们)最终发布了一系列的RFC,其中最著名的就是RFC 2616RFC 2616定义了HTTP协议中一个现今被广泛使用的版本——HTTP 1.1。

1.1、HTTP协议的客户端与服务器的交互

HTTP是一个客户端和服务器端请求和应答的标准(TCP)。客户端是终端用户服务器端是网站。通过使用Web浏览器、网络爬虫或者其它的工具,客户端发起一个到服务器上指定端口(默认端口为80)的HTTP请求。(我们称这个客户端)调用户代理(user agent)。应答的服务器上存储着(一些)资源,比如HTML文件和图像。(我们称)这个应答服务器为源服务器(origin server)。在用户代理和源服务器中间可能存在多个中间层,比如代理,网关,或者隧道(tunnel)。尽管TCP/IP协议是互联网上最流行的应用,HTTP协议并没有规定必须使用它和(基于)它支持的层。事实上,HTTP可以在任何其他互联网协议上,或者在其他网络上实现。HTTP只假定(其下层协议提供)可靠的传输,任何能够提供这种保证的协议都可以被其使用。

通常,由HTTP客户端发起一个请求,建立一个到服务器指定端口(默认是80端口)的TCP连接。HTTP服务器则在那个端口监听客户端发送过来的请求。一旦收到请求,服务器(向客户端)发回一个状态行,比如”HTTP/1.1 200 OK”,和(响应的)消息,消息的消息体可能是请求的文件、错误消息、或者其它一些信息。

HTTP使用TCP而不是UDP的原因在于(打开一个)一个网页必须传送很多数据,而TCP协议提供传输控制,按顺序组织数据,和错误纠正。通过HTTP或者HTTPS协议请求的资源由统一资源标识符(Uniform Resource Identifiers,或者,更准确一些,URI)来标识。

客户端与服务器端的结构与交互过程可以表示为下面2张图:

Web客户端-服务器端结构(其中web服务器的超文本链接,即通过网站上的一个链接跳转到了其他服务器上

HTTP请求的方法

HTTP/1.1协议中共定义了八种方法(有时也叫“动作”)来表明Request-URI指定的资源的不同操作方式:

  • OPTIONS
    返回服务器针对特定资源所支持的HTTP请求方法。也可以利用向Web服务器发送’*’的请求来测试服务器的功能性。
  • HEAD
    向服务器索要与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以在不必传输整个响应内容的情况下,就可以获取包含在响应消息头中的元信息。
  • GET
    向特定的资源发出请求。注意:GET方法不应当被用于产生“副作用”的操作中,例如在Web Application中。其中一个原因是GET可能会被网络蜘蛛等随意访问。
  • POST
    向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。
  • PUT
    向指定资源位置上传其最新内容。
  • DELETE
    请求服务器删除Request-URI所标识的资源。
  • TRACE
    回显服务器收到的请求,主要用于测试或诊断。
  • CONNECT
    HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。

HTTP响应的代码

 服务器程序响应的第一行叫状态行。状态行以HTTP版本号开始,后面跟着3位数字表示响应代码,最后是易读的响应短语。根据第一位可以把响应分成5类:

分类: network 标签: , ,