HTTP请求
Posted 小鹿可可乐
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTTP请求相关的知识,希望对你有一定的参考价值。
HTTP
1.HTTP工作原理
HTTP协议是超文本传输协议,是基于TCP/IP通信协议来传递数据(html文件,图片文件,查询结果等)
一个HTTP请求报文由请求行(request line)请求头(header)空行和请求数据四部分构成
1.1请求行
由请求方法字段,URL字段和HTTP协议版本字段3个字段构成
根据HTTP标准,可以使用多种请求方法
主要的三种请求方法:GET ,POST和HEAD
方法 | 描述 |
---|---|
GET | 请求指定的页面信息,并返回实体主体 |
POST | 向指定资源提交数据进行处理请求(提交表单或者上传文件)数据被包含在请求体中,POST请求可能会导致新的资源的建立和/或已有资源的修改 |
HEAD | 类似于GET请求,只不过返回的响应中没有具体的内容,用于获取报头 |
1.1.1 GET请求
- 当客户端要从服务器中读取文档时,当点击网页上的链接或者通过浏览器的地址栏输入网址来浏览网页,使用的都是GET方式。
- GET方法要求服务器将URL定位的资源放在响应报文的数据部分,回送给客户端。
- 不适合传送私密数据,账号密码都会显示出来 不安全,对数据保密性差。所以如果需要传送大量数据的时候,也不适合GET请求。
- (?)代表URL结束 和 请求参数的开始, 无请求数据
1.1.2 POST请求
可以允许客户端给服务器提供信息较多。可以传输大量数据,这样POST方式对传送的数据大小没有限制,也不会显示在URL中。
1.1.3 GET 和 POST区别(重要)
- GET提交的数据会在地址栏中显示出来,而POST提交,地址栏不会改变
- 传输数据大小:HTTP协议没有对传输的数据大小进行限制,HTTP协议规范也没有对URL长度进行限制。 **GET:**特定浏览器和服务器对URL长度有限制,对于GET提交时,传输数据就会受到URL长度的限制。 **POST:**由于不是通过URL传值,理论上数据不受限。但实际各个WEB服务器会规定对post提交数据大小进行限制。
- 安全性: POST的安全性要比GET的安全性高
1.2.请求头
请求头部由关键字/值对组成,每行一对,关键字和值用英文冒号:分隔。
- User-Agent:产生请求的浏览器类型
- Accept: 客户端可识别的内容类型列表
- Host: 请求的主机名,允许多个域名同处一个
- IP地址,即虚拟主机
1.3.空行
最后一个请求头之后是一个空行,发送回车符和换行符,通知服务器以下不再有请求头
1.4.请求数据(POST有)
请求数据不在GET方法中使用,而是在POST方法中使用。POST方法适用于需要客户填写表单的场合。与请求数据相关的最长使用的请求头Content-Type和Content-Length。
2.HTTP响应消息
状态行,响应头,空行,响应正文
2.1状态行
状态行通过状态码来说明所请求资源的资源情况
状态码有三位数字组成,第一个数字定义了响应的类别,且有五种可能取值。
- 1xx : 指示信息 – 表示请求已接收,继续处理
- 2xx : 成功 – 表示请求已被成功接收,理解
- 3xx : 重定向 – 要完成请求必须进行更进一步的操作
- 4xx : 客户端错误 – 请求有语法错误或请求无法实现
- 5xx : 服务器端错误 – 服务器未能实现合法的请求
今天也要好好学习呀~
以上是关于HTTP请求的主要内容,如果未能解决你的问题,请参考以下文章