目录
http的发展历史
http是什么? http://www.xxx.com
http协议(HyperText Transfer Protocol,超文本传输协议)是一种应用广泛的网络传输协 议。
http是一个基于TCP/IP通讯协议来传递数据(HTML文件,图片文件,查询结果等)。
http工作原理
http协议工作在客户端-服务端之间
主流的三个web服务器:Apache、 Nginx 、IIS。
http默认端口为80
http协议通信流程
输入url发生了什么?
- DNS解析:域名解析成ip:port
- TCP连接:三次链接:我要连接,你连接吧,那我连接呀
- 发送http请求
- 服务器处理请求
- 浏览器解析渲染⻚⾯
- 连接结束:四次握手
http之请求方法和响应头信息
http请求方法
- GET 请求指定的页面信息,并返回实体主体
- HEAD 类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头
- POST 向指定资源提交数据进行处理请求。数据被包含在请求体中。
- PUT 从客户端向服务器传送的数据取代指定的文档的内容
- DELETE 请求服务器删除指定的⻚⾯
- CONNECT HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
- OPTIONS 允许客户端查看服务器的性能:欲请求,第一次请求,如果不行,就不去连接
- TRACE 回显服务器收到的请求,主要用于测试或诊断
HTTP响应头信息
应答头 | 说明 |
---|---|
Allow | 服务器支持哪些请求方法(如get、post等) |
Content-Encoding | 文档的编码方法。只有在解码之后才可以得到Content-Type头指定的内容 类型。利用gzip压缩能减少HTML文档的下载时间。 |
Content-Length | 表示内容长度。只有当浏览器使用持久http连接时才需要这个数据。 |
Content-Type | 表示文档属于什么MIME类型。 |
Date | 当前的GMT时间。 |
Expires | 资源什么时候过期,不再缓存 |
Last-Modified | 文档最后改动时间。 |
Location | 重定向的地址 |
Server | 服务器的名字 |
Set-Cookie | 设置和页面关联的Cookie |
WWW-Authenticate | 定义了使用何种验证方式去获取对资源的链接 |
http之状态码和content-type
常见的http状态码
- 200 请求成功
- 301 资源被永久转移到其他URL
- 404 请求的资源(网页等)不存在
- 500 内部服务器错误
http状态码分为5类:
分类 | 分类描述 |
---|---|
1** | 信息,服务器收到请求,需要请求者继续执行操作 |
2** | 成功,操作被成功接收并处理 |
3** | 重定向,需要进一步的操作以完成请求 |
4** | 客户端错误,请求包含语法错误或无法完成请求 |
5** | 服务器错误,服务器在处理请求的过程中发生了错误 |
Content-Type 内容类型
常见的媒体格式类型如下
- text/html:HTML格式
- text/plain:纯⽂本格式
- text/xml:XML格式
- image/gif:gif图⽚格式
- image/jpeg:jpg图⽚格式
- image/png:png图⽚格式
- multipart/form-data:需要在表单中进行文件上传时,就需要使用该格式
以application开头的媒体格式类型:
- application/xhtml+xml:XHTML格式
- application/xml:XML数据格式
- application/atom+xml:Atom XML聚合格式
- application/json:JSON数据格式
- application/pdf:pdf格式
- application/msword:Word文档格式
- application/octet-stream:二进制流数据(常见的文件下载)
- application/x-www-form-urlencoded:表单中默认的encType,表单数据被编码为
- key/value格式发送到服务器