计算机网络 — HTTP(请求Request与响应Response)
其他
2020-02-17 10:40:54
阅读次数: 0
欢迎访问笔者个人技术博客:
http://rukihuang.xyz/
一、HTTP概述
- 超文本传输协议(Hyper Text Transfer Protocol)
- 用于从万维网服务器传输超文本到本地浏览器的传输协议
- HTTP协议是基于TCP的应用层协议,它不关心数据传输的细节,主要是用来规定客户端和服务器的数据传输格式,最初是用来向客户端传输HTML页面的内容。默认端口是80。
- http是基于请求与响应模式的、无状态的、应用层的协议。
二、HTTP请求报文
2.1 请求报文概述(Request)
- HTTP请求报文主要由四部分组成
- 请求行:
- 请求头:附加的信息,需要服务器知道的一些信息
- 空一行
- 请求体(
get
请求方式没有请求体,post
请求体中存放需要提交的数据)
2.2 请求行
2.2.1 请求方法(Request Method)
请求方法 |
描述 |
GET |
请求资源 |
POST |
提交资源 |
Head |
获取响应头 |
PUT |
替换资源 |
DELETE |
删除资源 |
OPTIONS |
允许客户端查看服务器的性能 |
TRACE |
回显服务器收到的请求,用于测试或诊断 |
CONNECT |
HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器 |
2.2.2 URL
- 统一资源定位符:Uniform Resource Locator
- 格式:
schema://hosr[:port]/path/.../[?query-string]
schema
:协议,如http,https,ftp
host
:域名或者ip地址
port
:端口
path
:资源路径
query-string
:发送的参数
2.3 请求头(Request Header)
请求头 |
描述 |
Host |
主机ip地址或域名 |
User-Agent |
客户端相关信息,如操作系统、浏览器等信息 |
Accept |
指定客户端接收信息类型,如image/jpg,text/html,application/json |
Accept-Charset |
客户端接收的字符集,如gb2312,iso-8859-1 |
Accept-Encoding |
可接受的内容编码,如gzip |
Accept-Language |
接收的语言,如Accept-Language:zh-cn |
Authorization |
客户端提供给服务端,进行权限认证的信息 |
Cookie |
携带的cookie信息 |
Referer |
当前文档的URL,即从哪个链接过来的 |
Content-Type |
请求体内容类型,如Content-Type:application/json |
Content-Length |
数据长度 |
Cache-Control |
缓存机制,如Cache-Control:no-cache |
Pragma |
放置页面被缓存,和Cache-Control:no-cache作用一样 |
三、HTTP响应报文
3.1 响应报文概述(Response)
3.2 状态码(Status Code)
- 状态码用以表示网页服务器HTTP响应状态的3位数字代码
状态码 |
描述 |
1xx |
提示信息,请求被成功接收(中间状态,一般观察不到) |
2xx |
成功,请求被成功处理(200 ok) |
3xx |
重定向相关(304 缓存) |
4xx |
客户端错误(404 资源路径有误) |
5xx |
服务器端错误(500 程序有错) |
3.3 响应头(Response Header)
响应头 |
描述 |
Server |
HTTP服务器的软件信息 |
Date |
响应报文的时间 |
Expires |
指定缓存过期时间 |
Set-Cookie |
设置cookie |
Last-Modified |
资源最后修改时间 |
Content-Type |
响应的类型和字符集,如ContentType:text/html;Charset=utf-8 |
Content-Length |
内容长度 |
Connection |
如Keep-Alive,表示保持tcp连接不关闭,不会永久保持连接,服务器可设置 |
Location |
指明重定向的位置,新的url地址,如304情况 |
发布了116 篇原创文章 ·
获赞 105 ·
访问量 7071
转载自blog.csdn.net/weixin_43508544/article/details/103425733