http协议了解

http协议
  • 超文本传输协议
  • 传输客户端和服务器端
  • 定义了浏览器和万维网服务器之间互相通信的规则
  • 客户端发送的称为请求报文
  • 服务器发送的称为响应报文
会话方式
  • 四步骤
    • 建立连接
    • 发出请求信息
    • 回送响应信息
    • 关闭连接
  • 连接过程短暂,每次请求只处理一个请求和响应,对每个页面的访问,浏览器和web器都建立单独的连接
  • 浏览器到web服务器之间的所有通讯都是完全独立分开的请求和相应对
1.0和1.1的区别
  • 1.0下载图片会产生新的连接
  • 1.1允许下载所有资源再断开连接,提高效率
httpwatch
  • ie8以下没有提供监听http的功能,使用httpwatch即可
报文
  • 格式
    • 首部
    • 空行
    • 报文主体
  • 请求报文
    • 请求首行(请求行)
    • 请求头信息(请求头)
    • 空行
    • 请求体
  • get请求没有请求体
  • post把表单数据放到请求体中
GET /Hello/index.jsp HTTP/1.1
Accept: */*
Accept-Language: zh-CN
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)
Accept-Encoding: gzip, deflate
Host: localhost:8080
Connection: Keep-Alive
Cookie: JSESSIONID=C55836CDA892D9124C03CF8FE8311B15


POST /Hello/target.html HTTP/1.1
Accept: application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, */*
Referer: http://localhost:8080/Hello/
Accept-Language: zh-CN
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
Host: localhost:8080
Content-Length: 14
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: JSESSIONID=774DA38C1B78AE288610D77621590345

username=admin
响应报文
  • 组成
    -响应首行(响应行);
    -响应头信息(响应头);
    -空行;
    -响应体;

  • 响应码

  • 响应码对浏览器来说很重要,它告诉浏览器响应的结果;

    • 200:请求成功,浏览器会把响应体内容(通常是html)显示在浏览器中;
    • 404:请求的资源没有找到,说明客户端错误的请求了不存在的资源;
    • 500:请求资源找到了,但服务器内部出现了错误;
    • 302:重定向,当响应码为302时,表示服务器要求浏览器重新再发一个请求,服务器会发送一个响应头Location,它指定了新请求的URL地址;
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/html;charset=UTF-8
Content-Length: 274
Date: Tue, 07 Apr 2015 10:08:26 GMT


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" >
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>Hello</h1>
</body>
</html>
//HTTP/1.1 200 OK:响应协议为HTTP1.1,状态码为200,表示请求成功;
//Server: Apache-Coyote/1.1:服务器的版本信息;
//Content-Type: text/html;charset=UTF-8:响应体使用的编码为UTF-8;
//Content-Length: 274:响应体为274字节;
//Date: Tue, 07 Apr 2015 10:08:26 GMT:响应的时间,这可能会有8小时的时区差;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值