http协议

http协议概述

讲解

什么是HTTP协议

HTTP HyperText Transfer Protocol( 超⽂本传输协议 ) 的简 写,传输HTML ⽂件。
HTTP 是互联⽹上⽤的最多的⼀个协议 , 所有的 www 开头的都是遵循这个协议的( 可能是 https)

HTTP协议的作⽤ 

HTTP 作⽤:⽤于定义 WEB 浏览器与 WEB 服务器之间 交换数据的过程 和数据本身的 内容
浏览器和服务器交互过程 : 浏览器请求 , 服务请求响应
请求 ( 请求⾏ , 请求头 , 请求体 )
响应 ( 响应⾏ , 响应头 , 响应体 )

⼩结

1. HTTP 协议 : 超⽂本传输协议,它就定义了客户端与服务器端进⾏交互时候的规则
2. HTTP 协议的作⽤ : 定义客户端与服务器端交互的过程以及传输的数据

请求部分

讲解

get⽅式请求 

【请求⾏】
GET /myApp/success.html?
username=zs&password=123456 HTTP/1.1
【请求头】
Accept: text/html, application/xhtml+xml, */*
X-HttpWatch-RID: 41723-10011
Referer: http://localhost:8080/myApp/login.html
Accept-Language: zh-Hans-CN,zh-Hans;q=0.5
User-Agent: Mozilla/5.0 (MSIE 9.0; qdesk
2.4.1266.203; Windows NT 6.3; WOW64;
Trident/7.0; rv:11.0) like Gecko
Accept-Encoding: gzip, deflate
Host: localhost:8080
Connection: Keep-Alive
Cookie: Idea-b77ddca6=4bc282fe-febf-4fd1-b6c9-
72e9e0f381e8

post请求

【请求⾏】
POST /myApp/success.html HTTP/1.1
【请求头】
Accept: text/html, application/xhtml+xml, */*
X-HttpWatch-RID: 37569-10012
Referer: http://localhost:8080/myApp/login.html
Accept-Language: zh-Hans-CN,zh-Hans;q=0.5
User-Agent: Mozilla/5.0 (MSIE 9.0; qdesk
2.4.1266.203; Windows NT 6.3; WOW64;
Trident/7.0; rv:11.0) like Gecko
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
Host: localhost:8080
Content-Length: 27
Connection: Keep-Alive
Cache-Control: no-cache
【请求体】
username=zs&password=123456

请求⾏

GET /myApp/success.html?
username=zs&password=123456 HTTP/1.1
POST /myApp/success.html HTTP/1.1
请求⽅式 (8 ,put,delete )
GET: 明⽂传输 , 不安全 , 参数跟在请求路径后⾯ , 对请求参数 ⼤⼩有限制,
POST: 暗⽂传输 , 安全⼀些 , 请求参数在请求体⾥ , 对请求参 数⼤⼩没有有限制,
URI: 统⼀资源标识符(即:去掉协议和 IP地址部分)       
协议版本 :HTTP/1.1

请求头

从第 2 ⾏到空⾏处,都叫请求头 , 以键值对的形式存在 , 但存在⼀个key 对应多个值的请求头 .
作⽤:浏览器告诉服务器⾃⼰相关的设置.
Accept: 浏览器可接受的 MIME 类型 , 告诉服务器客户端能接收什么样类型的⽂件。
User-Agent : 浏览器信息 .( 浏览器类型 , 浏览器的版本 ....)
Accept-Charset: 浏览器通过这个头告诉服务器,它⽀持哪种字符集
Content-Length: 表示请求参数的⻓度
Host: 初始 URL 中的主机和端⼝
Referrer : 从哪⾥⾥来的 ( 之前是哪个资源 ) 、防盗链
Content-Type : 内容类型 , 告诉服务器 , 浏览器传输数据的MIME类型,⽂件传输的类型 ,application/x-www-formurlencoded .
Accept-Encoding: 浏览器能够进⾏解码的数据编码⽅式, ⽐如gzip
Connection: 表示是否需要持久连接。如果服务器看到这⾥ 的值为“Keep -Alive” ,或者看到请求⽤的是 HTTP 1.1 (HTTP 1.1 默认进⾏持久连接 )
Cookie : 这是最重要的请求头信息之⼀ ( 会话技术 , 后⾯会有专⻔的时间来讲的)
Date Date: Mon, 22Aug 2011 01:55:39 GMT 请求时间
GMT

