Servlet自学第14讲:深度剖析http请求

Http协议总述

  1. http是web开发(java web + PHP + .net)的基础,http协议是这些web开发的基础。
  2. 超文本传输协议(HyperText Transfer Protocol),基于TCP/IP协议(java网络编程也是基于TCP/IP,大部分是网络都是基于这个协议的),设计HTTP协议的最初目的是为了提供一种发布和接收html页面的方法
  3. http协议1.0 , 1.1版本 ,目前通用的是1.1版本
    http1.0 称为短连接,http1.1 称为长连接。
    所谓长,和短指的是 持续时间的 长连接 1.1 30s ,短连接是发送完数据就断掉.

http请求详解

总的来说包括:请求行 + 消息头(消息头的名称:消息头的内容) + 请求内容
Http请求的基本结构(这还不是完整的http请求):
GET /test/hello.html HTTP/1.1 [请求行]
Accept: / [消息名] 消息名:内容
Referer: http://localhost:8080/test/abc.html
Accept-Language: zh-cn
User-Agent: Mozilla/4.0
Accept-Encoding: gzip, deflate
Host: http://www.sohu.com:80
Connection: Keep-Alive [消息头格式 (消息名: 内容 )
特别说明: 并不是每一次请求的消息头都一样.]
【空行,与发送的内容隔开】
发送的内容 [格式 : 内容名字=内容体]
4. 请求方式
请求行中的GET称之为请求方式,请求方式有:POST,GET,HEAD,OPTIONS,DELETE,TRACE,PUT
常用的有:POST,GET
5. Http消息头详解
 http请求消息头
Accept: text/html,image/* [告诉服务器,我可以接受 文本,网页,图片]
Accept-Charset: ISO-8859-1 [接受字符编码 iso-8859-1]
Accept-Encoding: gzip,compress [可以接受 gzip,compress压缩后数据.]
Accept-Language: en-us,zh-cn [浏览器支持中,英文]
Host: www.sohu.com:80 [我要找主机是 www.sohu.com:80] If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT [ 告诉服务器,我的缓冲中有这个资源文件,该文件的时间是 。。。]
Referer: http://www.sohu.com/index.jsp [告诉服务器,我来自哪里,该消息头,常用于防止盗链] User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)[告诉服务器,浏览器内核]
Cookie [cookie??]
Connection: close/Keep-Alive [保持连接,发完数据后,我不关闭连接]
Date: Tue, 11 Jul 2000 18:23:51 GMT [浏览器发送该http请求的时间]

HTTP请求重要知识讲解

  1. 消息头referer,即通过本web应用访问的请求赋值给referer,可以防盗连,在实际中很管用,操作如下:
关于Referer的实际案例:
//获取用户浏览器Referer
        String referer=request.getHeader("Referer");
        if(referer==null||!referer.startsWith("http://localhost:8088/servletPro")){
            response.sendRedirect("/servletPro/Error");
            return;
        }
红色的部分可以根据实际情况来修改.(允许本网站的用户访问该资源)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值