HTTP基础知识

1.HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准。

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

通信流程:

 

Http协议由Http请求和Http响应组成,当在浏览器中输入网址访问某个网站时, 你的浏览器会将你的请求封装成一个Http请求发送给服务器站点,服务器接收到请 求后会组织响应数据封装成一个Http响应返回给浏览器。即没有请求就没有响应。

2.HTTP请求与响应:

客户端发送一个HTTP请求到服务器的请求消息包括以下格式:请求行(request line)、请求头部(header)、空行和请求数据四个部分组成,例:

Accept:

text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8

Accept-Encoding:

gzip, deflate, br

Accept-Language:

zh-CN,zh;q=0.9

Connection://保持连接

keep-alive

Cookie://重要!

LIVE_BUVID=AUTO7915222124019414; fts=1522212425; sid=cz06a1ca; UM_distinctid=16276eceacd173-01185465e6e735-4446062d-100200-16276eceacf2e2; buvid3=6E5942CA-6BDB-4B0A-833D-869896A0D803691infoc; rpdid=kmkkkpxoswdosiipmolqw; CURRENT_QUALITY=80; finger=edc6ecda; DedeUserID=141366726; DedeUserID__ckMd5=b003b2db3538137a; SESSDATA=086350d0%2C1527560093%2C3ca951e5; bili_jct=185f065f6213a32ecbcc6566cea28a93

Host:

www.bilibili.com

Upgrade-Insecure-Requests:

1

User-Agent:

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36

服务端响应:状态行、消息报头、空行和响应正文,例:

HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT//可以用来识别网页内容是否更改,若无更改,则状态码为304,直接读取本地缓存
ETag: "34aa387-d-1568eb00"
Accept-Ranges: bytes
Content-Length: 51
Vary: Accept-Encoding
Content-Type: text/plain

常用的请求方法:GET POST

一般GET方法的请求字节长度会被浏览器或者服务器限制,而POST方法没有。

GET方法如果用于提交账户密码是不安全的,账户密码会被明文显示在URL中,另外网页访问默认是GET方式。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
    <form action="#" method="post">
        <input type="text" name="user">
        <input type="text" name="password">
        <input type="submit" value="提交">
    </form>
</body>
</html>

常见的状态码:

200 - 请求成功

301 - 资源(网页等)被永久转移到其它URL

404 - 请求的资源(网页等)不存在

500 - 内部服务器错误

posted @ 2018-05-03 19:09  0==1&1==0  阅读(431)  评论(0编辑  收藏  举报