JavaWeb之http协议

一、什么是Http协议?

客户端连接服务器端之后,若想获得web服务器中某个web资源,需遵循一定的通讯格式,HTTP协议就是定义客户端于服务器端进行通讯的格式。

HTTP(hypertext transfer protocol)(超文本传输协议)的简写,它是TCP/IP协议的应用层协议(OSI网络七层协议:应用层(HTTP、FTP、SMTP、POP3、TELNET)-》表示层 -》会话层 -》传输层(TCP/UDP) -》网络层(IP) -》数据链路层 -》物理层),用于定于客户端于服务器之间交换数据的过程。HTTP是JavaWeb的基石,不深入了解HTTP协议就不能说掌握了WEB开发,更无法管理和维护一些复杂的站点。HTTP使用请求-响应的方式进行传输,一个请求只能对应一个响应,并且请求只能由客户端发起的。

HTTP协议的版本:HTTP1.0:客户端与服务器建立连接后只能获得一个web资源,并且过后立马断开连接;HTTP1.1:允许客户端与服务器建立连接后获得多个web资源,等待一段时间断开连接。


二、HTTP请求

客户端连接服务器之后,想服务器请求某个web资源,称之为客户端向服务器发送一个http请求,一个完整的http请求内容包括:一个请求行、若干请求头、实体内容

 请求行
        GET /example/java.html HTTP/1.1
        GET:请求方式
           七种请求方式: POST、GET、HEAD、OPTIONS、DELETE、TRACE、PUT,但是常用的一般只有:POST/GET。GET请求方式和POST请求区别在于请求参数在传递的过程中方式不同。 如果是GET提交,请求参数将会附加在请求的URL后面作为请求地址的一部分带到服务器端,可以传输的数据大小有限制一般不允许超过1K。如果是POST提交,请求参数将会在http请求的实体内容中进行传输,这种方式传输的数据没有大小限制。利用form表单提交数据时,form表明明确的声明要用POST提交,这是请求参数就是POST提交,除此以外所有方式的请求参数都是GET提交。
        example/java.html: 请求的资源部分的名称
        HTTP/1.1:所遵循的协议版本

若干请求头
        Accept: */*    
        Accept-Charset: ISO-8859-1
        Accept-Encoding: gzip,compress
        Accept-Language: en-us,zh-cn 
        Host: www.it315.org:80
        If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT 
        Referer: http://www.it315.org/index.jsp
        User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
        Cookie
        Connection: close/Keep-Alive   
        Date: Tue, 11 Jul 2000 18:23:51 GMT
    
    实体内容

三、HTTP响应

一个HTTP响应代表服务器向客户端回送的数据:一个状态行、若干响应头(消息头)、实体内容


状态行

格式:HTTP版本号  状态码  原因叙述(不常用)

举例:HTTP/1.1 200 OK

状态码

含义

100~199

表示成功接收请求,要求客户端继续提交下一次请求才能完成整个处理过程

200~299

表示成功接收请求并已完成整个处理过程,常用200

300~399

为完成请求,客户需进一步细化请求。例如,请求的资源已经移动一个新地址,常用302、307和304

400~499

客户端的请求有错误,常用404

500~599

服务器端出现错误,常用 500


HTTP请求中的常用响应头
Location:http://www.it315.org/index.jsp
Server:apachetomcat
Content-Encoding:gzip
Content-Length: 80
Content-Language:zh-cn
Content-Type:text/html; charset=GB2312
Last-Modified:Tue, 11 Jul 2000 18:23:51 GMT
Refresh:1;url=http://www.it315.org
Content-Disposition:attachment;filename=aaa.zip
Transfer-Encoding:chunked 
Set-Cookie:SS=Q0=5Lb_nQ;path=/search
ETag:W/"83794-1208174400000"
Expires: -1
Cache-Control: no-cache 
Pragma: no-cache  
Connection:close/Keep-Alive  
Date:Tue, 11 Jul 2000 18:23:51 GMT


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值