一. 概念
1. HTTP协议
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,用于从万维网(WWW)服务器传输超文本到本地浏览器的传送协议,是互联网上应用最广泛的一种网络协议。
HTTP是一个客户端和服务器端(web服务器)请求和应答的标准,基于TCP/IP通信协议来传递数据,属于应用层的面向对象的协议(C/S架构),默认端口号是80。
HTTPS是基于TLS或SSL协议,默认端口号是443。
一次HTTP请求看作是一个事务,流程分四步:建立连接------发送请求------服务器响应------关闭连接。
2. 超文本
超文本文件就是采用HTML格式的文字,通过浏览器的解释,最后将图片、文字、连接、动画等显示在屏幕上,也就是包含多种文本。
二. 消息结构
1. request请求消息格式:请求行、请求头部(header)、空行、请求数据,eg:
请求行:请求方法 空格 URL 空格 协议版本号
请求头:是请求报文特有的,它们为服务器提供了一些额外信息,比如客户端希望接收什么类型的数据,如Accept头部。
2. response响应消息格式:状态行、消息报头、空行、响应正文,eg:
状态行:协议版本号 空格 状态码 空格 状态描述
三. HTTP两种常用方法: GET,POST
1. GET:一般用于获取、查询资源信息
- get 提交的参数拼在 URL 之后,以 ? 分割,多个参数之间用 & 分割
- get 提交的参数大小有限制,因为浏览器对 URL 的长度有限制,不同浏览器限制范围不同(HTTP 1.1中协议本身是不对 URI 长度做限制的)
- get 方式提交数据会有安全问题,因为直接拼接在 URL 上清晰可见
2. POST:一般用于更新资源信息
四. 常见响应状态码
200 表示响应成功,2开头的都和成功有关
302 表示请求的重定向,3开头的都和重定向有关
404 表示资源未找到,4开头的都是客户端的错误
500 表示服务器内部错误,5开头的都是服务器的错误