HTTP(Hyper Text Transfer Protocol,超文本传输协议),作用就是指导浏览器和服务器之间如何进行沟通。
浏览器server发起请求--服务器client在80端口(默认)接收请求--服务器返回内容(响应)--浏览器下载响应内容
请求与响应
请求的格式:
请求最多包含四部分,最少包含三部分。(也就是说第四部分可以为空)
第三部分永远都是一个回车(\n)
动词有 GET POST PUT PATCH DELETE HEAD OPTIONS 等
这里的路径包括「查询参数」,但不包括「锚点」
如果你没有写路径,那么路径默认为 /
第 2 部分中的 Content-Type 标注了第 4 部分的格式
用Chrome查看请求
响应
请求了之后,应该都能得到一个响应,除非断网了,或者服务器宕机了。
响应的格式:
状态码:是服务器对浏览器说的话
2XX 成功:请求被正常处理
200 OK
表示从客户端发来的请求在服务器端被正常处理
204 No Content
表示服务器接收的请求以成功处理,但没有资源可返回,即:响应报文中不含实体的主体部分
3XX 重定向: 服务器需要执行某些特殊处理以正确处理请求(即URI地址或者资源的缓存的资源有效时间过期)
301 Moved Permanently
永久性重定向:表示请求的资源已被分配了新的URI,以后应使用资源现在的URI,如果已经保存了书签,这时候应该按照Location首部提示的URI重新保存
302 Found
临时性重定向:表示请求的资源已被分配到了新的URI,希望(本次)能使用新的URI访问
304 Not Modified
表示客户端发送得附带条件的请求时,服务器运行请求访问,但未满足条件的情况,304返回时,不包含任何响应的主体部分
4XX客户端错误
401 Unauthorized
发送的请求需要有通过http认证(BASIC认证、DIGEST认证)的认证信息
404 Not Found
服务器上无法找到请求的资源
5XX服务器错误
用 Chrome 查看响应
curl命令的使用
curl命令是一个利用URL规则在命令行下工作的文件传输工具。它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称curl为下载工具。作为一款强力工具,curl支持包括HTTP、HTTPS、ftp等众多协议,还支持POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征。做网页处理流程和数据检索自动化,curl可以祝一臂之力。
请求示例curl -s -v -H "Frank: xxx" -- "https://www.baidu.com"
请求 响应curl -X POST -s -v -H "Frank: xxx" -- "https://www.baidu.com"
请求 响应curl -X POST -d "1234567890" -s -v -H "Frank: xxx" -- "https://www.baidu.com"
请求 响应
网友评论