http协议

http协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。

HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果,媒体等)。

HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。

1.http协议的主要特点

1、简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。

2、灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。

3.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

4.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

5、支持B/S及C/S模式。

http请求发法

http1.0定义了3种请求方法:get,post,head方法
http1.1新增了5种请求方法:options,put,delete,trace和connect方法

响应状态码

1:信息,服务器收到请求,需要请求这继续执行操作
2
:成功,操作被成功接收并处理
3:重定向,需要进一步的操作以完成请求
4
:客户端错误,请求包含语法错误或午饭完成请求
5**:服务器错误,服务器在处理请求的过程中发生了错误

常见状态码和说明:
200:请求成功,一般用于post和get请求
302 Fund:临时移动,资源只是临时被移动,客户端应继续使用原有URI
400 Bad Request:客户端请求有语法错误,不能被服务器所理解
401 Unauthorized:请求要求用户的身份认证
403 Forbidden:服务器理解用户端的请求,但是拒绝执行
404 Not Found:服务器无法根据客户端的请求,找到资源
500 Internal Server Error:服务器内部错误,无法完成请求
503 Server Unavailable:由于超载或系统维护,服务器暂时无法处理客户端请求

请求头与响应头

消息头:包含请求网址、请求方法、远程地址、状态码

Request URL: http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule
Request Method: POST
Status Code: 200 OK
Remote Address: 220.181.76.83:80
Referrer Policy: no-referrer-when-downgrade

请求头信息:
Accept:浏览器可接受的MIME类型
Accept-Encoding:浏览器能够进行解码的数据编码方式。比如gzip
Accept-Language:浏览器所希望的语言种类,当服务器能够提供一种以上的语言版本时会用到
Connection:表示是否需要持久连接。从http/1.1起,默认都开启了Keep-Alive,保持连接特性
Host:初始URL中主机和端口,它通常是从HTTP URL中提取出来的
User-Agent:请求报头域允许客户端将他的操作系统、浏览器和其他属性告诉服务器。

POST /translate_o?smartresult=dict&smartresult=rule HTTP/1.1
Host: fanyi.youdao.com
Connection: keep-alive
Content-Length: 217
Accept: application/json, text/javascript, */*; q=0.01
Origin: http://fanyi.youdao.com
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Referer: http://fanyi.youdao.com/
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: OUTFOX_SEARCH_USER_ID=-325924448@183.158.179.92; OUTFOX_SEARCH_USER_ID_NCOO=846557085.0798807; JSESSIONID=aaaw_hQNEwgTShAqt0fCw; ___rl__test__cookies=1541990975607

响应头:
Content-Type:表示后面的文档属于MIME类型
Date:当前GMT时间
Server:包含了服务器用来处理请求的软件信息

HTTP/1.1 200 OK
Server: nginx
Date: Mon, 12 Nov 2018 02:49:35 GMT
Content-Type: application/json; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding
Content-Encoding: gzip

这篇帖子强烈推荐:https://www.cnblogs.com/ranyonsue/p/5984001.html

posted on 2018-11-12 11:06  singleSpace  阅读(295)  评论(0编辑  收藏  举报