HTTP协议

1.什么是HTTP?
  • HTTP(Hypertext transfer protocol))即超文本传输协议,是一种详细规定了浏览器和万维网(WWW)服务器之间相互通信,进行超文本(文本、图片、视频…)传输的通信规则。
2.HTTP的特点
  • HTTP协议属于TCP/IP模型中的应用层协议,包括请求和响应两部分,是一个标准的客户端服务器模型。
  • HTTP是无连接的,意味每次连接只处理一个请求,当服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
  • HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
  • HTTP协议是无状态协议,对于事务处理没有记忆能力。同时意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。
3.通过URL查看网页经历了哪些过程?

在这里插入图片描述

4.HTTP的工作流程

(1)输入URL,http规定了URL的格式,通过输入的URL提供的信息找到服务器。

(2)找到服务器的同时,浏览器作为HTTP客户端向HTTP服务端即WEB服务器发送请求,告诉服务器请求它做什么,同 样的http规定了请求的内容包括请求行、请求头、空行、请求体。

(3)服务器接收到请求后,进行后端处理,在数据库中查找相关记录。

(4)服务器处理完请求后会向浏览器做出响应,http规定了响应的信息包括响应行、响应头、空行、响应体

5.请求和响应

请求:

请求行:用来说明请求方式,请求地址以及所使用的HTTP版本

请求头:说明服务器要使用的附加信息

  • Accept:text/html ——客户端能接收的数据类型
  • Accept-Encoding:gzip, deflate ——客户端能接收的压缩数据的类型
  • Accept-Language:en-US,en;q=0.8 ——客户端接收的语言类型
  • Cache-Control:no-cache ——服务端禁止客户端缓存页面数据
  • Connection:keep-alive ——维护客户端和服务端的连接关系
  • Cookie: ——客户端暂存服务端的信息
  • Host:www.jnshu.com ——连接的目标主机和端口号
  • Pragma:no-cache ——服务端禁止客户端缓存页面数据
  • Referer:https://music.163.com/ ——当前页面的来源
  • User-Agent: ——客户端版本号的名字

在这里插入图片描述

空行:请求头和请求体之间的空行

请求体:请求的数据

响应:

响应行:由HTTP协议版本号, 状态码, 状态消息 三部分组成。

响应头:用来说明客户端要使用的一些附加信息

  • content-encoding: gzip ——压缩编码类型
  • content-language: zh-CN——服务端响应的语言
  • content-type: text/html;charset=utf8 ——服务端发送的类型及采用的编码方式
  • date: Sun, 11 Aug 2019 09:53:36 GMT ——客户端请求服务端的时间
  • last-Modified:Fri, 10 Feb 2019 09:46:23 GMT ——服务端对该资源最后修改的时间,GMT是格林尼治标准时间
  • server:nginx ——服务端的Web服务端名
  • expires: Thu, 01 Jan 1970 00:00:00 GMT ——应该在什么时候认为文档已经过期,从而不再缓存它?

在这里插入图片描述

空行:响应头和响应体之间的空行

响应体:服务端返回给客户端的文本信息。

6.状态码:
  • 1-- :信息,服务器收到请求,需要请求者继续执行操作
  • 2-- : 成功,操作被成功接收并处理(200 Ok)
  • 3-- :重定向,需要进一步的操作以完成请求
  • 4-- :客户端错误,请求包含语法错误或无法完成请求(404 No found)
  • 5-- :服务器错误,服务器在处理请求的过程中发生了错误(500 Internal Server Error)
7.GET和POST的区别

(1)GET参数通过URL传递,POST的参数放在request body中
(2) GET请求的参数是有长度限制的,而POST没有限制
(3)GET的安全性低于POST,由于参数暴露在URL中,所以不能传递敏感信息
(4)GET请求的参数会被保留在历史记录中,而POST不会
(5) GET请求只接受ASCLL字符,而POST 没有限制
(6) GET请求点击后退按钮或者刷新是无害的,而POST则会被重新提交
(7) GET请求可以被收藏为书签,可以缓存,POST不行

参考:https://www.cnblogs.com/qdhxhz/p/8468913.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值