javaWeb学习笔记之关于http

1、什么是http

http是一种超文本传输协议,是一个简单的请求--响应协议,通常运行在TCP之上

  • 文本:html,字符串等
  • 超文本:图片、音乐、视频、定位、地图等
  • 端口:主要是80

https:是安全的,区别于http,端口是443

http经历了两个时代:

  • http1.0:

    http/1.0:客户端可以与web服务器连接后,只能获得一个web资源,断开连接

  • http2.0:

    http/1.1:客户端可以与web服务器连接后,可以获得多个web资源

2、http请求

  • 客户端--发请求(request)--服务器

例子:

Request URL:https://www.baidu.com/ 请求地址 
Request Method:GET get方法/post方法 
Status Code:200 OK 状态码:200 
Remote(远程) Address:14.215.177.39:443 
Accept:text/html      //接受类型
Accept-Encoding:gzip, deflate,     //接受编码
Accept-Language:zh-CN,zh;q=0.9 	   //语言   
Cache-Control:max-age=0			  //缓存控制
Connection:keep-alive			 //连接状态,是否保持连接
2.1、请求行
  • 请求行中的请求方式:Get
  • 请求方式:Get、Post、DELETE、PUT、HEAD等
    • get请求可以携带的参数比较少,且大小有限制,会在浏览器的URL路径中显示数据内容,不安全,但是高效
    • post请求对携带的参数没有限制,大小也没有限制,不会在浏览器的URL路径中显示数据内容,安全,但是不搞笑
2.3、消息头
Accept:告诉浏览器,它所支持的数据类型 
Accept-Encoding:支持哪种编码格式 GBK UTF-8 GB2312 ISO8859-1 
Accept-Language:告诉浏览器,它的语言环境 
Cache-Control:缓存控制 
Connection:告诉浏览器,请求完成是断开还是保持连接 
HOST:主机..../.

3、http响应

服务端--响应--客户端

Cache-Control:private 缓存控制 
Connection:Keep-Alive 连接 
Content-Encoding:gzip 编码 
Content-Type:text/html 类型
3.1、响应体
Accept:告诉浏览器,它所支持的数据类型 
Accept-Encoding:支持哪种编码格式 GBK UTF-8 GB2312 ISO8859-1 
Accept-Language:告诉浏览器,它的语言环境 
Cache-Control:缓存控制 Connection:
告诉浏览器,请求完成是断开还是保持连接 
HOST:主机..../. Refresh:告诉客户端,多久刷新一次; 
Location:让网页重新定位;
3.2、响应状态码

200:请求响应成功

3XX:请求重定向

  • ​ 重定向:链接到新的地址

4XX:找不到资源 404

5XX:服务器代码错误 500服务器异常 502网关错误

4、考点

  • 当你的浏览器输入地址栏并请求的一瞬间到页面展示回来,经历了什么?

    • 我的理解:回车后客户端携带请求信息向服务器发送请求,服务端拿到请求信息去找资源后,将资源携带响应信息一起返回给客户端,客户端在进行也页面的渲染
  • 正确:

    • http请求阶段:
      1. 浏览器首先向DNS域名解析服务器发送请求(浏览器不能识别url地址,需要解析成IP地址)
      2. DNS反解析,根据浏览器请求地址中的域名,到DNS服务器找到对应的服务器外网IP地址
      3. 通过外网IP向对应的服务器发送请求
      4. tcp连接,三次握手
      5. 服务器收到请求,返回响应头和响应体
      6. 页面渲染
        以上就是关于http学习的相关笔记,最近又开始复习javaWeb,发现自己的基础并不扎实,于是又开始一边看B站up主狂神的视频一边记录笔记,每天记录一点每天进步一点。
posted @ 2020-08-03 11:50  Kepler(*^_^*)  阅读(141)  评论(0编辑  收藏  举报