1.什么是http
http(超文本传输协议)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII码形式给出;而消息内容则具有一个类似MIME的格式。这个简单模型是早期Web成功的有功之臣,因为它使得开发和部署是那么的直截了当。
文本: html, 字符串,~
超文本:图片,音乐,视频,定位,地图.
端口:80
https:安全的
端口:443
2.两个时代
http1.0
HTTP/1.0: 客户端可以与web服务器连接后,只能获得一个web资源,断开连接
http2.0
HTTP/1.1: 客户端可以与web服务器连接后,可以获得多个web资源。
3.HTTP请求
客户端 --- 发请求 --- 服务器
Request URL:https://www.baidu.com/ Request Method:GET Status Code:200 OK Remote Address:182.61.200.7:443 Referrer Policy:no-referrer-when-downgrade
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 Accept-Encoding:gzip, deflate, br Accept-Language:zh-CN,zh;q=0.9 Cache-Control:max-age=0 Connection:keep-alive Cookie:BIDUPSID=04788C5B4813E4C5C47A9955A30D8635; BAIDUID=4AB7F1621DBAF6FDFBCF6C509B5A2764:FG=1; PSTM=1575610198; BD_UPN=123253; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; BDUSS=HJDZHJkNUdyck9TT3RTWVVXdUFXdk91ZEdCUWszVDNjTkE2a29zaWc1b1dBbnhlRUFBQUFBJCQAAAAAAAAAAAEAAAC~X-U2xL-x6srHxKPE4tPu1uYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABZ1VF4WdVReR; BDSFRCVID=RVuOJeC62R18lqbuoLTjutJaM2K2u9OTH6aIdMqsjiQbCmLj849sEG0Pof8g0KubTVMxogKK0eOTHkCF_2uxOjjg8UtVJeC6EG0Ptf8g0f5; H_BDCLCKID_SF=tJkOoK0afC83qPbv-P4_5bLSMMnXKK62aKDsoK5gBhcqEIL406LWhb_V5fnrB46tbgQK2CocttKB8UbSj4QzbMuLKU60Q4jmamJBVI-X-h5nhMJvb67JDMP0-ROpWRvy523ion5vQpnOEpQ3DRoWXPIqbN7P-p5Z5mAqKl0MLPbtbb0xb6_0D6bbDNttq6ts-5ny3bk8bP5jjb7kbITjhPrM0RjtWMT-0bFHbDDyaPjDfJ7s3-6h5MI_XH5iJJL8Ban7_JjY5p6aqncY0t5ThfAqea88bMQxtNRy0DnjtpvhHxbKXJ7obUPUDMo9LUvW02cdot5yBbc8eIna5hjkbfJBQttjQn3hfIkj0DKLK-oj-DD9j6-W3e; delPer=0; BD_CK_SAM=1; PSINO=1; BD_HOME=1; BDRCVFR[feWj1Vr5u3D]=I67x6TjHwwYf0; H_PS_645EC=68c1ciizXwKkqHFCrEDDdcLbOFgdvlycanId9PqKYhzblrxpOVLqb%2B3xmhBA1J8GTeRH; H_PS_PSSID=30749_1441_21119_30792_30903_30823_22157 Host:www.baidu.com Sec-Fetch-Dest:document Sec-Fetch-Mode:navigate Sec-Fetch-Site:none Sec-Fetch-User:?1 Upgrade-Insecure-Requests:1 User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36
》请求行
请求行中的请求方式: GET
请求方式: Get, Post, HEAD,DELETE,PUT,TRACT...
get: 请求能够携带的参数比较少,大小有限制,会在浏览器的URL地址栏显示数据内容,不安全,但高效
post: 请求能够携带的参数没有限制,大小没有限制,不会在浏览器的URL地址栏显示数据内容,安全,但不高效。
》消息头
Accept:告诉浏览器,它所支持的数据类型 Accept-Encoding:支持哪种编码格式GBK UTF-8 GB2312 IS08859-1 Accept-Language:告诉浏览器,它的语言环境 Cache-Control:缓存控制 Connection:告诉浏览器,请求完成是断开还是保持连接 HOST:主机.....
4.HTTP响应
服务器 --- 响应 --- 客户端
Bdpagetype:2 Bdqid:0xf5404b0d0006b1e0 Cache-Control:private Connection:keep-alive Content-Encoding:gzip Content-Type:text/html;charset=utf-8 Date:Thu, 27 Feb 2020 02:36:48 GMT Expires:Thu, 27 Feb 2020 02:36:48 GMT Server:BWS/1.1 Set-Cookie:BDSVRTM=102; path=/ Set-Cookie:BD_HOME=1; path=/ Set-Cookie:H_PS_PSSID=30749_1441_21119_30792_30903_30823_22157; path=/; domain=.baidu.com Strict-Transport-Security:max-age=172800 Traceid:1582771008051576090617672207457008923104 Transfer-Encoding:chunked X-Ua-Compatible:IE=Edge,chrome=1
》响应体
Accept:告诉浏览器,它所支持的数据类型 Accept- Encoding:支持哪种编码格式GBK UTF-8 GB2312 IS08859- 1 Accept-Language:告诉浏览器,它的语言环境 Cache-Control:缓存控制 Connection:告诉浏览器,请求完成是断开还是保持连接 HOST:主机..... Refresh:告诉客户端,多久刷新-次; Location:让网页重新定位;
》响应状态码
200:请求响应成功200
3xx:请求重定向
重定向:你重新到我给你新位置去;
4xx:找不到资源404
资源不存在;
5xx:服务器代码错误500 502:网关错误