web 学习笔记8-HTTP协议,请求头,响应头

1、HTTP协议简单介绍:

HTTP是HyperText Transfer Protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程及数据本身的格式。
HTTP协议的版本
    HTTP/1.0(每次只处理一个请求)
    HTTP/1.1(可以处理多个请求,然后才关闭连接)

2、CS和BS:

软件开发的两种架构
Client(客户端程序)----------Server(数据库服务器)
Browser(浏览器)-------------Web Server(Servlet/Jsp)----------Darabase Server(数据库服务器)

随着网络带宽的不断提升,云计算概念的提出,浏览器只要足够强大,c/s架构立马就会被淘汰,
不仅c/s架构会被淘汰,软件最终都会消失、操作系统都可以没有,最终将会是b/s架构的天下,也就是浏览器+搜索引擎的天下。
所有现在桌面软件提供的功能,最后都由网站提供,
也就是说,将来打开电脑就是一个浏览器,想要什么服务,通过搜索引擎一找,就可以在网上找到相应的服务,用就是了。

3、请求和响应信息:

都由三部分组成
请求信息:
    a.请求行 (由3部分组成)
        1.请求的方式
        2.请求的资源地址
        3.请求协议
    b.请求头信息(2部分组成)
        1.头名称
        2.头值
    c.请求正文 (只有请求的类型是post才会有)
    例如:
        POST /app/a.html HTTP/1.1 请求行(请求方式  资源地址  协议版本)
        Accept: image/gif, image/jpeg, image/pjpeg, image/pjpeg, 请求头(头名称,头值)
        application/x-shockwave-flash, application/xaml+xml, application/vnd.ms-xpsdocument, application/x-ms-xbap, 
        Content-Type: application/x-www-form-urlencoded
        Cache-Control: no-cache

        name=abc&age=100 (请求正文)

响应信息:
    a.响应行(由3部分组成)
        1.响应协议
        2.状态吗
        3.状态信息
    b.响应头信息(2部分):
        a): 响应头
        b): 头值
    c.响应正文.
    例如:
        HTTP/1.1 200 OK  响应行(响应协议 状态码 状态信息)
        Server: Apache-Coyote/1.1  响应头 (头名称,头值)
        Accept-Ranges: bytes
        Content-Length: 13
        Date: Wed, 19 N 

        hello world!!  响应正文

4、get和post方式区别:

a.get方式请求参数会附加在url后,而post是看不到的,post相对安全
b.get方式对提交的数据大小有限制(1k),post方式对数据大小没有限制.

5、响应的状态码:

200 :Ok
302(307) : 请求重定向
304 : 未修改  
404: 找不到
500: 代码错误

6、地址栏回车,F5刷新及crtl+F5的区别

如果已经访问过了一个网页:localhost:8080/test/test.html
使用chrome浏览器,开发者工具-Network 查看

地址栏回车:status会显示304,服务端未修改。
F5刷新:会从缓存取数据
crtl+F5:不管有没有修改,都会从服务器取一份最新的。status会一直是200

7、请求头信息:

Accept: 浏览器告诉服务端, 浏览器可接受的MIME类型(很重要)
    MIME类型: 相当于操作系统下的文件类型。
    是由大类型和小类型组成: text/html;
    对应的关系在conf/web.xml中查询
Accept-Charset: 浏览器告诉服务端, 浏览器支持哪种字符集
Accept-Encoding: 浏览器告诉服务端, 浏览器能够进行解码的数据编码方式,比如gzip
Accept-Language: 浏览器告诉服务端,浏览器支持的语言种类
Host: 浏览器告诉服务端,浏览器所在的主机
Referer: 浏览器告诉服务端,当前页面从哪里来的。(很重要)
    用处: 
    1. 用来记录广告的信息  
    2. 防盗链
Content-Type: 浏览器告诉服务端 ,内容类型   If-Modified-Since: 浏览器告诉服务端修改的时间
Content-Length: 浏览器告诉服务端 请求正文内容长度
Connection: 浏览器告诉服务端,连接的状态
Cookie: 浏览器告诉服务端 ,浏览器携带的Cookie(特别重要)
Date: 浏览器告诉服务端,发送请求的时间

8、响应头信息:

Location : 服务端用来告诉浏览器,请求需要重定向.(必须结合状态码302使用)(很重要)
Server : 服务端用来告诉浏览器,服务器的类型
Content-Encoding: 服务端用来告诉浏览器,服务器对数据采用的编码(很重要)
Content-Length:  服务端用来告诉浏览器,响应正文的长度
Content-Language: 服务端用来告诉浏览器,zh-cn服务发送的文本的语言
Content-Type: 服务端用来告诉浏览器,你要用哪个码表来解析二进制数据(很重要)
Last-Modified : 服务端用来告诉浏览器,访问资源的最后修改时间(很重要)
Refresh:服务端用来告诉浏览器,多长时间刷新一次(很重要)
Content-Disposition: 服务端用来告诉浏览器,以下载文件的方式打开文件(很重要)
Expires: -1 : 服务端用来告诉浏览器,不要缓存 Cache-Control: no-cache (1.1)   Pragma: no-cache   (1.0)(很重要)
Set-Cookie: 服务端用来告诉浏览器,要存储的内容(特别重要)

9、myeclipse中使用tomcat:

myeclipse下载地址:直接在网页搜myeclipse,百度下载,直接安装就OK
myeclipse中配置tomcat的方法:(已经有了个tomcat7.0在我的电脑上)

a.Window-MyEclipse-Servers-Tomcat-Tomcat7.x
    选择你的tomcat路径
    将tomcat设置为Enable
    确定
b.启动tomcat,在界面有个图标可以Start启动
    控制台打印:信息: Server startup in 4452 ms 说明启动成功了
c.新建个web工程
    File-New-Web Project-Test,直接下一步,Finish
    新建一个com.test.servlet包
    在这个包下建个Servlet,右击-New-Servlet,名称ServletDemo1,继承javax.servlet.http.HttpServlet
    Finish
d.部署工程到tomcat中
    在myeclipse界面点击按钮
    Add你配置的tomcat服务器
    选择你要部署的工程
    OK
e.访问网址:http://localhost:8080/Test/servlet/ServletDemo1
    一切正常
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值