请求体

只有请求⽅式是 post 的时候 , 才有请求体 . post 请求时 , 请求 参数( 提交的数据 ) 所在的位置

⼩结 

1. 请求⾏
                1. 请求⽅式
                2. 请求路径
2. 请求头 : 它是由键值对构成
3. 请求体 : 只有 post 请求才有请求体, post 请求的请求体是 ⽤于携带请求参数的

响应部分

讲解

响应部分 

【响应⾏】
HTTP/1.1 200
【响应头】
Accept-Ranges: bytes
ETag: W/"143-1557909081579"
Last-Modified: Wed, 15 May 2019 08:31:21 GMT
Content-Type: text/html
Content-Length: 143
Date: Sun, 08 Dec 2019 02:20:04 GMT
【响应体】
<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
</head>
<body>
 Success
</body>
</html>

响应⾏

HTTP/1.1 200
协议 / 版本
响应状态码 ( 记住 - 背诵下来 )

200: 正常 , 跟服务器连接成功,发送请求成功
302: 重定向 ( 跳转 )
304: 读取缓存,表示客户机缓存的版本是最新的,客户机 可以继续使⽤它,⽆需到服务器请求. 读取缓存
403: forbidden 权限不够,服务器接收到了客户端的请 求,但是拒绝处理
404: 服务器接收到了客户端的请求,但是我服务器⾥⾯没 有你要找的资源

500: 服务器接收到了客户端的请求,也找到了具体的资源 处理请求,但是处理的过程中服务器出异常了

响应头

响应头以 key:vaue 存在 , 可能多个 value 情况 . 服务器指示浏览 器去⼲什么, 去配置什么 .
Location : http://www.it315.org/index.jsp 指示新的资源 的位置 , 通常和状态 , 302 ⼀起使⽤,完成请求重定向
Content-Type : text/html; charset=UTF-8; 设置服务器发 送的内容的MIME 类型 , ⽂件下载时候
a.mp3 b.mp4
Refresh : 5;url= http://www.baidu.com 指示客户端刷新 频率。单位是秒 eg: 告诉浏览器 5s 之后跳转到百度
Content-Disposition : attachment; filename=a.jpg 指示客户端( 浏览器 ) 下载⽂件
Content-Length:80 告诉浏览器正⽂的⻓度
Server:apachetomcat 服务器的类型
Content-Encoding: gzip 服务器发送的数据采⽤的编码类 型
Set-Cookie:SS=Q0=5Lb_nQ;path=/search 服务器端发送 的Cookie
Cache-Control: no-cache (1.1)
Pragma: no-cache (1.0) 表示告诉客户端不要使⽤缓存
Connection:close/Keep-Alive
Date:Tue, 11 Jul 2000 18:23:51 GMT

响应体

⻚⾯展示内容 , 和⽹⻚右键查看的源码⼀样

⼩结

1. 响应⾏:包含响应状态码
        1. 常⻅的响应状态码 :
                1. 200 OK
                2. 302 Redirect 重定向
                3. 304 Cache 读取缓存
                4. 400 BAD REQUEST 请求有问题( 可能是请求参数等等不符合规定)
                5. 403 Forbidden 拒绝处理
                6. 404 NOT FOUND 找不到资源
                7. 500 SERVER ERROR 服务器异常
2. 响应头 : 由多个键值对构成
3. 响应体 :
                1. 可以⽤于客户端⻚⾯的展示
                2. 可以⽤于下载
  • 51
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值