5. http协议简介、http请求以及响应介绍

网友投稿 259 2022-09-24

5. http协议简介、http请求以及响应介绍

5. 什么是HTTP协议

HTTP是HyperText Transfer Protocol(超文本传输协议)的简写,传输HTML文件。

HTTP是互联网上用的最多的一个协议, 所有的交换数据的过程 和 数据本身的 内容

浏览器和服务器交互过程: 浏览器请求, 服务请求响应

请求(请求行,请求头,请求体)

响应(响应行,响应头,响应体)

3.小结

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

/myApp/success.html?username=zs&password=123456 HTTP/1.1【请求头】Accept: text/html, application/xhtml+xml, */*X-HttpWatch-RID: 41723-10011Referer: zh-Hans-CN,zh-Hans;q=0.5User-Agent: Mozilla/5.0 (MSIE 9.0; qdesk 2.4.1266.203; Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like GeckoAccept-Encoding: gzip, deflateHost: localhost:8080Connection: Keep-AliveCookie: 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-10012Referer: zh-Hans-CN,zh-Hans;q=0.5User-Agent: Mozilla/5.0 (MSIE 9.0; qdesk 2.4.1266.203; Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like GeckoContent-Type: application/x-gzip, deflateHost: localhost:8080Content-Length: 27Connection: Keep-AliveCache-Control: no-cache【请求体】username=zs&password=123456

1. 请求行

请求行

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. 请求头

从第2行到空行处,都叫请求头,以键值对的形式存在,但存在一个key对应多个值的请求头.

作用:浏览器告诉服务器自己相关的设置.

Accept:浏览器可接受的MIME类型 ,告诉服务器客户端能接收什么样类型的文件。User-Agent:浏览器信息.(浏览器类型, 浏览器的版本....)Accept-Charset: 浏览器通过这个头告诉服务器,它支持哪种字符集Content-Length:表示请求参数的长度Host:初始URL中的主机和端口Referrer:从哪里里来的(之前是哪个资源)、防盗链Content-Type:内容类型,告诉服务器,浏览器传输数据的MIME类型,文件传输的类型,application/x--Alive”,或者看到请求使用的是HTTP 1.1(HTTP 1.1默认进行持久连接 )Cookie:这是最重要的请求头信息之一(会话技术, 后面会有专门的时间来讲的)Date:Date: Mon, 22Aug 2011 01:55:39 GMT请求时间GMT

3. 请求体

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

4.小结

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

200【响应头】Accept-Ranges: bytesETag: W/"143-1557909081579"Last-Modified: Wed, 15 May 2019 08:31:21 GMTContent-Type: text/htmlContent-Length: 143Date: Sun, 08 Dec 2019 02:20:04 GMT【响应体】 Title Success

1. 响应行

HTTP/1.1 200

协议/版本响应状态码

img

200:正常,跟服务器连接成功,发送请求成功

302:重定向(跳转)

304:读取缓存,表示客户机缓存的版本是最新的,客户机可以继续使用它,无需到服务器请求. 读取缓存

403: forbidden 权限不够,服务器接收到了客户端的请求,但是拒绝处理

404:服务器接收到了客户端的请求,但是我服务器里面没有你要找的资源

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

2. 响应头

响应头以key:vaue存在, 可能多个value情况. 服务器指示浏览器去干什么,去配置什么.

Location: 通常和状态码302一起使用,完成请求重定向Content-Type: text/html; charset=UTF-8; 设置服务器发送的内容的MIME类型,文件下载时候

a.mp3   b.mp4

Refresh: 5;url=指示客户端刷新频率。单位是秒  eg: 告诉浏览器5s之后跳转到百度Content-Disposition: attachment; filename=a.jpg  指示客户端(浏览器)下载文件Content-Length:80 告诉浏览器正文的长度Server:apachetomcat 服务器的类型Content-Encoding: gzip服务器发送的数据采用的编码类型Set-Cookie:SS=Q0=5Lb_nQ;path=/search服务器端发送的CookieCache-Control: no-cache (1.1)Pragma: no-cache  (1.0)  表示告诉客户端不要使用缓存Connection:close/Keep-AliveDate:Tue, 11 Jul 2000 18:23:51 GMT

3. 响应体

页面展示内容, 和网页右键查看的源码一样

4.小结

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. 可以用于下载

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:苹果双11再办发布会推更多新品 与英特尔15年联盟宣告终结!
下一篇:​8. Servlet入门 - 使用Maven创建javaweb工程、使用web.xml配置路径、使用注解方式配置路径...
相关文章

 发表评论

暂时没有评论,来抢沙发吧~